不能作为c语言常量的是115L,技能高考c语言复习资料

本文详细介绍了C语言的基础知识,包括标识符、常量、变量、算术表达式、赋值表达式、复合赋值表达式、算术运算符、逻辑运算符、输入输出语句等内容。特别强调了变量的定义与使用、算术表达式的运算规则以及输入输出格式的设置。同时,讲解了if语句、while循环、for循环的使用及其注意事项,还涉及了字符型数据的处理,如字符常量、字符串常量和变量。通过实例和习题,帮助读者巩固C语言的基本概念和操作技巧。
摘要由CSDN通过智能技术生成

《技能高考c语言复习资料》由会员分享,可在线阅读,更多相关《技能高考c语言复习资料(37页珍藏版)》请在人人文库网上搜索。

1、C语言二级考试资料编著:黄雨晨目录一、C语言基础知识- 1 -1.标实符,常量,变量- 1 -(1)标识符- 1 -(2)常量:- 1 -(3)整型常量与实型常量- 1 -2.变量的定义- 2 -3.算术表达式- 2 -5.赋值表达式- 3 -6.复合赋值表达式- 3 -7.+ -运算符- 4 -8.逗号表达式- 5 -9.课后习题;- 5 -(1)选择题:- 5 -(2)填空题:- 6 -二、基本输入、输出语句- 6 -1.printf函数的一般调用形式- 6 -2.printf中常用的格式说明:- 7 -3.注意事项- 7 -4.输出语句例题:- 7 -5.输入语句:- 8 -6.练习题与。

2、复合语句、空语句:- 8 -(1)选择题- 8 -(2)编程题- 9 -三:c语言的程序结构- 9 -1.关系运算与逻辑运算:- 10 -(1)简介:- 10 -(2)几个简单的关系运算符:- 10 -(3)几个简单的逻辑运算符- 10 -2.if语句:- 10 -(1)定义:- 10 -(2)分类:- 10 -3.if的嵌套:- 11 -(1)讲解- 11 -(3)例题:- 12 -4.条件表达式- 13 -5.switch语句:- 13 -6.习题- 13 -(1)选择题- 13 -(2)填空题- 14 -(3)编程题- 15 -四、循环结构- 17 -1.while语句:- 17 -(1。

3、)格式:- 17 -(2)注意:- 17 -(3)例题- 17 -2.do while()- 18 -(1)格式- 18 -(2)注意- 18 -3.for语句- 18 -(1)格式:- 18 -(2)注意- 19 -(3)例题- 19 -4.for嵌套- 20 -(1)实例1- 20 -(2)实例2- 20 -(3)实例3- 21 -(4)注意- 21 -(5)素数的判定- 21 -6.break,continue语句- 22 -(1)break- 22 -(2)continue- 22 -7.程序应用及习题- 23 -(1)选择题- 23 -(2)填空题- 26 -(3)编程题- 27 -。

4、第六章、字符型数据- 28 -1.字符型常量- 28 -(1)格式- 28 -(2)要求- 28 -(3)注意:- 29 -2.字符串常量- 29 -(1)格式- 29 -(2)注意:- 29 -3.字符型变量- 29 -(1)格式- 29 -(2)输入与输出- 29 -(3)程序举例- 29 -4.课后习题- 30 -(1)选择题- 30 -(2)填空题- 32 -(3)编程题- 33 -一、C语言基础知识1.标实符,常量,变量(1)标识符定义:由字母、数字、下划线组成,并且第一个字母必须为字母或下划线的。这样的组成就是标识符。注意:在C中大写字母与小写字母被认为是两个不同的字符。分类:1)。

5、关键字:在C中已经定义好了的。不能用作它的。(if double int)。2)预定义标识符:如printf scanf.3)用户标识符:用户根据自己的需要来定义的。(2)常量:定义:是指在程序的执行过程中,其指不会被改变的量、分类:1)整型常量:没有小数的常量3 9 1232)实型常量:有小数点的常量3.9 3.0 3)字符常量:由单个字符组成的量a b 5(内存中占1个存储单元)4)字符串常量:至少有一个字符组成的量a abc fgbrhbg(内存中以-0结束,占两个存储单元)5)符号常量:符号常量的值到底是多少,这是由在来定义符号常量时来决定的。#define pi 3.14(宏定义)以。

6、下选项中,能用作数据常量的是:A)o115 B)0118 C)1.5e1.5 D)115l以下选项中不能作为c语言合法常量的是:AA)cd B)0.1e+6 C)a D)011以下选项中不属于字符常量的是:BA)C B)C C)xCC0 D)072(3)整型常量与实型常量整型常量的表示方法*十进制数:0-9*八进制数:以0开头的数字,由0-7组成。下列合法的八进制数是:A)0 B)028 C)-077 D)01.0*十六进制数:以OX开头,由0-9和A-F组成。A)oxff B)Oxabc C)Ox11 D)Ox19实型常量的表示方法:134.2小数形式:134.2指数形式:1.342e2*字。

7、母e和E之前必须要偷*字母e和E之后的数字必须是整数*字母e和E之间不能有空格2.90E-1 0.425E 3 -444.5 424E-2 0.1e+6 1.23E1.32.变量的定义1)定义:在程序的运行过程中其值可以被改变的量,就叫变量。2)原则:变量必须先定义后再使用。(变量定义的过程就是给变量开品存储单元的过程。)3)分类:*整型变量:用关键字int来表示short int 短整型long int 长整型 (在内存中占4个单元,如123l)unsigned 无符号 如有-200u这就是错的。(全部是正数)变量的定义:int a 这是定义了一个整型变量a。* float 单精度 在内存中。

8、占4个字节。* double 双精度 在内存中占8个字节。3.算术表达式(1)基本的算术运算符+、-、*、/、%这些都是双目运算符(有两个操作对象)注意:除%外,其他的运算符的运算对象可以是整型也可以是实型。%操作对象只能是整型。如:10%3=1 10.7%5 54.64%643.3说明:1)如果双目运算符两边云算数的类型一致,则所得的结果的类型与运算数的类型一致。如1.0/2.0=0.5 1/2=02)双目运算符两边运算数的类型不一致,则系统会自动进行类型转换,使两边的类型一致后,再进行运算。1.0/2=0.53)所有的单精度数据,在运算过程中都以双精度进行计算。(一般定义变量为实型类型的时。

9、候,可以直接定义为double型)(2)优先级( ) + - * / % + -由高低如:5+1/2=54.强制类型转换格式:(类型名)(表达式)*类型名后面的括号内表达式为单个表达式时,可省略括号,当后面的为多个表达式时,括号不可省略。例如:(int)3.525=3(double)10%3=?例如:表达式:(int)(double)9/2)-(9)%2的值是:A)0 B)3 C)4 D)5设变量已正确定义并赋值,以下正确的表达式是:A)X=Y*5=X+ZB)int(15.8%5)C)x=y+z+5,+yD)x=25%5.05.赋值表达式格式:变量名=表达式注:1.不可以颠倒(左边必须是变量名。

10、,右边必须是C语言中合法的表达式)2.功能是先求出右边变大事的值,然后把次赋值给赋值号左边的变量。确切的说是把数据存入以该变量为标识的存储单元中去。a=4 a=b+73.结合性的优先级仅高于逗号表达式。顺序是自右向左的。如a=2+7/34.=是一个赋值号,不是一个等号。5.x=y,变量的值也是可以传递和赋值的。它的意思是将变量y中的赋值到x中去。同样N=N+1也成立。6.赋值运算符左侧只能是变量,不能是常量或表达式 a+b=c是违法的。7.赋值号的右边也可以是一个赋值表达式。如a=b=7+1.补充:表达式和语句的区别:表达式后面加一个分好就是语句。6.复合赋值表达式如:1)a+=3-a=a+3。

11、 同理可得a*=3 /= -=a+=a=a+a a的初值为9a+=a-=18a+=(a=a-18)a+=(a=-9)a+=a-182)若有定义语句:int x=10;则表达式x-=x+x的值为:A)-20 B)-10 C)0 D)103)设有定义:int =2;以下表达式中,值不为6的是:A)X*=X+1 X=X*(X+1)B)X+.2*XC)X*=(1+X)D)2*X,X+=24)若变量均已正确定义并赋值,以下合法的C语言赋值语句是:A)x=y=5;B)X=n%2.5;C)x+n=ID)x=5=4+1;7.+ -运算符+ 自身加1- 自身减1如:i=3 i+ _______I=i+1 i=4。

12、*单目运算*i+ +i1)#includeint main()int i =3;printf(%dn,i);结果为:32)#includeint main()int i =3;printf(%dn,+i);结果为:4*当+在前,先自身加1,然后再干别人干的事3)#includeint main()int i =3;printf(%dn,i+);结果为:3*当+在后,先干别人干的事然后再自身加14)int a,i=3;a=i+;a=3;a=+1;a=48.逗号表达式(1)定义:用逗号将表达式连接起来的式子称为逗号表达式(2)格式:表达式1,表达式2,表达式3,表达式N(3)说明:1)逗号运算符的。

13、结合性为从左到右进行计算,逗号表达式的值是最后一个表达式的值。2)在所有运算符中,逗号表达式的优先级最低。例题:int i =5;int a,b,c;a=(i+8,6,i+7); a=12,i=5b=(i+,+i); a=7,i=7c=(i+7,i+); a=5,i=6 9.课后习题;(1)选择题:1)以下选项中正确的整型常量是:A.12. B. -20C.1,000 D.2 5 62)以下选项中正确的实型常量是:A.0B.3. 4344C.0.345*122D.8753)以下选项中不正确的实型常量是:A.2.50E-1B.0.78646e 2C.-55.55D.566E-24)以下选项中不正。

14、确的用户标识符是:A.ABC.CB.fileC)MainD.PRINTF5)以下选项中不正确的用户标识符是:A._123B.printfC)A $D.Dim6)C语言中运算对象必须是整型的运算符是:A.%B./C.!D.* *7)可在C语言中用作用户标识符的一组标识符是:A.voiddefineWORDB.as_b3_123IFC.For-abccaseD.2cDOSIG8)若变量已正确定义并赋值,复合C语言语法的表达式是:A.a=a+7;B.a=7+b+c,a+C.int(12.3%3)D.a=a+7=c+b9)以下叙述中正确的是:A.a是实型变量,c允许进行赋值a=10,但不可以这样说:实。

15、型变量中允许存放整型值。B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。C.执行表达式a=b后,在内存中a和b的存储单元中原有值将被改变,a的值已由原来的值变为改变后的值,b的值有原来的改变为0.D.已有a=3,b=5,当执行了表达式a=b,b=a之后。使a中的值变为5,b中的值变为3.10)以下叙述正确的是:A.在C语言中无论是整数还是实数,只要在允许的范围内都能无误的表示。B.C程序由主函数组成C.C程序由若干函数组成D.C程序中只允许包含一个函数11)VC6.0中int类型变量所占字节数是:A.1B.2C.3D.412)合法的八进制数是:A.0B.028C.-033D.01。

16、.013)不合法的十六进制数是:A.oxffB.0XabcC.0x11D.0x19(2)填空题:1)若K为INT型变量。请写出运算K+后表达式的值()和变量K的值()2)若X为DOUBLE型变量,请写出运算X=3.2,+X后表达式的值()和变量X的值()3)函数体由()开始,由()结束。函数体内的前面是(定义说明)部分,后面是(语句)部分。4)C语言中的标识符可以分为(关键字)、(用户标识符)和预定义标识符。5)在C语言中,用关键字()定义基本整型变量,用关键字()定义单精度实型变量。用( )定义双精度实型变量6)把a1,a2定义成双精度实型变量,并赋初值1的定义语句是()7)C语言程序中定义。

17、的变量,代表内存中的一个()8)表达式3.5+1/2的计算结果是()二、基本输入、输出语句1.printf函数的一般调用形式格式:printf(格式控制,输出项1,输出项2,输出项3);在printf函数的最后面加上;号就是输出语句。1)给输出项白提供输出格式说明格式说明符:作用:就是使数据按格式说明符的要求进行输出。组成:由%号和紧跟在其后的格式描述符组成。*int%d*float或double%f或%e(科学计数法)*char%c2)提供原样输出的文字或字符*在“”中除了格式说明符之外的内容要全部原样输出。*各个输出项之间要用逗号隔开。*输出项可以使任意合法的常量,变量或表达式。2.pri。

18、ntf中常用的格式说明:在格式说明符中,每一个格式说明符都必须以%号开头由相应的类型标识字母结束。但在他们之间可以有其他的一个内容:(1)%c:输出一个字符(2)%d:输出一个十进制的数据(3)%o:以八进制格式输出(4)%x:以十六进制输出(5)%u:无符号十进制输出(6)%f:以带小数点的数字输出(7)%e:以指数形式输出(8)%s:输出一个字符串(9)%:输出一个%(10)%4d:输出的数据长度是4个长度,当原来的长度大于4时会自动突破。小于4时会自动填充空格。(11)%x.yf:x代表数制的宽度(包括小数点);y代表小数点后面的小数位数。3.注意事项1)输出比较自由一些,输出有的各个数。

19、之到底是什么,取决于格式说明符之间的内容。2)格式说明符要与输出项一一对应。3)输出语句中还可以有nr t a4)尽量不要在输出语句中改变输出变量的值。*int a=2;printf(%d%d,a+,a);结果:2,25)输出的数据中如果存在变量,一定要是定义过的。4.输出语句例题:1)#includemain()int a=1,b=0;printf(%d,b=a+b);printf(%dn,a=2*b);程序运行后的输出结果是:A.0,0B.1,0C.3,2D.1,22)double y=3.;printf(%d%8.6f,x,y);输出结果是:A.123.B.123.C.12,3.D.12。

20、 3.3)#includemain()double a=123.456;printf(%6.2f,a);输出结果为:5.输入语句:格式:scanf(格式控制,输入项1.输入项2,);例如:想通过键盘输入三个是分别给变量a,b,c。并且他们分别为整型,浮点型,双精度型。输入语句为scanf(%d%f%lf,&k,&a,&y);说明:(1)格式说明符与输出语句一样。(2)在格式串中,必须含有与输入项对应的格式转换说明符。(3)在VC6.0的环境下,要收输入的double型数据的格式说明符一定要用%lf,否则数据不能正确的输入。(4)由于输入时一个字符流,所以当输入的数据少于输入项时,程序会等待用户。

21、输入,直到满足要求。当输入得分数据多余输入项时,多余的数据会自动作废。(5)%*d:跳过输入6.练习题与复合语句、空语句:(1)复合语句:多个语句被括起来,当成一条语句来执行。(2)空语句:最后的表示只有一个“;”(用于计数)练习题:(1)选择题1)int x;x=11/3;int y = 5;printf(%d,%dn,x,y);输出结果为:%d,%32)若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的语句是:A.read(a,b,c);B.scanf(%d%d%d,a,b,c);C.scanf(%D%D%D,&a,&b,&c);D.scanf(%d%d%d,&a,&b,&c。

22、);3)若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是:BA.10B.10.0,22.0,33.0C.10.0D.10 222222.0,33.03333scanf(%f%f%f,&a,&b,&c);(2)编程题4)编写一个程序,从键盘上输入两个数字,然后让他们互换一下。#includeint main()int a,b,c;printf(请输入两个数:n);scanf(%d %d,&a,&b);a=b;b=c;c=a;printf(两数交换后的结果为:%d %d,a,b);5)编写一个程序,从键盘上输入一个数字,进行四舍五入计。

23、算,要求保留两位小数。#includeint main()double a;printf(请输入一个要进行四舍五入的数:n);scanf(%lf,&a);a=a*100+0.5;a=(int)(a);a=a/100;printf(四舍五入的结果为:%lf,a);6)编写程序,使从键盘上输入的三个数倒着输出:#includeint main()int a,b,c,d;scanf(%d,&a);if(a=1000)printf(输入有误,请重新输入:n);scanf(%d,&a);b=a/100;c=(a%100)/10;d=a%10;a=d*100+c*10+b;printf(%dn,a);三:。

24、c语言的程序结构1.关系运算与逻辑运算:(1)简介:关系表达式与逻辑表达式的运算结果都会得到一个逻辑值。就是“真”,“假”在c语言钟0表示“假”,非0(无论是负数还是正数都是真。更多时候用1来代替)表示“真”。(2)几个简单的关系运算符:= = !=注意:1)由两个字符组成的运算符,中间不能有空格。2)它们都是双目运算符,具有自左向右的结合型。3)上面的6个运算符中,前4个的优先级要比后面2个的优先级要高。4)先计算,后判断,然后进行赋值计算。(3)几个简单的逻辑运算符&与一假则假|或一真则真!非非假则真,非真则假例:1)1&0=1,0&6=02)int a=4,b=7;a&b=1;3)int。

25、 x=0,y=7;x+&y+=?x=?y=?+x&y+=?x=?y=?2.if语句:(1)定义:只有两种结果。要么执行这条语句,要么执行那条语句。if(条件表达式)上述条件成立执行(花括号【符合语句】、离ifz最近的一条句子、空语句)的句子else上述条件不成立执行的句子(2)分类:1)不含有else的语句if(条件)语句2)含有else的语句if(条件)语句1;else语句2;语句3;(语句3不受控制)例:#includeint main()int a,b,c,t;printf(input 3 numbers:n);scanf(a=%d b=%d c=%d,&a,&b,&c);if(ab)t。

26、=a;a=b;b=t;if(ac)t=c;c=a;a=t;if(bc)a=b;b=c;c=t;printf(%d %d %dn,a,b,c);3.if的嵌套:(1)讲解#includeint main()int a;scanf(%d,&a);if(a60)if(a90)printf(you);elseprintf(liang);elseprintf(cha);输入一个学生的成绩,评定他的成绩。每十分一个等级#includemain()int a;printf(input a number:n);scanf(a=%d,&a);if(a=90) printf(A);elseif(a=80) pri。

27、ntf(B);elseif(a=70) printf(C);elseif(a=60) printf(D)else printf(E);(3)例题:1)设有定义:inta=1,b=2,c=3;以下语句中执行效果与其他三个不同德是:A.if(ab) c=a,a=b,b=c;B.if(ab) c=a;a=b;b=c;C.if(ab) c=a;a=b;b=c;D.if(ab) c=a,a=b,b=c;2)有以下程序,程序运行时,输入的值在哪个范围内会有输出结果:#includemain()int x;scanf(%d,&x);if(xmain()int a=1,b=2,c=3,d=0;if(a=1&b。

28、+=2)(b+一次,b=3)if(b!=2|c-!=3)(由于b!=2成立,后面的c-不会执行,因此c的结果不变)printf(%d,%d,%dn,a,b,c);else printf(%d,%d,%dn,a,b,c);else printf(%d,%d,%dn,a,b,c);A.1,2,3 B.1,3,2 C.1,3,3 D.3,2,14.条件表达式1)是c语言中唯一的一个三目运算2)格式:表达式1?表达式2:表达式3当表达式1成立(非零时),表达式的值是表达式2的值,否则就是3的值。如:1)13?(x4|x46)请写出以下程序的输出结果:________main()int a=100;if。

29、(a100) printf(%dn,a100);elseprintf(%dn,a0)A)!0 8)当a=1,b=2,c=3时,以下C语句执行后,a、b、c中的值分别为______、_______、________if(ac)b=a;a=c;c=3,2,3;3,2,2;9)若变量已正确定义,以下语句段的输出结果为:_________________x=0,y=2,z=3;switch(x)case 0:switch(y=2)case 1:printf(*);break;case 2:printf(%);break;case 1:switch(z)case 1:printf($);case 2:p。

30、rintf(*);break;default printf(#);*switch(x)=0,执行循环体内的case 0;*y=2,为比较表达式,若条件成立,则执行为真,即“1”;*break常用于循环语句中,条出的为离它最近的一层循环;(3)编程题1)请将以下的语句改成switch语句。if(aint main()int a,b,c,x,y,z,n;printf(请输入你的生日:n);scanf(%d %d %d,&a,&b,&c);if(a2015|b12|c31)printf(输入有误,请重新输入:n);scanf(%d %d %d,&a,&b,&c);printf(请输入现在的时间:n)。

31、;scanf(%d %d %d,&x,&y,&z);if(a2015|b12|c31)printf(输入有误,请重新输入:n);scanf(%d %d %d,&x,&y,&z);if(xa)if(yb)n=x-a+1;elsen=x-a;printf(您现在有%d岁n,n);3)编写程序,输入三个数,打印出最大值#includeint main()int a,b,c,t;t=a;if(ab)if(bc) t=a;else t=celse t=b;printf(%dn,t);四、循环结构1.while语句:(1)格式:while(表达式)循环体(2)注意:1)while是一个关键字2)括号及括号。

32、内的表达式不能丢3)while控制的是与其相邻的一条语句(以“;”结束),如果有多条语句,则要用括起来(复合语句)。4)while语句多用于控制重复某一操作来实现某种计算。(3)例题例:从1加到100求和#includeint main()int sum=0,i=1;while(iint main()int i=1,sum=0,j=1;while(sumint main()int n=2,k=0;while(k+&n+2);printf(%d %dn,k,n);A.0 2B.1 3C.5 7D.1 21)k+&n+2后,由于首先执行k+2,结果为假,但自身加1,执行完后k=1;n+不会执行,因。

33、此n无变化,n=2。2)while语句后面有一个分号,这里表示while控制的是一条空语句,继续向下执行,输出的结果:1 22.do while()(1)格式do循环体while(表达式)(2)注意1)先执行循环,后判断条件。2)循环体至少执行1次。3)while后面的分号必须要有。3.for语句(1)格式:for(表达式1;表达式2;表达式3)循环体for(k=1;kint main()int i=1;sum=0;for(;iint main()int i=2;sum=0;for(;iint main()int c=0,k;for(k=1;kint main()int f,f1,f2,i;f。

34、1=0;f2=1;printf(%d %d.f1,f2);for(i=3;iint main()int i,j;for(i=1;iint main()int i,j;for(i=1;iint main()int i,j,k;for(i=0;iint main()int i,k,tag;for(i=3;i5000)break;printf(s=%d,i=%d,s,i);(2)continue跳过循环体continue所在位置下面的语句,返回程序开始的地方,继续执行下一层循环体main()int k=1,s=0;for(;k5)printf(s=%dn,s);continue;printf(%dn。

35、,s);输出结果为:1 3S=6s=10s=157.程序应用及习题(1)选择题1)以下程序中的变量已正确定义,输出结果为:for(i=0;i7)n-;printf(%dn,n);5)以下程序段的输出结果为:A.1B.3 0 C.1 -2D.死循环int x=3;doprintf(%3d,x-=2);while(!(-x);*执行第一次循环之后x为1,-x为0;!0则为真,继续执行循环体6)以下程序段的输出结果为:A.15B.14C.不确定D.0main()int i,sum;for(i=1;i0;y-)if(y%3=0)printf(%d,-y);continue*程序输出的是1-10之间3的。

36、倍数自减1的结果8)若x是int型变量,以下程序段输出结果为:A.*3B.#3C.#3D.*3#4#4 *4*4#5 *5*5 #5for(x=3;xb;+b)i+;while(a+c)j+;do k+;while(ad+);2)以下程序段的输出结果为:_______int k,n,m;n=10;m=1;k=1;while(k=0____)if(xamax) amax=x;if(___xmain()int i,j,sum=0;for(i=3;imain()int i,k=0;for(i=1000;iint main()int k=1,max=0;printf(ent -1 to endn);doprintf(ent x1: );scanf(%d,&k);while(k0&kmax)max=k;if(k!=-1)printf(%dn,max);第六章、字符型数据1.字符型常量(1)格式a。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值