C语言各章节知识点总结
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机等级考试 二级 C 语言知识点总结
作者:李俊萩
西南林学院计科系
第一部分 “C 语言基础知识”知识点
1、C 程序的基本结构
C程序是由函数构成的。每个程序由一个或多个函数组成,其中必须有且仅有一个主函数main( )。 main 函数是一个可执行 C 语言程序的入口和正常出口,而不论其在整个程序中书写的位置如何。 在 C 语言中,大小写字母是有区别的。(例如习惯使用小写字母定义变量,用大写字母定义常量)。 C 程序的注释有两种方法,一种是行注释,使用“//”;另外一种是块注释,使用“/* */”,注意 “/*”与“*/”不能嵌套使用。 C 语言书写较为灵活,但是提倡采用缩进格式进行程序书写,以体现语句之间的层次感。 C 程序每条语句以“分号”作为结束标志。以下几种情况不得使用分号: (1) 所定义的函数名称后不得使用分号; (2) if…else…语句是一个整体,中间不能使用分号将其分隔开; (3) 预编译命令后不能使用分号。
注意 2:scanf()的格式控制字符串中的普通字符不是用来显示的, 而是输入时要求照普 通字符原模原样输入。
注意 3:scanf()中参数的第二部分一定是地址列表,不能是表达式。 注意 4:字符和数值混合输入且二者中间没有分隔符,需注意何时加空格。例如:已定义 char x; int y; scanf(“%c%d”, &x, &y); 此时从键盘输入时,字符和整数之间需加空格;
(3) 实型变量 用“float”、“double”定义实型变量,其中 float 型占用 4 个字节的存储空间,double 型占用 8 个字节的存储空间。
8、表达式
表达式具有广泛的含义,根据运算符不同,有赋值表达式、算术表达式、逻辑表达式、关系表达式等, 甚至单独的一个常量或一个变量也是一个表达式。
(8) 逗号运算符(,)
功能为从左至右依次计算由逗号隔开的各表达式的值,最后一个表达式的值即为整个逗号
表达式的值。是优先级最低的运算符。
(9) 条件运算符(? :)
这是 C 语言中唯一的一个三目运算符,其形式为:<表达式 1> ? <表达式 2> :<表达式 3>
(10) 求字节运算符 sizeof
(1) 字符型变量 用“char”定义字符型变量,字符型变量存放 1 个字节的数值。对于无符号字符型变量,取值 范围是 0~255,对于有符号字符型变量,取值范围是-128~+127。
(2) 整型变量 用“int”、“short”、“long”定义整型变量,其中 int 型和 long 型占用 4 个字节的存储空间,short 型占用 2 个字节的存储空间。
(3)
(4) (5)
实型常量 两种表现形式——小数表示形式、指数表示形式(由“十进制小数”+“e 或 E”+“十进制 整数”组成,注意:e 或 E 的两侧必须有数,其后必须为整数) 字符串常量(用双引号括起来的零个或者若干多个字符) 编译系统会在字符串的最后添加‘\0’作为字符串的结束符。比较’a’和”a”的不同。 符号常量:例如 #define PI 3.14159
7、变量
变量必须“先定义、后使用”。变量代表计算机内存中一定大小的存储空间,具体代表多少字节的存 储空间示变量的类型而定,该存储空间中存放的数据就是变量的值。
注意:变量定义后如果未赋初值,则变量的初值是随机数。因此变量应该先赋值再使用才有意义。为 变量赋值的几种方法:①初始化;②赋值语句;③调用标准输入函数从键盘为变量赋值。
侧表达式的值为 1(真),则该运算符右侧的表达式被“短路”。
(7) 位运算符(~、^、&、|、<<、>>)
只适用于字符型和整数型变量。是 C 语wk.baidu.com具有低级语言能力的体现。
注意:不能混淆逻辑与运算符“&&”和按位与运算符“&”;逻辑或运算符“||”和按位
或运算符“|”;逻辑非运算符“!”和按位取反运算符“~”。
char 型占 1 个字节、short 型占 2 个字节、long 型和 float 型占 4 个字节、double 型占 8 个字节。
6、常量
(1) (2)
字符型常量(用单引号括起来的一个字符) 两种形式——普通字符、转义字符(掌握‘\n’、‘\0’、‘\t’、‘\\’、‘\’’、‘\”’、‘\ddd’、‘\xhh’) 不论普通字符,还是转义字符,都等价于 0-127 之间的某个整数,即 ASCII 码表。 整型常量 三种表示形式——十进制形式、八进制形式(加前导 0)、十六进制形式(加前导 0x) 注意:C 语言的整型常量没有二进制表示形式。
scanf(“%c”, &a); 等价于 a = getchar( ); printf(“%c”, b); 等价于 putchar(b);
4、选择结构
(1)
if 语句
if 语句的三种形式——单分支选择结构、双分支选择结构、多分支选择结构。
单分支选择结构:
if(表达式) 语句体;
易错点 易错点
注意:if 语句的表达式很多时候是关系表达式,不要将“==”号误用成“=”号。 说明 1:表达式两侧的小括号不能省略,此表达式可以是 C 语言中任意合法的表达式,只
而 scanf(“%d%c”, &y, &x); 此时从键盘输入时,整数和字符之间不能加空格。 getchar()函数的使用
函数原型为:char getchar(void); 例如:char a; a=getchar( ); 该函数使用时关注函数的返回值。 putchar()函数的使用
函数原型为:char putchar(char); 例如:putchar(‘A’); 该函数使用时关注函数的参数。 printf( )、scanf( )、getchar( )、putchar( )这四个函数都属于标准输入输出库函数,调用时需在 程序中包含头文件 stdio.h。 例如已定义:char a, b=’A’; 则以下函数调用等价
(6) 逻辑运算符(!、&&、||)
运算逻辑表达式时,当参与运算的数“非 0 表示真”、“0 表示假”;表达式的解“1 表示真”、
“0 表示假”。
注意:“短路特性”的含义。如果逻辑与“&&”运算符左侧表达式的值为 0(假),则该
运算符右侧的表达式被“短路”,即运算过程被计算机省略掉;如果逻辑或“||”运算符左
要表达式的值为非零(真),就执行其后的语句体;否则,结束 if 语句。 说明 2:由于“if(表达式)”和“语句体”是一个整体,在语法上看作一条语句,因此在“(表
达式)”后面不能加“;”,如果加了分号,则 if 语句的语句体就成了空语句。 说明 3:“if(表达式)”会自动结合一条语句,如果语句体有多于一条语句时,必须使用复
合语句,即用大括号将多条语句括起来。
说明 4:为了表示语句体从属于 if,书写时,应使语句体与关键字 if 的位置有缩进。
双分支选择结构(二选一):
if(表达式) 语句体 1;
else 语句体 2;
(2)
说明 1:表达式只写在关键字 if 的后面,不能写在 else 的后面。
关系运算符(>、<、>=、<=、==、!=) 注意:不能混淆赋值运算符(=)和关系运算符中的等于号(==)。前者是做赋值操作, 后者是判断两个数是否相等。
关系表达式的值只有“逻辑真(用数值 1 表示)”和“逻辑假(用数值 0 表示)”两种情
况。
如果表达式的值为实型,不能使用“==”或者“!=”判断两个值相等还是不相等。
9、运算符
(1) (2) (3)
★ (4)
(5)
算术运算符(+、-、*、/、%) 除号(/)——当除数和被除数都为整数时,相除的结果自动取整。 求余号(%)——要求“%”号的两侧必须是整数,不能是实数。
赋值运算符( = ) 格式“变量 = 表达式”,表示将表达式的值赋值到变量对应的存储空间里。 注意:赋值号“=”的左侧必须是变量,不能是常量或者表达式。
复合赋值运算符(+=、-=、*=、/=、%=) 由算术运算符和赋值运算符组成,是两个运算符功能的组合。例如:a += a + c;
自增、自减运算符(++、- -)表达式 当自增、自减运算符单独使用时放在变量前面或者后面没有区别。 例如:++i; 等价于 i++; 等价于 i=i+1; 自增、自减运算符与其它运算符共同存在于表达式中时,放在变量前和变量后有区别。 例如:若定义 int i = 3, j; 则 j = ++i; 语句执行后 i 的值为 4,j 的值为 4。 则 j = i++; 语句执行后 i 的值为 4,j 的值为 3。
注意:不能混淆求字节运算符 sizeof 和字符串长度库函数 strlen( )。前者是运算符,后者
是函数。sizeof(“Hello”)的值为 6,而 strlen(“Hello”)的返回值为 5。
(11) 各种运算符混合运算时的优先级排队口决
非、 算、
关、
与、 或、 赋、 逗
! * / % + - > >= < <= == != && || = , (12) 数据类型的强制转换
地址列表通常是不省略的,根据“格式控制字符串”中包含多少个格式说明符,地址列表 中就有几个地址。对于普通变量,需在变量名前加上取地址符“&”,数组名前不需加“&”。
注意 1:scanf()函数的“格式控制字符串”中不能包含“转义字符”,否则将引起输入无效。 如 scanf (“%d\n”, &a);是错误的。
4、C 语言中标识符的命名规则
标识符由字母、数字、下划线组成;规定第一个字符必须为字母或下划线。 标识符定义的变量名、函数名、常量名等最好做到“见名知义”;大小写代表不同含义;不能使 用关键字;最好不要与 C 语言的库函数同名。
5、C 语言的数据类型
C 语言的数据类型由基本类型和复杂类型构成。其中基本数据类型包括字符型(char)、整型(int, short,long)、实型(float,double);复杂数据类型包括指针类型、数组、结构体、联合体。
2、C 程序开发步骤
C 语言在计算机上的开发过程主要由以下四个步骤组成: 第一步:编辑。生成后缀名为“.c”的源文件 第二步:编译。生成后缀名为“.obj”的目标文件 第三步:连接。生成后缀名为“.exe”的可执行文件 第四步:运行。
3、VC++6.0 开发工具的使用
按下功能键 Ctrl+F7 编译程序;按下功能键 F7 连接程序;按下功能键 Ctrl+F5 运行程序;若程 序在编译和连接过程中有语法错误,则按下功能键 F4 定位错误所在行并根据错误提示信息改正错误 (原则是先解决 error,再解决 warning)。
2、程序的三种基本结构
顺序结构、选择结构、循环结构
3、顺序结构
难点 (1) printf()函数的使用 一般形式为:printf("格式控制字符串",输出项列表);
难点 (2)
(3) (4) (5) (6)
其中“格式控制字符串”包含三类字符——普通字符(即原模原样输出的字符,主要用于做 提示信息)、格式说明符(以“%”开头)、转义字符(以“/”开头) 输出项列表是可以省略的,当“格式控制字符串”中没有“格式说明符”时,输出项列表省 略;若是有“格式说明符”时,输出项列表不能省略,并且有几个格式说明符,输出项列表 就必须有几个对应数据类型的表达式,各表达式之间用逗号隔开。 需要掌握的格式说明符有:%c、%d、%f、%s、%u、%o、%x、%ld、%lf、%e、%% scanf()函数的使用 一般形式为:scanf("格式控制字符串",地址列表); 其中“格式控制字符串”包含两类字符——普通字符(需从键盘原模原样输入的字符,一般 起分隔和提示作用)、格式说明符(以“%”开头)
格式:(转换类型名)表达式。 注意:类型名两侧的小括号不能省略,表达式示情况而定可以增加小括号。
第二部分 “C 程序的三种基本结构”知识点
1、语句
C 语言的语句分为四类:①简单语句(分为表达式语句、函数调用语句);②空语句;③复合语句(由 一对大括号括起来的一条或多条语句,复合语句在语法上视为一条语句);④控制语句(分为结构化语句, 如 if 语句、switch 语句、while 语句、do-while 语句、for 语句;非结构化语句,如 break 语句、continue 语句、return 语句、goto 语句)。
作者:李俊萩
西南林学院计科系
第一部分 “C 语言基础知识”知识点
1、C 程序的基本结构
C程序是由函数构成的。每个程序由一个或多个函数组成,其中必须有且仅有一个主函数main( )。 main 函数是一个可执行 C 语言程序的入口和正常出口,而不论其在整个程序中书写的位置如何。 在 C 语言中,大小写字母是有区别的。(例如习惯使用小写字母定义变量,用大写字母定义常量)。 C 程序的注释有两种方法,一种是行注释,使用“//”;另外一种是块注释,使用“/* */”,注意 “/*”与“*/”不能嵌套使用。 C 语言书写较为灵活,但是提倡采用缩进格式进行程序书写,以体现语句之间的层次感。 C 程序每条语句以“分号”作为结束标志。以下几种情况不得使用分号: (1) 所定义的函数名称后不得使用分号; (2) if…else…语句是一个整体,中间不能使用分号将其分隔开; (3) 预编译命令后不能使用分号。
注意 2:scanf()的格式控制字符串中的普通字符不是用来显示的, 而是输入时要求照普 通字符原模原样输入。
注意 3:scanf()中参数的第二部分一定是地址列表,不能是表达式。 注意 4:字符和数值混合输入且二者中间没有分隔符,需注意何时加空格。例如:已定义 char x; int y; scanf(“%c%d”, &x, &y); 此时从键盘输入时,字符和整数之间需加空格;
(3) 实型变量 用“float”、“double”定义实型变量,其中 float 型占用 4 个字节的存储空间,double 型占用 8 个字节的存储空间。
8、表达式
表达式具有广泛的含义,根据运算符不同,有赋值表达式、算术表达式、逻辑表达式、关系表达式等, 甚至单独的一个常量或一个变量也是一个表达式。
(8) 逗号运算符(,)
功能为从左至右依次计算由逗号隔开的各表达式的值,最后一个表达式的值即为整个逗号
表达式的值。是优先级最低的运算符。
(9) 条件运算符(? :)
这是 C 语言中唯一的一个三目运算符,其形式为:<表达式 1> ? <表达式 2> :<表达式 3>
(10) 求字节运算符 sizeof
(1) 字符型变量 用“char”定义字符型变量,字符型变量存放 1 个字节的数值。对于无符号字符型变量,取值 范围是 0~255,对于有符号字符型变量,取值范围是-128~+127。
(2) 整型变量 用“int”、“short”、“long”定义整型变量,其中 int 型和 long 型占用 4 个字节的存储空间,short 型占用 2 个字节的存储空间。
(3)
(4) (5)
实型常量 两种表现形式——小数表示形式、指数表示形式(由“十进制小数”+“e 或 E”+“十进制 整数”组成,注意:e 或 E 的两侧必须有数,其后必须为整数) 字符串常量(用双引号括起来的零个或者若干多个字符) 编译系统会在字符串的最后添加‘\0’作为字符串的结束符。比较’a’和”a”的不同。 符号常量:例如 #define PI 3.14159
7、变量
变量必须“先定义、后使用”。变量代表计算机内存中一定大小的存储空间,具体代表多少字节的存 储空间示变量的类型而定,该存储空间中存放的数据就是变量的值。
注意:变量定义后如果未赋初值,则变量的初值是随机数。因此变量应该先赋值再使用才有意义。为 变量赋值的几种方法:①初始化;②赋值语句;③调用标准输入函数从键盘为变量赋值。
侧表达式的值为 1(真),则该运算符右侧的表达式被“短路”。
(7) 位运算符(~、^、&、|、<<、>>)
只适用于字符型和整数型变量。是 C 语wk.baidu.com具有低级语言能力的体现。
注意:不能混淆逻辑与运算符“&&”和按位与运算符“&”;逻辑或运算符“||”和按位
或运算符“|”;逻辑非运算符“!”和按位取反运算符“~”。
char 型占 1 个字节、short 型占 2 个字节、long 型和 float 型占 4 个字节、double 型占 8 个字节。
6、常量
(1) (2)
字符型常量(用单引号括起来的一个字符) 两种形式——普通字符、转义字符(掌握‘\n’、‘\0’、‘\t’、‘\\’、‘\’’、‘\”’、‘\ddd’、‘\xhh’) 不论普通字符,还是转义字符,都等价于 0-127 之间的某个整数,即 ASCII 码表。 整型常量 三种表示形式——十进制形式、八进制形式(加前导 0)、十六进制形式(加前导 0x) 注意:C 语言的整型常量没有二进制表示形式。
scanf(“%c”, &a); 等价于 a = getchar( ); printf(“%c”, b); 等价于 putchar(b);
4、选择结构
(1)
if 语句
if 语句的三种形式——单分支选择结构、双分支选择结构、多分支选择结构。
单分支选择结构:
if(表达式) 语句体;
易错点 易错点
注意:if 语句的表达式很多时候是关系表达式,不要将“==”号误用成“=”号。 说明 1:表达式两侧的小括号不能省略,此表达式可以是 C 语言中任意合法的表达式,只
而 scanf(“%d%c”, &y, &x); 此时从键盘输入时,整数和字符之间不能加空格。 getchar()函数的使用
函数原型为:char getchar(void); 例如:char a; a=getchar( ); 该函数使用时关注函数的返回值。 putchar()函数的使用
函数原型为:char putchar(char); 例如:putchar(‘A’); 该函数使用时关注函数的参数。 printf( )、scanf( )、getchar( )、putchar( )这四个函数都属于标准输入输出库函数,调用时需在 程序中包含头文件 stdio.h。 例如已定义:char a, b=’A’; 则以下函数调用等价
(6) 逻辑运算符(!、&&、||)
运算逻辑表达式时,当参与运算的数“非 0 表示真”、“0 表示假”;表达式的解“1 表示真”、
“0 表示假”。
注意:“短路特性”的含义。如果逻辑与“&&”运算符左侧表达式的值为 0(假),则该
运算符右侧的表达式被“短路”,即运算过程被计算机省略掉;如果逻辑或“||”运算符左
要表达式的值为非零(真),就执行其后的语句体;否则,结束 if 语句。 说明 2:由于“if(表达式)”和“语句体”是一个整体,在语法上看作一条语句,因此在“(表
达式)”后面不能加“;”,如果加了分号,则 if 语句的语句体就成了空语句。 说明 3:“if(表达式)”会自动结合一条语句,如果语句体有多于一条语句时,必须使用复
合语句,即用大括号将多条语句括起来。
说明 4:为了表示语句体从属于 if,书写时,应使语句体与关键字 if 的位置有缩进。
双分支选择结构(二选一):
if(表达式) 语句体 1;
else 语句体 2;
(2)
说明 1:表达式只写在关键字 if 的后面,不能写在 else 的后面。
关系运算符(>、<、>=、<=、==、!=) 注意:不能混淆赋值运算符(=)和关系运算符中的等于号(==)。前者是做赋值操作, 后者是判断两个数是否相等。
关系表达式的值只有“逻辑真(用数值 1 表示)”和“逻辑假(用数值 0 表示)”两种情
况。
如果表达式的值为实型,不能使用“==”或者“!=”判断两个值相等还是不相等。
9、运算符
(1) (2) (3)
★ (4)
(5)
算术运算符(+、-、*、/、%) 除号(/)——当除数和被除数都为整数时,相除的结果自动取整。 求余号(%)——要求“%”号的两侧必须是整数,不能是实数。
赋值运算符( = ) 格式“变量 = 表达式”,表示将表达式的值赋值到变量对应的存储空间里。 注意:赋值号“=”的左侧必须是变量,不能是常量或者表达式。
复合赋值运算符(+=、-=、*=、/=、%=) 由算术运算符和赋值运算符组成,是两个运算符功能的组合。例如:a += a + c;
自增、自减运算符(++、- -)表达式 当自增、自减运算符单独使用时放在变量前面或者后面没有区别。 例如:++i; 等价于 i++; 等价于 i=i+1; 自增、自减运算符与其它运算符共同存在于表达式中时,放在变量前和变量后有区别。 例如:若定义 int i = 3, j; 则 j = ++i; 语句执行后 i 的值为 4,j 的值为 4。 则 j = i++; 语句执行后 i 的值为 4,j 的值为 3。
注意:不能混淆求字节运算符 sizeof 和字符串长度库函数 strlen( )。前者是运算符,后者
是函数。sizeof(“Hello”)的值为 6,而 strlen(“Hello”)的返回值为 5。
(11) 各种运算符混合运算时的优先级排队口决
非、 算、
关、
与、 或、 赋、 逗
! * / % + - > >= < <= == != && || = , (12) 数据类型的强制转换
地址列表通常是不省略的,根据“格式控制字符串”中包含多少个格式说明符,地址列表 中就有几个地址。对于普通变量,需在变量名前加上取地址符“&”,数组名前不需加“&”。
注意 1:scanf()函数的“格式控制字符串”中不能包含“转义字符”,否则将引起输入无效。 如 scanf (“%d\n”, &a);是错误的。
4、C 语言中标识符的命名规则
标识符由字母、数字、下划线组成;规定第一个字符必须为字母或下划线。 标识符定义的变量名、函数名、常量名等最好做到“见名知义”;大小写代表不同含义;不能使 用关键字;最好不要与 C 语言的库函数同名。
5、C 语言的数据类型
C 语言的数据类型由基本类型和复杂类型构成。其中基本数据类型包括字符型(char)、整型(int, short,long)、实型(float,double);复杂数据类型包括指针类型、数组、结构体、联合体。
2、C 程序开发步骤
C 语言在计算机上的开发过程主要由以下四个步骤组成: 第一步:编辑。生成后缀名为“.c”的源文件 第二步:编译。生成后缀名为“.obj”的目标文件 第三步:连接。生成后缀名为“.exe”的可执行文件 第四步:运行。
3、VC++6.0 开发工具的使用
按下功能键 Ctrl+F7 编译程序;按下功能键 F7 连接程序;按下功能键 Ctrl+F5 运行程序;若程 序在编译和连接过程中有语法错误,则按下功能键 F4 定位错误所在行并根据错误提示信息改正错误 (原则是先解决 error,再解决 warning)。
2、程序的三种基本结构
顺序结构、选择结构、循环结构
3、顺序结构
难点 (1) printf()函数的使用 一般形式为:printf("格式控制字符串",输出项列表);
难点 (2)
(3) (4) (5) (6)
其中“格式控制字符串”包含三类字符——普通字符(即原模原样输出的字符,主要用于做 提示信息)、格式说明符(以“%”开头)、转义字符(以“/”开头) 输出项列表是可以省略的,当“格式控制字符串”中没有“格式说明符”时,输出项列表省 略;若是有“格式说明符”时,输出项列表不能省略,并且有几个格式说明符,输出项列表 就必须有几个对应数据类型的表达式,各表达式之间用逗号隔开。 需要掌握的格式说明符有:%c、%d、%f、%s、%u、%o、%x、%ld、%lf、%e、%% scanf()函数的使用 一般形式为:scanf("格式控制字符串",地址列表); 其中“格式控制字符串”包含两类字符——普通字符(需从键盘原模原样输入的字符,一般 起分隔和提示作用)、格式说明符(以“%”开头)
格式:(转换类型名)表达式。 注意:类型名两侧的小括号不能省略,表达式示情况而定可以增加小括号。
第二部分 “C 程序的三种基本结构”知识点
1、语句
C 语言的语句分为四类:①简单语句(分为表达式语句、函数调用语句);②空语句;③复合语句(由 一对大括号括起来的一条或多条语句,复合语句在语法上视为一条语句);④控制语句(分为结构化语句, 如 if 语句、switch 语句、while 语句、do-while 语句、for 语句;非结构化语句,如 break 语句、continue 语句、return 语句、goto 语句)。