技能高考c语言复习资料_第1页
技能高考c语言复习资料_第2页
技能高考c语言复习资料_第3页
技能高考c语言复习资料_第4页
技能高考c语言复习资料_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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.013

16、)不合法的十六进制数是: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.printf中

18、常用的格式说明:在格式说明符中,每一个格式说明符都必须以%号开头由相应的类型标识字母结束。但在他们之间可以有其他的一个内容:(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 3.3

20、)#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);3)

22、若变量已正确说明为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);三:c语言的

24、程序结构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 x=

25、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=a;

26、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) printf

27、(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(x=3) ; else if(x!=10)printf(%dn,x);A.不

28、等于10的整数B.大于3且不等于10的整数C.大于3或等于10的整数D.小于3的整数3)有以下程序,程序的输出结果为:#includemain()int a=1,b=2,c=3,d=0;if(a=1&b+=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)格式:表

29、达式1?表达式2:表达式3当表达式1成立(非零时),表达式的值是表达式2的值,否则就是3的值。如:1)12?4:52)printf(%d,x3?(x3?a,b):b5.switch语句:switch(表达式)case常量表达式1:语句1;break;case常量表达式2:语句2;break;case常量表达式3:语句3;break;case常量表达式4:语句4;break;case常量表达式5:语句5;break;case常量表达式6:语句6;default:语句n;(1)switch后面无分号(2)通常常量表达式为整型类型(3)default用于最后系统自动判断的剩余值(4)break用于返

30、回,退出循环(最后一条语句不用加break,因为执行完后只有最后一个返回值了)(5)case后面有一定要加一个空格,关键字后面不能与其他字符连在一起。6.习题(1)选择题1)下列运算符中优先级最高的运算符是:A.!B.%C.-=D.&2)下列运算符中优先级最低的运算符是:A.|B.!=C.=D.+3)设a、b、c都是int型变量,且a=3,b=4,c=5;则以下表达式中,值为0的表达式为:A.a&bB.a=bC.a|b+c&b-cD!(ab)&!c|1)4)以下程序的输出结果为:A.0B.1C.2D.3main()int a=2,b=-1,c=2;if(ab)if(b0)c=0;else c+

31、=1;printf(%dn,c);(else与最近的if配对,若第一个if不成立,则继续执行下一条语句。)5)以下程序的输出结果为:A.1B.2C.3D.4main()int w=4,x=3,y=2,z=1;printf(%dn,(wz?w:zy?z:x);6)若执行以下程序时从键盘山输入3和4,则输出结果为:A.14B.16C.18D.20main()int a,b,s;scanf(%d%d,&a,&b);s=a;if(ab) s=b;s*=s;printf(%dn,s);7)以下是if语句的基本形式:Dif(表达式)语句;其中“表达式”A.必须是逻辑表达式B.必须的关系表达式C.必须是逻辑

32、表达式或关系表达式D.可以使任意合法的表达式*if括号内用的最多的是逻辑表达式*其次是逻辑表达式*有时候要实现程序的某种特定的需求,会用一些特殊的表达式(2)填空题1)C语言中用(非零)表示真,用(零)表示假。2)比较!=和=的优先级3)C语言中逻辑运算符的优先级顺序为(非)、(与)、(或)4)C语言中逻辑运算符(非)的优先级最高5)将下列数学式改写成C语言的滚系表达式或逻辑表达式A)a=b|a4|x-4A)a=b或a46)请写出以下程序的输出结果:_main()int a=100;if(a100) printf(%dn,a100);elseprintf(%dn,a0)A)!0 8)当a=1,

33、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:printf(*);break;default printf(#);*switch(x)=0,执行循环体内的case 0;*y=2,为比较表达式,若条件成立,则执行为真,即“1”

34、;*break常用于循环语句中,条出的为离它最近的一层循环;(3)编程题1)请将以下的语句改成switch语句。if(a30)m=1;else if(a40)m=2;else if(a50)m=3;else if(a60)m=4;else m=5;转化为:switch(a/10)case 3:m=1;break;case 4:m=2;break;case 5:m=3;break;case 6:m=4;break;default:m=5;2)编写程序,输入一位学生的生日(年:y0、月m0、日d0);并输入当前的日期(年:y1、月:m1、日:d1);输出该生的实足年龄。#includeint ma

35、in()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);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)编写程序,输入三个数,打印出

36、最大值#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)括号及括号内的表达式不能丢3)while控制的是与其相邻的一条语句(以“;”结束),如果有多条语句,则要用括起来(复合语句)。4)while语句多用于控制重复某一操作来实现某种计算。(3)例题例:从1加到100求和#includeint main()int sum=0,i=1;while(i=100)sum+=i+;

37、printf(%dn,sum);例:从1开始加到哪个数时他们的和超过1000#includeint main()int i=1,sum=0,j=1;while(sum=1000)sum+=i+;printf(%dn,-i);*程序中的-i是因为当sum的值大于1000时,i累计多加了一次,因此在输出结果时要自身先减1;例:有以下程序,运行后输出结果为:D#includeint 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;

38、n+不会执行,因此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;k10;k+)printf(*);|int k=1;while(k10)printf(*);k+;(2)注意1)表达式1是对变量的初始2)表达式2为条件表达式,逻辑表达式3)循环内包含的控制变量4)表达式的间隔为分

39、号且不能省略,不是逗号5)一个表达式可以为任何有效的C语言表达式,以“,”为分隔,最后一个为“;”结束6)表达式可以为空语句(;),但不能少分号(3)例题1)从1+100求和。#includeint main()int i=1;sum=0;for(;i=100;i+)sum+=i;2)从1+100中偶数的和。#includeint main()int i=2;sum=0;for(;i=100;i+=2)sum+=i;3)以下程序的输出结果为#includeint main()int c=0,k;for(k=1;k3;k+)switch(k)default:c+=k;case 2:c+;brea

40、k;case 4:c+=2;break;printf(%dn,c);A.3B.5C.7D.9分析:default:c+=k;这里没有break跳出循环,继续执行case 2:c+后,变为2;执行第二次循环k=2;c变为3;4)以下程序的输出结果为_0 1 123_#includeint main()int f,f1,f2,i;f1=0;f2=1;printf(%d %d.f1,f2);for(i=3;i=5;i+)f=f1+f2;printf(%d,f);f1=f2;f2=f;分析:f用来求f1+f2的和,共求3次,f1=f2用来把f1的值归1;f2=f用来把求得的值赋给下一次循环计算时的变量

41、。4.for嵌套(1)实例1要求:在屏幕上输出如下结果:11,12,13,14,15,16,17,8,1922,99#includeint main()int i,j;for(i=1;i10;i+)for(j=1;j10;j+)printf(%d%d ,i,j);printf(n);(2)实例2要求:在屏幕上输出如下结果:1*1=1 1*2=2 1*3=3 1*9=99*1=9 9*2=18 9*3=279*9=81#includeint main()int i,j;for(i=1;i=9;i+)for(j=1;j=9;j+)printf(%d*%d=%2d ,i,j,i*j);printf(

42、n);(3)实例3要求:在屏幕上输出倒三角* * * *#includeint main()int i,j,k;for(i=0;i=4;i+)for(k=1;k=i;k+)prinf( );for(j=0;j7-i*2;j+)printf(*);printf(n);(4)注意1)for嵌套先执行内循环,执行完一遍后再执行外循环。2)花括号控制最近的一个for循环体(5)素数的判定编写程序,找出2-100以内的所有素数素数:只能被1和它本身整除的数#includeint main()int i,k,tag;for(i=3;i=100;i+=2)tag=0;for(k=2;k5000)break;

43、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,s);输出结果为:1 3S=6s=10s=157.程序应用及习题(1)选择题1)以下程序中的变量已正确定义,输出结果为:for(i=0;i4;i+) for(k=1;k3;k+) ; printf(*);A.*B.*C.*D.*外层循环与内层循环控制的都是输出空语句,程序最后才执行输出一个*2)以下程序输出结果为:A.9B

44、.1C.11D.10int k,j,s;for(k=2;k6;k+,k+)s=1;for(j=k;j6;j+) s+=j;printf(%dn,s);5 7 9 11*外循环中有两次k+,相当于k+=2;那么当k小于6时,程序循环两次*每次执行内层循环之后,s的值都变为1;直接看最后一次的外循环3)以下程序输出结果为:A.12B.15C.20D.25int i,j,m=0;for(i=1;i=15;i+=4) for(j=3;j7)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的倍数自减1的结果8)若x是int型变量,以下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论