C语言考试复习要点.pptx
《C语言考试复习要点.pptx》由会员分享,可在线阅读,更多相关《C语言考试复习要点.pptx(88页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 3.13.1 数据类型数据类型数据类型总表C数据类型基本类型构造类型指针类型空类型void定义类型typedef字符类型char枚举类型enum整 型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作第1页/共88页n n基本数据类型基本数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-3276832767(signed)short16-3276832767(signed)long32-214748364821474
2、8364716unsigned int0655353204294967295unsigned longunsigned short16065535有float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127无unsignedchar80255说明:数据类型所占字节数随机器硬件不同而不同,上表以IBMPC机为例:第2页/共88页 3.23.2 常量与变量标识符定义:用来标识变量、常量、函数等的字符序列组成:只能由字母字母、数字数字、下划线下划线组成,且第一个字母必须是字母或下划线大小写敏感不能使用关键字长度:最长32个字符命名原则:见名知意
3、不宜混淆 如l与I,o与0例:判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name#33 lotus_1_2_3 char ab _above$123M.D.John3days#33char$123ab第3页/共88页编译程序根据变量定义为其分配指定字节的内存单元.地址inta=1,b=-3,c;abc2字节2字节2字节地址地址.内存1-3随机数变量概念:其值可以改变的量 变量名变量名与变量值变量值变量定义的一般格式:数据类型数据类型 变量变量11,变量,变量2 2,变量,变量n;n;n n变量初始化变量初始化:定义时赋初值定义时赋初值
4、例:int a,b,c;float data;决定分配字节数和数的表示范围合法标识符例:int a=2,b,c=4;float data=3.67;char ch=A;int x=1,y=1,z=1;int x=y=z=1;n n变量的使用:变量的使用:先定义,后使用先定义,后使用例1intstudent;stadent=19;/Undefinedsymbolstatentinfunctionmain例2floata,b,c;c=a%b;/Illegaluseoffloatingpointinfunctionmainn n变量定义位置:变量定义位置:一般一般放在函数开头放在函数开头main()
5、int a,b=2;float data;a=1;data=(a+b)*1.2;printf(“data=%fn”,data);变量定义可执行语句main()int a,b=2;a=1;float data;data=(a+b)*1.2;printf(“data=%fn”,data);第4页/共88页&整型变量占字节数随机器不同而不同,一般占一个机器字shortintlong可用sizeofsizeof(类型标识符)测量&实型变量实型变量n nfloatfloat:占占4 4字节,提供字节,提供7 7位有效数字位有效数字n ndoubledouble:占占8 8字节,提供字节,提供1515 1
6、616位有效数字位有效数字&字符型变量字符型变量n n字符变量存放字符字符变量存放字符ASCIIASCII码码n ncharchar与与intint数据间可进行算术运算数据间可进行算术运算例 float a;double b;a=111111.111;/*a=111111.1*/b=111111.111;/*b=111111.111*/例 a=D;/*a=68;*/x=A+5;/*x=65+5;*/s=!+G /*s=33+71;*/没有字符串变量,用字符数组存放第5页/共88页 3.73.7各类数值型数据间的混合计算 运算转换规则运算转换规则:不同类型数据运算时先自动自动转换成同一类型。隐式
7、转换(自动转换)运算转换运算转换-不同类型数据混合运算时 赋值转换赋值转换-把一个值赋给与其类型不同的变量时 输出转换输出转换-输出时转换成指定的输出格式 函数调用转换函数调用转换-实参与形参类型不一致时转换第6页/共88页学习运算符应注意:运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果的类型第7页/共88页自增、自减运算符+-+-作用:使变量值加1或减1种类:前置 +i,-i (先执行i+1或i-1,再使用i值)后置 i+,i-(先使用i值,再执行i+1或i-1)例 j=3;k=+j;j=3;k=j+;j=3;printf(“%d”,+j);j=3;printf
8、(“%d”,j+);a=3;b=5;c=(+a)*b;a=3;b=5;c=(a+)*b;/k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=4第8页/共88页n n自增、自减运算符自增、自减运算符+-+-n n作用:使变量值加作用:使变量值加1 1或减或减1 1n n种类:种类:n n前置前置 +i,-i (+i,-i (先执行先执行i i+1+1或或i-1i-1,再使用再使用i i值)值)n n后置后置 i+,i-(i+,i-(先使用先使用i i值值,再执行再执行i i+1+1或或i-1i-1)n n说明:说明:n n+-+-不能用于常量和表达式不能用于常量和表达式,如
9、如5+5+,(a+b)+a+b)+n n+-+-结合方向:结合方向:自右向左自右向左n n优先级:优先级:-+-*/%-+-+-*/%-+-(2)(3)(4)(2)(3)(4)例-i+-(i+)i=3;printf(“%d”,-i+);/-3 例 j+k;(j+)+k;例-i+i=3;printf(“%d”,-i+);第9页/共88页赋值运算符和表达式简单赋值运算符符号:=格式:变量标识符变量标识符=表达式表达式作用:将一个数据(常量或表达式)赋给一个变量n n复合赋值运算符复合赋值运算符n n种类种类:+=-=*=/=%=+=-=*=/=%=&=|=&=|=n n含义:含义:exp1 op=
10、exp2exp1 op=exp2 exp1=exp1 op exp2exp1=exp1 op exp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例 a=3;d=func();c=d+2;第10页/共88页逗号运算符和表达式形式:表达式表达式1 1,表达式表达式2 2,表达式表达式n n结合性:从左向右优先级:1515逗号表达式的值:等于表达式n的值用途:常用于循环for语句中例 a=3*5,a*4 a=3*5,a*4,a+5例 x=(a=3,6*3)x=a=3,6*a例 a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d
11、,%d”,(a,b,c),b,c);/a=15,表达式值60/a=15,表达式值20/赋值表达式,表达式值18,x=18/逗号表达式,表达式值18,x=3/1,2,3/3,2,3第11页/共88页第4章 最简单的C程序设计 顺序程序设计 n输入语句输入语句n赋值语句赋值语句n输出语句输出语句第12页/共88页4.复合语句:把多个语句用括号括起来组成的一个语句称复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句。例如:x=y+z;x=y+z;a=b+c;a=b+c;printf(printf(“%d%d%d%d”,x x,a)a);是一条复合语句。复合语句内的各条语句都必须以分号复合语
12、句内的各条语句都必须以分号“;”结尾,在括号结尾,在括号“”外不能再加分号。外不能再加分号。第13页/共88页在赋值语句的使用中需要注意以下几点:3.在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:int a=b=c=5;/*此句是错误写法*/必须写为 int a=5,b=5,c=5;而赋值语句允许连续赋值,写成下面两句也是正确的 int a,b,c;a=b=c=5;第14页/共88页格式:printf(“格式控制串”,输出表)功能:按指定格式向显示器输出数据返值:正常,返回输出字节数;出错,返回EOF(-1)格式输出函数n n输出表:要输出的数据(可以没有,多个时以输出表:要输
13、出的数据(可以没有,多个时以“,”分隔)分隔)n n格式控制串:包含两种信息格式控制串:包含两种信息n n格式说明:格式说明:%修饰符修饰符 格式字符格式字符,用于指定输出,用于指定输出格式格式n n普通字符或转义序列:原样输出普通字符或转义序列:原样输出n n格式字符格式字符只有只有9 9个:个:d d、o o、x x、u u、c c、s s、f f、e e、g g,每个格式说,每个格式说明都是以其中一个结尾明都是以其中一个结尾如:如:printf(printf(“c=c=%c%cf=f=%f%fs=s=%s%s”,c,f,s);,c,f,s);第15页/共88页附加格式说明符(修饰符).n
14、对实数,指定小数点后位数对字符串,指定实际输出位数修饰符功 能m输出数据域宽,数据长度c-da+bc-d,x3/2x3/2,a a+1c+1bcabc,a!=c=da!=c=d等。等。关系表达式自身的值是逻辑量,但在关系表达式自身的值是逻辑量,但在C C语言中是用数字语言中是用数字1 1和和0 0来代替的。来代替的。1 1代表代表“真真”(“成立成立”),),0 0代表代表“假假”(“不成立不成立”)。在关系表达式嵌套的情况中也是按这个规则来处理的。)。在关系表达式嵌套的情况中也是按这个规则来处理的。例:a=3,b=2,c=1ab 为真,此表达式的值为1ab=c 为真,此表达式的值为1b+cb
15、c?若a=0;b=0.3;c=0.5;abba?第18页/共88页语言中提供了三种逻辑运算符:语言中提供了三种逻辑运算符:1.1.&与运算与运算2.2.|或运算或运算3.3.!非运算非运算与运算符与运算符&和和或运算符或运算符|均为双目运算符。具有左结合性。均为双目运算符。具有左结合性。非运算符非运算符!为单目运算为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:5.2.1逻辑运算符极其优先次序!(非)高算术运算符关系运算符&和|赋值运算符 低按照运算符的优先顺序可以得出:ab&cd 等价于 (ab)&(c
16、d)!b=c|da 等价于 (!b)=c)|(dc&x+yc)&(x+y)0&4250&42由于由于5050为真,为真,4242也为真,相与的结果也为真。也为真,相与的结果也为真。2.2.或运算或运算|:参与运算的两个量只要有一个为真,结果就为真。:参与运算的两个量只要有一个为真,结果就为真。两两个量都为假时,结果为假。例如:个量都为假时,结果为假。例如:50|5850|58由于由于5050为真,相或的结果也就为真。为真,相或的结果也就为真。3.3.非运算非运算!:参与运算量为真时,结果为假;参与运算量为假时,结:参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:果为真。例如:!(
17、50)!(50)的结果为假。的结果为假。再次强调!虽然编译系统在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以“非0”的数值作为“真”。例如:由于5和3均为非“0”因此5&3的值为“真”,即为1。又如:5|0的值为“真”,即为1。第20页/共88页5.3.1 if语句的三种形式1.1.第一种形式为基本形式:第一种形式为基本形式:if(if(表达式表达式)语句语句其语义是:如果表达式的值为真,则执行其后的语句,其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。否则不执行该语句。main()main()i
18、nta,b,max;inta,b,max;printf(ninputtwoprintf(ninputtwonumbers:);numbers:);scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);max=a;max=a;if(maxb)max=b;if(maxb)printf(max=%dn,a);elseprintf(max=%dn,b);第22页/共88页第三种形式为第三种形式为if-else-ifif-else-if形式形式前二种形式的前二种形式的if if语句一般都用于两个分支的情语句一般都用于两个分支的情况。当有多个分支选择时,可采用况。当有多个分支选择时,可采
19、用if-else-ifif-else-if语句,其一般形式为:语句,其一般形式为:if(if(表达式表达式1)1)语句语句1 1;else if(else if(表达式表达式2)2)语句语句2 2;else if(else if(表达式表达式3)3)语句语句3 3;else if(else if(表达式表达式m)m)语句语句mm;else else 语句语句n n;其语义是:依次判断表达式的值,当出现某个其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整值为真时,则执行其对应的语句。然后跳到整个个if if语句之外继续执行程序。语句之外继续执行程序。如果所有的表达
20、如果所有的表达式均为假,则执行语句式均为假,则执行语句n n。然后继续执行后续。然后继续执行后续程序。程序。5.3.1 if语句的三种形式expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0#includestdio.hmain()char c;printf(input a character:);c=getchar();if(c=0&c=A&c=a&c0)printf(“%f”,x);elseprintf(“%f”,-x);第25页/共88页3.3.在在if if语句的三种形式中,所有的语句应为单个语句,如果要想在满足
21、条语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组件时执行一组(多个多个)语句,则必须把这一组语句用语句,则必须把这一组语句用 括起来组成一个复括起来组成一个复合语句。但要注意的是在合语句。但要注意的是在 之后不能再加分号。之后不能再加分号。例如:例如:if(ab)if(ab)a+;a+;b+;b+;elseelse a=0;a=0;b=10;b=10;在使用if语句中还应注意以下问题:第26页/共88页5.3.2 if语句的嵌套 当当 if if 语句中的执行语句又是语句中的执行语句又是 if if 语句时,则构成了语句时,则构成了if if 语句嵌套的情形。语句嵌套的
22、情形。其一般形式可表示如下:其一般形式可表示如下:if(if(表达式表达式1)1)if(if(表达式表达式2)2)语句语句1 1 else else 语句语句2 2else else if(if(表达式表达式3)3)语句语句3 3 else else 语句语句4 4上面的三个上面的三个IFIF语句都可以是不完整的,但那时候要注语句都可以是不完整的,但那时候要注意意 if if 和和 else else 的配对问题。的配对问题。第27页/共88页if 和 else 的配对原则if(if(表达式表达式1)1)if(if(表达式表达式2)2)语句语句1 1;else else 语句语句2 2;其中的
23、其中的elseelse究竟是与哪一个究竟是与哪一个 if if 配对呢配对呢?if(表达式1)if(表达式2)语句1;else 语句2;if(表达式1)if(表达式2)语句1;else 语句2;if(表达式1)if(表达式2)语句1;else 语句2;为了避免这种二义性,语言规定,else 总是与它前面最近的 if 配对,因此对上述例子应按前一种情况理解。第28页/共88页6.1 循环语句概述循环结构是程序中一种很重要的结构。其特循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,
24、直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。语言提供了多反复执行的程序段称为循环体。语言提供了多种循环语句,可以组成各种不同形式的循环结构。种循环语句,可以组成各种不同形式的循环结构。1.1.用goto语句和if语句构成循环;2.2.用while语句;3.3.用do-while语句;4.4.用for语句;第29页/共88页6.3 while语句whilewhile语句的一般形式为:语句的一般形式为:while(while(表达式表达式)语句语句其中表达式是循环条件,语其中表达式是循环条件,语句为循环体。句为循环体。whilewhile语句的语义是:计语句的语义是:计
25、算表达式的值,当值为真算表达式的值,当值为真(非非0)0)时,时,执行循环体语句。其执行循环体语句。其执行过程可用下图表示。执行过程可用下图表示。条件循环体假(0)真(非0)while第30页/共88页特点:先判断表达式,后执行循环体说明:循环体有可能一次也不执行循环体可为任意类型语句下列情况,退出while循环条件表达式不成立(为零)循环体内遇break,return,goto无限循环:while(1)循环体;6.3 while语句第31页/共88页【例例6.26.2】用用whilewhile语句构成循环,求语句构成循环,求1 1到到100100的的和。和。6.3 while语句main()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试 复习 要点
限制150内