2022年期末复习C语言知识点归纳 .pdf
《2022年期末复习C语言知识点归纳 .pdf》由会员分享,可在线阅读,更多相关《2022年期末复习C语言知识点归纳 .pdf(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、名师精编优秀资料期末复习 C语言知识点归纳一、概述1. 一个 C语言源程序可以由一个或多个函数组成, 有且只有 1 个main() 函数, 可以放在程序中的任何位置. 2. 一个 C程序不论有几个函数, 都是从 main() 函数开始执行 . 3. 标识符按照 C语言所定义的规则来命名的符号。规则 : 由字母、数字、下划线组成,但第一个字符必须是字母或下划线。例如 : area、a234、_1234 为合法标识符 456P、a-b、a+b 为非法标识符注意 : 标识符区分大小写。例如 : PAGE 和 page 是两个不同的标识符。4.c 语言有 32 个关键字,关键字不能用作用户标识符。5.
2、 C 源程序文件的扩展名.c 。6.VC+6.0 下 c 语言程序的完整实现过程包括4 个基本步骤 : 编辑源程序编译源程序构建(链接)形成可执行文件(.exe )精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 47 页名师精编优秀资料运行可执行文件 . 二、数据类型、表达式1.c 语言中,整型、字符型、实型是最基本的数据类型. 2. 常量指在程序运行中,其值不能被改变。分为整型常量、实型常量、字符常量、字符串常量。整型常量C语言中主要有十进制、八进制、十六进制等。十进制例如 12 、-3 、32767 等。八进制用数字 0 开头,由
3、0-7 这 8 个数字组成。例如 010 、016 为合法八进制数 127、018 为非法八进制数十六进制用数字 0 和字母 x 或 X开头,用 0-9 表示前 10 个数字 , 字母 A-F( 可小写 ) 表示后 6 个数字。例如 0 xAF、0 x10、0 x34 为合法十六进制数 100、ABC 、0 xAFH为非法十六进制数注意 : C语言中只有十进制数可以为负数。实型常量表示方式有两种 : 小数形式和指数形式。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 47 页名师精编优秀资料小数形式例如 : 0.123、.123 、12
4、3. 都是合法形式。指数形式例如 : 2.3026 可用以下任何一种指数表示 0.23026E1、2.3026e0 、23.026E-1 但下面的指数形式为非法 E3、.5e3.6 、2.3e -2(e和-2 间有空格 ) 符号常量用符号名来表示一个常量。格式 : #define 符号名常量值例: 已知圆的半径为5.0 ,计算圆的面积 ( 圆周率取 3.14) 。#include #define PI 3.14 main() double r, s; r=5.0; s=PI*r*r; printf(“s=%fn ”,s); 精选学习资料 - - - - - - - - - 名师归纳总结 - -
5、 - - - - -第 3 页,共 47 页名师精编优秀资料C语言中整型常量的3 种表示 : 8 进制以 0 引导 ,16 进制以 0 x 或0X引导 , 十进制不能以0 开头. 实型( float或 double 型)常量在程序中只能用十进制数,不能用其他进制表示。2 种表示形式 , 普通的和指数形式, 如3e5 或者 3E5, 三者不可省略任何一部分. 一个字符常量占一个字节存储空间. 用单引号限定,如:A0 x41 ( 为转义字符, 表示以十六进制数41 为 ASCII 码值的字符,即 A的转义字符形式 ). n 回车换行 反斜杠 单引号”双引号ddd 三位八进制 xhh 二位十六进制0
6、 空值例 1:n 表示回车换行 表示一个单引号例 2:101 表示字符 Ax41 表示字符 A0 ( 表示空字符,在字符串中用作字符串的结束标志)字符串常量用英文双引号括起来. 如:” hellon”字符串中的字符个数称为字符串的长度. 空字符串长度为0. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 47 页名师精编优秀资料字符串存储中每个字符占一个字节, 字符串结尾自动加一个结束标志符 0 , 所以字符串存储的时候,占用的空间长度要比串的实际长度多1. 如: char ch =“Hello ”; 实际串的长度为5,但数组空间长度为
7、 6。变量指在程序运行过程中其值可以改变的量。变量的命名必须符合标识符的命名规则,且不能和C语言中关键字同名。 ( 例如: main是关键字 ) 例如 : a 、b、ab 为合法变量 define、printf为非法变量注意 : ab是一个整体,含义不同于a 乘以 b。有符号整型变量用英文singned 表示, 存储时最高一位是符号位, 无符号整型变量用英文unsigned 表示. 字符型变量的数据类型标识符是符号char, 每个字符型变量只能存储一个字符. 例如 : A 、 c 、 5都是合法的字符常量。”A” 、 abc都是非法的字符常量。精选学习资料 - - - - - - - - -
8、名师归纳总结 - - - - - - -第 5 页,共 47 页名师精编优秀资料字符变量用关键字 char 定义,可以同时赋初值。例 1 定义两个字符变量ch1 和 ch2。 char ch1,ch2; 例 2 定义两个字符变量a 和 b,初值分别为 1和 2 。 char a=1, b= 2; getchar函数和 putchar 函数分别用来输入字符和输出字符。字符的输入和输出使用 scanf 和 printf时,格式符均为 %c 。例 1 从键盘上输入一个字符保存在ch 中。char ch; ch=getchar(); 例 2 char c1=A, c2; c2=c1+1; putcha
9、r(c2); 输出结果是 B 。例 3 输出一个回车换行符。 putchar(n ); 例: 从键盘上输入一串字符,最后以! 为结束标志。分别精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 47 页名师精编优秀资料统计大写字母,小写字母、数字出现的次数。#include main() char ch; int n1=0,n2=0,n3=0; printf(“请输入一串字符以! 结束:n ”); ch=getchar(); while(ch!=!) if(ch=A & ch=a & ch=0 & ch,=,与运算 或运算非运算规则操作数结
10、果真假假真精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 47 页名师精编优秀资料与运算规则操作数 1 操作数 2 结果真真真真假假假真假假假假或运算规则操作数 1 操作数 2 结果真真真真假真假真真假假假精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 47 页名师精编优秀资料例 1 若变量 a 值为 10,变量 b 值为 16,计算表达式。 ab | asqrt(b) & b=16 最后结果为真,表达式的值为1 逻辑运算符 ! 高于 &,和|,高于算术运算符 .&和| 是左
11、结合的 ,!是右结合的 . 注意&及| 运算的短路现象。& 的短路运算:(表达式 1)& (表达式 2),若(表达式1)的值为 0,则表达式 2 将不被计算,整个&的结果为 0。| 的短路运算:(表达式 1)| (表达式 2),若(表达式1)的值为 1,则表达式 2 将不被计算,整个| 的结果为 1。数学关系式 0 x10 在 C语言中的表达:(0 x) & (x10)或 0 x & x10 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 47 页名师精编优秀资料赋值表达式格式 : 变量名 =表达式例如 : a=10 a=a+1 a=
12、b=7+1为合法表达式a+b=8 a=7+1=b 为非法表达式整个表达式的值等于最左边变量的值。例如 : a=b=c=8*8 整个表达式最后的值为64 复合赋值表达式复合运算符 : += 、-= 、*=、/= 、%= 例如 : n=n+1表达式可写成n+=1 n=n%3表达式可写成n%=3 n*=m+3表达式可写成n=n*(m+3) 例 1 假设变量 a 初值为 9,计算下列表达式。 a+=a-=a+a 解答 : 1) 计算 a+a,结果为 18,a 值未变。2) 计算 a-=18,即 a=a-18,结果为 -9 ,a 值变为 -9 。3) 计算 a+=-9,即 a=a+(-9) ,结果为 -
13、18,a 值变为 -18 。整个表达式最后结果为-18,a 最后值为 -18。注意 : a=a+1为赋值表达式,而a=a+1; 为赋值语句。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 47 页名师精编优秀资料自加和自减运算符自加和自减只适用于整型变量. 例如 : a+ 和+a等价于 a=a+1 b- 和-b 等价于 b=b-1 a+和+a的区别 : 假设 a 的初值为 5 表达式 a+值为 5,最后 a 值为 6。表达式 +a 值为 6,最后 a 值为 6。逗号表达式格式 : 表达式 1, 表达式 2, .,表达式 n 从左至右依
14、次计算每个表达式,最后一个表达式的值即为整个逗号表达式的值。例如 : 表达式 i=3,+i,i+5最后结果为 9,i 最后值为 4。条件运算由 ? 和: 构成 , 它是根据条件从两个表达式中选择一个进行计算取值的操作, 优先级高于赋值运算符, 低于算术运算和关系运算. 三、输入输出函数精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 47 页名师精编优秀资料数据输出 printf 格式 : printf(格式符,输出项1,输出项 2,.) 格式符功能 %c 输出一个字符 %d 输出十进制整数 %f 输出小数形式浮点数%e 输出指数形式浮
15、点数 %s 输出一个字符串数据宽度说明 : 1) 在% 和格式字符之间插入一个整数来指定输出宽度。例如: %4d 、%5c 2) 对于 float和 double 类型的实数,可以用n1.n2 形式n1 指定输出数据的宽度( 包括小数点 ) ,n2 指定小数点后小数的位数。例如: %12.3f、%12.0f 例 1 输出整型变量a 和 b 的值,数据宽度均为4。 printf(“%4d%4d ”,a,b); 例 2 输出单精度变量k 的值,保留 2 位小数。 printf(“%.2f”,k); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15
16、页,共 47 页名师精编优秀资料数据输入 scanf 格式 : scanf(格式符,输入项1,输入项 2, ) 格式符功能%c 输入一个字符%d 输入十进制整数%f 输入单精度数%lf 输入双精度数%s 输入一个字符串例 1 从键盘上输入两个整数,保存在变量a 和 b 中。 scanf(“%d%d ”,&a,&b); 例 2 从键盘上输入一个双精度数,保存在变量data 中。 scanf(“%lf ”,&data); 此处两例中 &是 C语言运算符,表示取变量地址。复合语句格式 : 语句 1 语句 2 . 语句 n 例 1 用复合语句将变量a,b,c依次赋值为最小素数。 a=2; b=3; c
17、=5; 例 2 用复合语句实现变量a 和 b 的值的交换。 k=a; a=b; b=k; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 47 页名师精编优秀资料C语言编译预处理不带参数的宏 #define PI 3.14159 意思是用符号常量 PI( 宏名 ) 代替 3.14159( 宏体), 注意: 宏定义不是c 语句, 后面不加分号 . include命令是编译预处理的文件包含命令, 形式为了#include 或者#include文件名 , 调用标准函数中的输入输出函数,#include stdio.h ,如果调用数学函数(如
18、 sqrt函数、 fabs 函数等),则应加上#include math.h 或者#include 四、分支结构关系运算符、=、=6 aA5 结果均为真,值为1 例 2 6!=6 D=d9F 结果均为假,值为0 逻辑运算符if语句的一般形式 : 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 47 页名师精编优秀资料单分支结构:if(表达式 ) 语句若表达式为真,则执行语句;否则if语句结束。二选一结构:if(表达式 ) 语句组 1 else 语句组 2 表达式的值非0 才执行语句组1, 否则执行语句组2. 例 1 从键盘上输入两个整
19、数,输出较大的数。#include main() int x,y; printf(“请输入两个整数:n ”); scanf(“%d%d ”,&x,&y); if (xy) printf(“%d ”,x); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 47 页名师精编优秀资料else printf(“%d ”,y); 条件运算符格式 : 表达式 1? 表达式 2: 表达式 3 若表达式 1 为真,结果为表达式2;否则为表达式3。例如 : x的初值为 5,执行以下语句 y=+x6?100:200; 最后 y 的值为 200 if语句可
20、嵌套 , 在花括号里继续使用. 多选一结构:if(表达式 1) 语句组 1 Else if(表达式 2) 语句组 2 Else if(表达式 3) 语句组 3 else 语句组 n 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 47 页名师精编优秀资料例 1 根据输入的学生成绩,大于或等于90 分为 A,60 分以下等级为 E,其余每 10 分一个等级。#include main() int g; printf(“请输入一个整数:n ”); scanf(“%d ”,&g); if (g=90) printf(“An”); else
21、if(g=80) printf(“Bn”); else if(g=70) printf(“Cn”); else if(g=60) printf(“Dn”); else printf(“En”); switch( 表达式 ) / switch表达式通常为整型或字符型值case 常量 1: 语句组 1 /case后面必须是常量case 常量 2: 语句组 2 . default:语句组 /也可省略该语句精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 47 页名师精编优秀资料 可以使用中 break 来中止后面语句的执行. switch表达
22、式通常为整型或字符型值,case 中的常量类型与之对应 ,case 后面的表达式可以是常量或常量表达式, 不能为变量表达式 . switch语句格式 : switch(表达式 ) case 常量表达式 1: 语句 1 case 常量表达式 2: 语句 2 case 常量表达式 n-1: 语句 n-1 default: 语句 n 若表达式的值与表达式1 相等,则执行语句1;若与表达式2 相等,则执行语句2若均不相等则执行语句n。例 1 用 switch语句重写学生等级程序。#include main() int g; printf(“请输入一个整数 :n ”); 精选学习资料 - - - - -
23、 - - - - 名师归纳总结 - - - - - - -第 21 页,共 47 页名师精编优秀资料 scanf(“%d ”,&g); switch(g/10) case 10: printf(“An”); break; case 9: printf(“An”); break; case 8: printf(“Bn”); break; case 7: printf(“Cn”); break; case 6: printf(“Dn”); break; default: printf(“En”); 程序中 break 表示跳过后面的分支。五、循环结构while 循环格式 : while( 表达式
24、) 循环体若表达式为真,则执行循环体。再判断表达式,若仍为真则重复执行循环体直到表达式为假时循环结束。例 1 编程计算 S=1+2+ 100。#include main() 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 47 页名师精编优秀资料 int k=1,s=0; while (k=100) s=s+k; k=k+1; printf(“%d ”,s); do-while循环格式 : do 循环体 while(表达式 ); 先执行循环体,然后判断表达式。若为真则重复执行循环体直到表达式为假时循环结束。例 1 用 do-while
25、循环计算 10! #include main() int k=1; long s=1; do s=s*k; k+; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 47 页名师精编优秀资料while (k=10); printf(“%ld”,s); 注意 : while循环和 do-while循环的区别while 循环是先判断表达式, 因此循环体有可能一次也不执行。 do-while循环是先执行一次循环体,再判断表达式,所以不论表达式为真为假,循环体至少要执行一次。for 循环格式 : for( 表达式 1; 表达式 2; 表达式 3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年期末复习C语言知识点归纳 2022 期末 复习 语言 知识点 归纳
限制150内