计算机c语言基础知识

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机c语言基础知识相关的知识,希望对你有一定的参考价值。

参考技术A

   计算机c语言的特性

  C语言是世界上最流行、使用最广泛的高级程序设计语言之一。在操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。C语言的主要特性有以下几种:

  1、C是高级语言:它把高级语言的基本结构和语句与低级语言的实用性结合起来。

  2、C是结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。

  3、C语言功能齐全:具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。

  4、C语言适用范围大:适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。

  5、C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性。

  6、C语言创始人D.M.Ritchie6、C语言文件由数据序列组成:可以构成二进制文件或文本文件常用的C语言IDE有Microsoft Visual C++,Dev-C++,Code::Blocks,Borland C++,Watcom C++,Borland C++ Builder,GNU DJGPP C++,Lccwin32 C Compiler 3.1,High C,Turbo C,C-Free,win-tc,xcode等。

   计算机c语言的语法结构

  1.顺序结构

  顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构。

  2.选择结构

  选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。

  3.循环结构

  循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do while循环和for循环。

  4.模块化程序结构

  C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。

   计算机c语言基础知识

  【知识点1】C程序

  C语言程序结构有三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch)

  【知识点2】main函数

  每个C语言程序中main 函数是有且只有一个。读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

  【知识点3】存储形式

  计算机的数据在电脑中是以二进制的形式保存。最低的存储单元是bit(位),位是由为 0 或者1构成。 byte 是指字节, 一个字节 = 八个位。数据存放的位置就是它的地址。

  【知识点4】注释

  是对程序的说明,可出现在程序中任意合适的地方,注释从“/*”开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。

  【知识点5】书写格式

  每条语句的后面必须有一个分号,分号是语句的一部分。一行内可写多条语句,一个语句可写在多行上。

  【知识点6】标识符

  合法的用户标识符考查:

  合法的要求是由字母,数字,下划线组成。有其它元素就错了。

  并且第一个必须为字母或则是下划线。第一个为数字就错了。

  C语言标识符分如下3类

  (1)关键字。它们在程序中有固定的含义,不能另作他用。如int、for、switch等。

  (2)预定义标识符。预先定义并具有特定含义的标识符。如define、include等。

  (3)用户标识符。用户根据需要定义的标识符,符合命名规则且不与关键字相同。

  关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If 是可以做为用户标识符。因为If 中的\'第一个字母大写了,所以不是关键字。

  【知识点7】实型数据

  实型数据的合法形式:小数形式和指数形式。掌握判定指数形式合法性。

  2.333e-1 就是合法的,且数据是2.333×10-1。

  考试口诀:e 前e 后必有数,e 后必为整数。

  【知识点8】字符

  字符数据的合法形式::

  '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

  '0' 的ASCII 数值表示为48,'a' 的ASCII 数值是97,'A'的ASCII 数值是65。

  字符型和整数是近亲:

  char a = 65 ;

  printf(“%c”, a); 得到的输出结果:a

  printf(“%d”, a); 得到的输出结果:65

  一般考试表示单个字符错误的形式:'65' "1"

  字符是可以进行算术运算的,记住: '0'-0=48

  大写字母和小写字母转换的方法: 'A'+32='a' 相互之间一般是相差32。

  【知识点9】整型数据

  整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节:

  考试时候一般会说,在16 位编译系统,或者是32 位系统。碰到这种情况,不要去管,

  一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4 个字节就可以了。

  【知识点10】转义字符

  转义字符的考查:

  在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x 必须存在。

  在程序中 int a = 06d, 是一个八进制的形式。

  在转义字符中, ’x6d’ 才是合法的,0 不能写,并且x 是小写。

  ‘141’ 是合法的, 0 是不能写的。

  ‘108’是非法的,因为不可以出现8。

  【知识点11】算术运算

  算术运算符一共有+、—、*、/、%这五个。%符号两边要求是整数。不是整数就错了。

  三种取整丢小数的情况:不是四舍五入是舍掉小数部分。

  1、int a =1.6;

  2、(int)a;

  3、1/2; 3/2;

  【知识点12】强制类型转换

  将一个运算对象转换成指定类型,格式为(类型名)表达式

  一定是 (int)a 不是 int(a),注意类型上一定有括号的。

  注意(int)(a+b) 和(int)a+b 的区别。前是把a+b 转型,后是把a 转型再加b。

  【知识点13】赋值

  是表达式就一定有数值。

  赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。

  复合赋值运算符:注意:a*=m+2 是 a=a*(m+2)

  自加、自减表达式:假设a=5,++a(表达式的值为6), a++(表达式的值为5);

  j=a++;等价于j=a;a=a+1; 而j=++a;等价于a=a+1;j=a;。

  考试口诀:++在前先加后用,++在后先用后加。

  【知识点14】逗号运算

  逗号表达式:优先级别最低; 表达式的数值逗号最右边的那个表达式的数值。

  (2,3,4)的表达式的数值就是4。

  【知识点15】数制转换

  一定要记住二进制 如何转换成十进制。

  八进制是没有8 的,逢8 进1,018 的数值是非法的。

  【知识点16】位运算

  会有一到二题考试题目。

  C语言提供6种位运算符:按位求反~,按位左移<<,按位右移>>,按位与&,按位异或|,按位或^。

  总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)。

  异或运算的规则:0异或1得到1,0异或0得到0,1异或1得到0。可记为“相同为0,不同为1”。

  在没有舍去数据的时候,<<左移一位表示乘以2;>>右移一位表示除以2。

C语言程序设计做题笔记之C语言基础知识(下)

C 语言是一种功能强大、简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务。我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事。并且C是相当灵活的,用于执行计算机程序能完成的几乎所以的任务,包括会计应用程序、字处理程序、游戏、操作系统等。它不仅是更高级语言(如C++) 的基础,目前还以Objective C的形式开发手机应用程序。目前,C语言最新版本由ISO/IEC 9899:2011 文档定义。           数据结构+算法=程序

  • 1.1 C程序和程序设计   

   (1)以下叙述中错误的是:

         A) C程序经过编译、连接步骤之后才能形成一个正真可以执行的二进制机器指令文件

         B) 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

         C) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

         D) C语言源程序经编译后生成后缀为.obj的目标程序

       分析: C    在C语言中非执行语句(如:宏定义在预编译之后替换到代码中,该命令本身也就不存在了)

                     a. 源程序文件的后缀为 .c      b.源程序经过C编译生成后缀为 .obj的二进制文件(目标文件)  c.把目标文件与C语言各种库函数连接起来生成后缀 .exe的可执文件

 

   (2)以下叙述中错误的是:

        A) 结构化程序由顺序、分支、循环三种基本结构组成

        B) C语言是一种结构化程序设计语言

        C) 使用三种基本结构构成的程序只能解决简单问题

        D) 结构化程序设计提倡模块化的设计方法

         分析:  C   由3种基本结构组成的算法可以解决任何复杂的问题

                    (......后面还有好多题目,就不一一写了)

 

 做题笔记知识归纳:

      (1)算法:是指为解决某个特定问题而采取的确定且有限的步骤,在C语言中一个算法是用函数来实现的,即一个C语言程序可以实现多种算法。

 

      (2)算法具有5个特征:  1.有穷性    2.确定性    3.可行性     4.有零个或多个输入   5.一个或多个输出

 

      (3)算法的描述有: 1.流程图    2.盒图(如N-S图)  3.伪代码   4. 文字描述   5.程序代码描述

 

      (4)计算机不能直接处理C语言程序只能处理二进制代码。

 

      (5)每一个C语言文件或函数都可以单独编译,但只有main函数的才可以执行。


  • 1.2 程序的构成、main函数和其他函数  

  (1)以下叙述中错误的是:

         A) C程序在运行过程中所有计算都以二进制方式进行

 

         B) 所有C程序都需要编译链接无误后才能进行运行

 

         C) C程序在运行过程中所有计算机都以十进制方式运行

 

         D) C程序中字符变量存放的是字符的ASCII值

 

         分析: C     计算机程序都是编译为二进制的代码,计算机才会执行。

 

   (2)以下叙述中正确的是:

        A) 在C程序中main函数的位置是固定的

 

        B) C程序中所有函数之间都可以互相调用

 

        C) 每个C程序文件中必须要有一个mian函数

 

        D) 在C程序的函数中不能定义另一个函数

 

        分析:D     主函数可以调用程序中的其他函数,而其他函数不可以调用main函数。

                       C语言规定,不能在函数的内部定义函数。

              (......后面还有好多题目,就不一一写了)

      

      做题笔记知识归纳:

 

      (1)关键字 sizeof用于测试不同类型变量所占的内存空间,返回所占的字节数。  sizeof(是测试内存的运算符)

 

 

      (2)在C语言中规定,允许函数的嵌套调用,即递归调用。

 

 

      (3)在C语言中,不能存在过程的概念。

 

 

      (4)在C语言中,函数允许单独编译,可以为单独文件形式存在。

 

 

     (5)用函数作为 程序模块以实现C程序的模块化,程序有多个 函数构成,每个 函数可以实现一个具体的功能,实现程序的模块化设计,故C语言用函数实现软件的模块化。

 

 

     (6)调用函数的位置和调用没有直接关系


 

  • 1.3  程序的注释、书写格式及C语言风格

 

 

     (1)以下四个程序中,完全正确的是:

         A)             #include <stdio.h>

                          main();

                         {  /*/ Programming

                            /*/ printf("Programming!\n");}

        

          B)             #include <stdio.h>

                          main()

                         {  /* Programming */

                            printf("Programming!\n");}

 

         C)              #include <stdio.h>

                          main();

                         {  /*/* Programming */*/

                            printf("Programming!\n");}

 

         D)               #include <stdio.h>

                          main();

                         {  /* Programming */

                            printf("Programming!\n");}

 

         分析: B      main()后面不用跟分号(;),规定在注释之间不可以在嵌套 "/*"和"*/"。

 

   (2)以下叙述中正确的是:

        A) C程序书写格式严格,要求一行内只能写一个语句

 

        B) 简单C语句必须以分号结束

 

        C) C语言程序中的注释必须与语句写在同一行

 

        D) C程序中的注释只能出现在程序的开始位置和语句的后面

 

        分析:B      C语言书写格式自由,一行内可写多条语句,一条语句也可以写在同行上,可以写一行或多行。

                       每条语句和数据定义的最后必须有一个分号。

                       C语言编写程序有很多的可移植性,可以放在多个程序文件中。

              (......后面还有好多题目,就不一一写了)

      

      做题笔记知识归纳:

 

      (1)程序可以包含一种或者几种结构,不是必须包含三种结构,并且这三种基本结构能解决复杂的问题也能解决小规模的问题。

 

 

      (2)goto语句的使用会使程序容易发生错误不易读。

 

 

      (3)在数值常量中不允许夹带空格。

 

 

      (4) C语句后面要加分号(;),不加分号不能看成C语句。


 

  • 1.4  标识符、常量和变量

  (1)以下选项中不合法的标识符是:

         A) FOR

 

         B) &a

 

         C) print

 

         D) _00

 

         分析: B      标识符要满足字符为 a~z 以及 A~Z、数字字符 0~9和下划线,其中数字不能开头,不能是关键字。 大小写是两种不同的字符。

 

   (2)以下选项中,能用作数据常量的是:

        A) 115L

 

        B) 0018

 

        C) 1.5e1.5

 

        D) o115

 

        分析:A     数据常量可有:   1.10进制    2.8进制数(数字0~7)    3.16进制   4.指数法(指数部分须为整型)

                    

              (......后面还有好多题目,就不一一写了)

      

      做题笔记知识归纳:

 

      (1)变量是指在程序运行过程中,其值能被改变的量。

 

 

      (2)在C语言中,没有定义逻辑类型,0代表假,非零代表真。

 

 

      (3) 符号常量:在C语言中,用一个符号名来表示一个常量,称为符号常量。一般在程序中利用宏定义来定义符号变量。

 

 

      (4)标识符就是C语言中的变量名、函数名、数组名、文件名、类型名等。


 

 

  • 1.5和1.6   整型数据和实型常量、变量

   (1)以下选项中,合法的一组C语言数值常量是:

         A)  12.0Xa23 4.5e0

 

         B)  028 .5e-3 -0xf

 

         C) .177 4e1.5 0abc

 

         D) 0x8A 10,000 3.e5

 

         分析: A     浮点数据的指数形式表示常量中,C语言规定字母 e或E之前必须要有数字,且 e或E之后的指数必须为整数。

 

   (2)以下选项中合法的实型常量是:

        A)  .914

 

        B)  3.13e-2.1

 

        C) 0

 

        D) 2.0*10

 

        分 析:A     实型常量又称实数或浮点数。  在C语言中可以用小数形式或指数形式两种形式表示一个实型常量。  1.小数形式:由数字和小数点组成的一种实数表示形式。例如 0.345、.123、0.0等是合法的实数。这种形式必须要有小数 点。                                                                                                                              2.指数形式:在C语言中,用“e”或“E”后跟一个整数来表示以10为底的幂函数,注意C语言规定字母 e或E之前必须要有数字,且 e或E之后的指数必须为整数。

              (......后面还有好多题目,就不一一写了)

      

      做题笔记知识归纳:

 

      (1)变量可以定义在程序中任何地方,属于不同的变量。


 

 

  • 1.7 字符型常量及字符变量

(1)以下定义语句中正确的是:

         A) char A=65+1,b=‘b‘;

 

         B) int a=b=0;

 

         C) float a=1,*b=&a,*c=&b;

 

         D) double a=0.0; b=1.1;

 

         分析: A     对变量声明类型且赋值的情况是不允许出现的,必须单独定义且赋值。  C语言允许在一个类型说明后说明多个相同类型的变量,各变量之间要用逗号(,)隔开,而不是用分号(;)隔开。

                      在计算机存储字符是姜字符相应的ASCII码以其对应的二进制进行存放。

 

   (2)以下选项中非法的C语言字符常量是:

        A) ‘9‘

 

        B) ‘\09‘

 

        C) ‘\x09‘

 

        D) ‘\x9d‘

 

        分 析:B     一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来,也可以为转义字符,转义字符又称反斜线字符,这些字符常量总 是以一个反斜线开头后跟一个特定字符,用来代表某一个特定的ASCII字符,这些字符常量也必须括在一对单引号内,其中反斜线后的八进制数可以不用0开 头,但是不能出现8和9字符出现。反斜线后的16进制只可由小写字母x开头。

              (......后面还有好多题目,就不一一写了)

      

      做题笔记知识归纳:

 

      (1)每一个字符变量被分配一个字符的内容空间,只能存放一个字符。

 

 

      (2)‘\ddd‘  3位八进制代表一个ASCII字符 也可以 ‘\xhh‘2位16进制代表一个ASCII字符。


 先休息会,待会在写下篇试题题笔记..........

以上是关于计算机c语言基础知识的主要内容,如果未能解决你的问题,请参考以下文章

C语言程序设计做题笔记之C语言基础知识(下)

计算机二级C语言公共基础知识,以及习题总结

我的全栈之路-C语言基础之C语言概述与开发环境搭建

计算机二级C语言公共基础知识,以及习题总结查找和排序

谁帮我整理一些C语言的基础知识,谢谢!!

C语言基础知识