C语言课程设计习题及答案

上传人:仙*** 文档编号:33109921 上传时间:2021-10-16 格式:DOC 页数:83 大小:346KB
收藏 版权申诉 举报 下载
C语言课程设计习题及答案_第1页
第1页 / 共83页
C语言课程设计习题及答案_第2页
第2页 / 共83页
C语言课程设计习题及答案_第3页
第3页 / 共83页
资源描述:

《C语言课程设计习题及答案》由会员分享,可在线阅读,更多相关《C语言课程设计习题及答案(83页珍藏版)》请在装配图网上搜索。

1、习题1一选择题1. 一个C程序的执行是从_。A)本程序的 main函数开始,到main函数结束B)本程序文件的第一个函数开始,到程序本文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序的第一个函数开始,到本程序main函数结束2. 以下叙述不正确的是_。A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C) C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面3. C语言规定:在一个源程序中, main函数的位置_。A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后二、填空题1.函

2、数体一般包括 (1) 和 (2) 。2.C源程序的基本单位是_。3. 一个C源程序中至少应包含一个_。4.在一个C源程序中,注释部分两侧的分界符分别是 (1) 和 (2) 。5.在C语言中,输入操作是由库函数 (1) 完成的;输出操作是由库函数 (2) 完成的。6.在C语言中,每个语句的结束符是_。三、编程题1参照课本例1.1,试编写一个C程序,输出如下信息。“# ¥ % & * | ”(提示:使用键盘上的一些符号)。2试编写一个C程序,输出如下图案信息。 * * * * * 试试看,可以输出其他组合图案吗?3. 编写一个求两个整数乘积的函数int mult(int x,int y),在mia

3、n()函数中调用mult()计算两个整数乘积。习题2一、选择题1.以下叙述中错误的是_。A用户所定义的标识符允许使用关键字B用户所定义的标识符应尽量做到“见名知意”C用户所定义的标识符必须以字母或下划线开头D用户定义的标识符中,大、小写字母代表不同标识2.下列合法的长整型常量是_。A)0 B)01 C)-10L D)10003.下列能正确表示八进制数的是_。A)0x7 B)09 C)-22 D)0234.若x、i、j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为_。A) 4 B) 16 C) 32 D) 525. 假设所有变量均为整形,则表达式(a=2,b=5

4、,b+,a+b)的值是_。A) 7 B) 8 C) 6 D) 26.下面四个选项中,均是不合法的用户标识符的选项是_。A) A B) float C) b-a D)_123 P_0 la0 goto temp do _A int INT7. C语言中的标识符只能由字母、数字、和下划线三种字符组成,且第一个字符_。A) 必须为字母 B) 必须为下划线C) 必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符8.下面四个选项中,均是合法浮点数的选项是_。A)+1e+1 B)-.60 C)123e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-4 03e2 -8e5 +2e-

5、1t 5.e-09. 下面合法的字符常量是_。A)a B)ab C)a D)110. 下面不正确的字符串常量是_。A) abc B) “1212” C) “0” D) “ ”字符串常量”abtcdx3d”的长度是_。A)13 B)6 C)7 D)911. 若有代数式,则不正确的C语言表达式是_。A) a/b/b*e*3 B) 3*a*e/b/cC) 3*a*e/b*c D) a*e/c/b*312. 已知各 变量的类型说明如下:int k,a,b;unsigned long w=5;douoble x=1.42;则以下不符合C语言语法的表达式是_。A) x%(-3) B) w+=-2C) k=

6、(a=2,b=3,a+b) D) a+=a-=(b=4)*(a=3)13. 以下不正确的叙述是_。A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a= b后b中的值将放入a中,而b中的值不变.D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型变量14. 在C语言中,要求运算数必须是整型的运算符是_。A )/ B)+ C)!= D)%15. 若有说明语句: char c=72 ;则变量c_。A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法,c的值不确定16. 若有定义: i

7、nt a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是_。A)2.500000 B)2.750000 C)3.500000 D)0.00000017. 设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型是_。A)int B)float C)double D)不确定18. 若有代数式|x3+log10x|,则正确的C语言表达式是_。A)fabs(x*3+log(x) B)abs(pow(x,3)+log(x)C)abs(pow(x,3.0)+log(x) D)fabs(pow(x,3)+log(x)19. 在C语言中,

8、char型数据在内存中的存储形式是_。A)补码 B)反码 C)原码 D)ASCII码20. 表达式18/4*sqrt(4.0)/8值的数据类型为_。A)int B)float C)double D)不确定21. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为_。A)0-255 B)0-32767 C)0-65535 D)0-214748364722. 若有以下定义,则能使值为3的表达式是_。int k=7,x=12;A)x%=(k%5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)二、填空题1. 在C语言中(以16

9、位PC机为例),一个char型数据在内存中所占的字节数为_;一个int 型数据在内存中所占的字节数为_。2. 若有以下定义,则计算表达式y+=y-=m*=y后的y值是_。int m=5,y=2;3. 设C语言中,一个int型数据只内存中占2个字节,则int型数据的取值范围为_。4. C语言所提供的基本数据类型包括:单精度型、双精度型、_、_和_。5. 若s是int型变量,且s=6,则表达式:s%2+(s+1)%2的值为_。6. 若a是int型变量,则表达式:(a=4*5,a*2),a+6的值为_。7. 若a是int 型变量,且a的初值为6,则计算表达式:a+=a-=a*a后a的值为_。8. 若

10、a是int 型变量,则计算表达式:a=25/3%3后a的值为_。9.若有定义:int a=2,b=3; float x=3.5,y=2.5;则下面表达式的值为_。(float)(a+b)/2+(int)x%(int)y习题3一、选择题1以下程序的输出结果是_。(注:表示空格)main() printf(“n*s1=%15s*”,”chinabeijing”);printf(“n*s2=%-5s*”,”chi”); A)*s1=chinabeijing* B) *s1=chinabeijing* *s2=*chi* *s2=chi* C) *s1=*chinabeijing* D) *s1=ch

11、inabeijing*s2=chi* *s2= chi*2已有定义int a=-2;和输出语句:printf(“%81x”,a);以下正确的叙述是_。A)整型变量的输出格式符只有%d一种B)%x是格式符的一种,它可以适用于任何一种类型的数据C) %x是格式符的一种,其变量的值按十六进制输出,但%81x是错误的D) %81x不是错误的格式符,其中数字8规定了输出字段的宽度3以下C程序正确的运行结果是_。main() long y=-43456;printf(y=%-8ldn,y);printf(y=%-08ldn,y);printf(y=%08ldn,y);printf(y=%+8ldn,y);

12、A)y=_ _-43456 B) y= -43456 y=-_ _43456 y= -43456 y=-0043456 y=-0043456 y=- 43456 y=+_- 43456C)y= -43456 D) y= _ _-43456 y=- 43456 y= -0043456 y=-0043456 y=00043456 y=_ _- 43456 y=+ 434564若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是_。A)scanf(“%d%lx,%le”,&x,&y,&z);B)scanf(“%2d *%d,%lf”,&x,&y,&z);C)scan

13、f(“%x %*d%o”,&x,&y);D)scanf(“%x%o%6.2f”,&x,&y,&z);5已有定义 int x;float y;且执行scanf(“%3d%f”,&x,&y);语句时,从第一列开始输入数据12345_678,则x的值为 (1) ,y的值为 (2) 。1A)12345 B)123 C)45 D)3452A)无定值 B)45.000000 C)678.000000 D)123.0000006已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是_。int a1,a2; char c1,c2;sca

14、nf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2);A)1020AB B)10_20 ABC)10_ _20_ _AB D)10_20A_B7根据定义和数据的输入方式,输入语句的正确形式为_。已有定义:float f1,f2;数据的输入方式:4.52 3.5A)scanf(“%f,%f”,&f1,&f2);B)scanf(“%f%f”,&f1,&f2);C)scanf(“%3.2f,%2.1f”,&f1,&f2);D)scanf(“%3.2f%2.1f”,&f1,&f2);8阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为_。main() in

15、t x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%dn”,x+y+z);A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值9以下说法正确的是_。A)输入项可以为一个实型常量,如scanf(“%f”,3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);D)当输入数据时,必须指明变量的地址,如scanf(“ %f”,&f);10根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该

16、为_。main() char ch1,ch2,ch3; 输入语句printf(“%c%c%c”,ch1,ch2,ch3);输入形式:A B C输出形式:A BA)scanf(“%c%c%c”,&ch1,&ch2,&ch3);B)scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);C)scanf(“%c %c %c”,&ch1,&ch2,&ch3);D)scanf(“%c %c”,&ch1,&ch2,&ch3);11以下不正确的语句是_。A)int a=b=c=5; B)int a,b,c=5;C)a=5,b=5,c=5; D)a=b=c=5;12已知ch是字符型变量,下面不正确的

17、赋值语句是_。A )ch=a+b B)ch=0 C)ch=7 +9 D) ch=5+9;13 已知ch是字符型变量,下面正确的赋值语句是_。A )ch=123 B)ch=xff C)ch=08 D) ch=”;14若有以下定义,则正确的赋值语句是_。int a,b;float x;A)a=1,b=2, B)b+; C)a=b=5; D)b=int(x);15设x,y均为float型变量,则以下不合法的赋值语句是_。A )+x B)y=(x%2)/10 C)x*=y+8 D) x=y=016设x,y均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是_。A )x=1

18、0 B) x=10 C) x=10 D) x=10 y=15 y=10 y=10 y=5z=10 z=10 z=15 z=10二、填空题1以下程序的输出结果为_。main() printf(“*%f,%4.3f*n”,3.14,3.1415); 2已有定义int d=-2;执行以下语句的输出结果是_。printf(“*d(1)=%d*d(2)=%3d*d(3)=%-3d*n”,d,d,d);printf(“*d(4)=%x*d(5)=%6x*d(6)=%-6x*n”,d,d,d);3以下程序的输出结果是_。main() int x=1,y=2;printf(“x=%d y=%d*sum*=%d

19、n”,x,y,x+y);printf(“10 Squared is :%dn”,10*10);4以下程序的输出结果是_。main() float a=123.456;double b=8765.4567;printf(“(1)%fn”,a);printf(“(2)%14.3fn”,a);printf(“(3)%6.4fn”,a);printf(“(4)%lfn”,b);printf(“(5)%14.3lfn”,b);printf(“(6)%8.4lfn”,b);printf(“(7)%.4fn”,b);5假设变量a和b均为整型,以下语句可以不借助任何变量把a,b中的值进行交换.请填空.a+=_

20、;b=a-_;a-=_。;6假设变量a,b和c均为整型,以下语句借助中间变量t把a,b和c中的值进行交换,即:把b中的值给a,把c中的值给b, 把a中的值给c。例如:交换前,a=10,b=20,c=30;交换后,a=20,b=30,c=10.请填空。_;a=b;b=c; _;7若a和b均为int型变量,则“a+=b;b=a-b;a-=b;”语句的功能是_。 8在scanf函数调用语句中,可以在格式字符和%号之间加一星号,它的作用是_;当输入以下数据:10203040,下面语句的执行结果是_。int a1,a2,a3;scanf(“%d%*d%d%d”,&a1,&a2,&a3);9已有定义int

21、 a;float b,x;char c1,c2;为使a=3,b=6.5,x=12.6,c1=a,c2=A,正确的scanf函数调用语句是_,输入数据的方式为_。10若有以下定义和语句,为使变量C1得到字符A,变量C2得到字符B,正确的格式输入形式是_。char c1,c2;scanf(“%4c%4c”,&c1,&c2);11已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是_。scanf(“%o%x%e”,&i,&j,&x);12.算法是 。描述算法的方法有 、 、 、 ,13.算法具的特性有 、 、 、

22、、 。 三、编程题1.编写程序从键盘输入梯形的上底长a=12.5、下底b=24.9、高h=15,求梯形的面积(保留1位小数)。2.编写一个程序,输入一个3位正整数,要求反向输出对应的整数,如输入123,则输出321。3.输入一个华氏温度,要求输出摄氏温度。公式为 输出要有文字说明,取2位小数。4.求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这3个字符及其对应的ASCII码值。5.设计算法并用传统流程图表示,求123100。6.设计算法并用传统流程图表示,从10个数中挑选出最大者。7.设计算法并用传统流程图表示,将全班50个学生中考试成

23、绩不及格者的分数打印出来。 习题4一、选择题1逻辑运算符两侧运算对象的数据类型_。A)只能是0或1 B)只能是0或非0正数C)只能是整型或字符型数据 D)可以是任意类型的数据2以下关于运算符优先级顺序的描述中正确的是_。A)关系运算符算术运算符赋值运算符逻辑运算符B)逻辑运算符关系运算符算术运算符赋值运算符C)赋值运算符逻辑运算符关系运算符算术运算符D)算术运算符关系运算符赋值运算符逻辑运算符3下列运算符中优先级最高的是_。A )=1)&(x=200)&(x=1)|(x=200)|(x=1)&(x=200)&(x=1)|(x=200)|(x=210)5判断char型变量ch是否为大写字母的正确

24、表达式是_。A)A=ch=A)&(ch=A)&(ch=Z) D)(A=ch)6设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是_。A )x&y B)x=y C)x|y+z&y-z D)!(x=y&chb)&(n=cd)后n的值是_。A )1 B)2 C)3 D) 49已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是_。if(xy)z=x;x=y;y=z;A )x=10,y=20,z=30 B) x=20,y=30,z=30 C) x=20,y=30,z=10 D) x=20,y=30,z=3010以下程序运行结果是_。main() int

25、m=5;if(m+5) printf(“%dn”,m);else printf(“%dn”,m-);A)4 B)5 C)6 D)711当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是_。if (ab)if(cd) x=1;elseif(ac) if(b=0) if(x!=0) if(x=0)y=x; if(x0)y=x+1; else y=x-1; else y=x;C)if(x=0) D)y=x; if(x0)y=x-1; if(x=0) else y=x; if(x0)y=x-1; else y=x+1; else y=x+1;13以下程序的输出结果是_。main() in

26、t a=100,x=10,y=20,ok1=5,ok2=0;if (xy) if(y!=10) if(!ok1)a=1;else if(ok2) a=10;a=-1;printf”%dn”,a);A)1 B)0 C)-1 D)值不确定14以下程序输出结果是_。main() int x=2,y=-1,z=2;if(xy)if(y0) z=0;else z+=1;printf(“%dn”,z);A)3 B)2 C)1 D)015为了避免在嵌套的条件语句if-else中产生二义性,C语言规定: else子句总是与_配对。A)缩排位置相同的if B)其之前最近的ifC)其之后最近的if D)同一行上的

27、if16若有条件表达式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是_。A)(exp=0) B) (exp!=0) C) (exp=1) D) (exp!=1)17执行以下程序段后,变量a,b,c的值分别是_。int x=10,y=9;int a,b,c;a=(-x=y+)?-x:+y;b=x+;c=y;A)a=9,b=9,c=9 B)a=8,b=8,c=10C)a=9,b=10,c=9 D)a=1,b=11,c=1018若w=1,x=2,y=3,z=4,则条件表达式wx?w:y10?x+100:x-10);printf(“%dn”,w+|z+);printf(“%dn

28、”,!wz);printf(“%dn”,w&z);A)0 B)1 C)0 D)0 1 1 1 1 1 1 0 0 1 1 1 0二、填空题1当a=3,b=2,c=1时,表达式f=abc的值是_。2当a=5,b=4,c=2时,表达式ab!=c的值是_。3在C语言中,表示逻辑“真”值用_。4设y为int 型变量,请写出描述“y是奇数”的表达式_。5C语言提供的三种逻辑运算符是 (1) 、 (2) 、 (3) 。6设x、y、z均为int型变量,请描述“x,y和z中有两个为负数”的表达式_。7已知A=7.5,B=2,C=3.6,表达式AB&CA|AB的值是_。8若a=2,b=4,则表达式!(x=a)|

29、(y=b)&0的值是_。9若a=5,b=2,c=1,则表达式a-bc)后;n的值为 (1) ,m的值为 (2) 。11以下程序的运行结果是_。main() int x,y,z;x=1;y=2;z=3; x=y-y)+(y!=z)|(x+y)&(y-z)13以下程序实现:输入圆的半径r和运算标志m,按照运算标志进行指定计算。请在_内填入正确内容。标志 运算a 面积c 周长b 二者均计算#define pi 3.14159main() char m;float r,c,a;printf(“input mark a c or b&rn”);scanf(“%c %f”,&m,&r);if( (1) )

30、 a=pi*r*r;printf(“area is %f”,a); if( (2) ) c=2*pi*r;printf(“circle is %f”,c);if( (3) ) a=pi*r*r;c=2*pi*r;printf(“area & circle are %f%f”,a,c);14以下程序实现输出x,y,z三个数中的最大者。请在_内填入正确内容。main() int x=4,y=6,z=7;int (1) ;if( (2) ) u=x;else u=y;if (3) ) u=z;printf(“max=%d,u);15以下程序实现:输入三个整数,按从大到小的顺序进行输出。请在_内 填入

31、正确内容。main() int x,y,z,c;scanf(“%d %d %d,&x,&y,&z);if( (1) )c=y;y=z;z=c;if( (2) )c=x;x=z;z=c;if( (3) )c=x;x=y;y=c;printf(“%d %d %d”,x,y,z);16输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。请在_内填入正确内容。main() char ch;scanf(“%c,&ch);if( (1) ) ch=ch+32;else if(ch=a&ch0) s=s+1;if(ab) t=s+t;else if

32、(a=b) t=5;else t=2*s;printf(“s=%d,t=%d”,s,t);为了使输出结果t=4,输入量a和b应满足的条件是_。19下面程序根据以下函数关系,对输入的每个x值,计算出y值。请在_内填入正确内容。main() int x,y;scanf(“%d”,&x); if( (1) ) y=x*(x+2);else if ( (2) ) y=2*x;else if (xb?a:b+1的值是_。22设有变量定义:int a=10,c=9;则表达式(-a!=c+)?-a:+c的值是_。23若有说明语句:int a=1,b=0;则表达式+a*-a=b?12%5:x的值是_。24以下

33、程序运行结果是_。#include main() int a=-10,b=-3;printf(“%d,”,-a%b);printf(“%d,”,(a-b,a+b);printf(“%d,”,a-b?a-b:a+b);25以下程序运行结果是_。main() int x=1,y=1,z=1;y=y+z;x=x+y;printf(“%d,”,xy?y:x);printf(“%d,”,x=y=x?1:0);printf(“%dn”,z=y&y=x);27如果 运行 时输入字符为y,则以下程序的运行结果是_。main() char ch;scanf(“%c”,&ch);ch=(ch=A&ch=a&ch=

34、z)?(ch-32):ch;printf(“%c”,ch);28以下程序是计算x,y,z三个数中最小的。请在_内填入正确内容。main() int x=4,y=5,z=8;int u,v;u=xy? (1) ;v=uz? (2) ;printf(“%d”,v);29设有变量定义:int a=5,c=4;则(-a=+c)?-a:c+的值是 (1) ,此时C的存储单元为 (2) 。30以下程序段的运行结果是_。int x=1,y=0;switch(x) case 1:switch(y) case 0: printf(“* * 1 * *n”); break;case 1: printf(“* *

35、2 * *n”); break;case 2: printf(“* * 3 * *n”); 31根据以下函数关系,对输入的每个x值,计算出相应的y值。请在程序的_内填入正确的内容。main() int x,c,m;float y;scanf(“%d”,&x);if( (1) ) c=-1;else c= (2) ;switch(c) case -1: y=0; break;case 0: y=x; break;case1: y=10; break;case2:case3: y=-0.5*x+20; break;default:y=-2;if( (3) ) printf(“y=%f”,y);el

36、se printf(“errorn”);32以下程序的运行结果是_。#include main() int x=1,y=0,a=0,b=0;switch(x) case1:switch(y) case0: a+;break;case1: b+;break;case2: a+;b+;break;printf(“a=%d,b=%d”,a,b);三、编程题1编写程序计算下面分段函数的值。2.企业发放的奖金根据利润提成。利润I低于或等于100 000元时,奖金可提10%;利润高于100 000元,低于200 000元时,低于100 000元的企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,

37、奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?3运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下: 设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费的计算公式为:F=p*w*s*(1-d)4. 输入某年某月某日,判断这一天是这一年的

38、第几天?习题5一、选择题1.设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是_。A)while循环执行10次 B)循环是无限循环C)循环体语句一次也不执行 D) 循环体语句执行一次2.设有以下程序段int x=0,s=0;while(!x!=0) s+=+x;printf(“%d”,s);则_。A)运行程序段后输出0 B)运行程序段后输出1C)程序段中的控制表达式是非法的 D)程序段执行无限次3.语句while(!E);中的表达式!E等价于_。A) E=0 B)E!=1 C) E!=0 D) E=14.下面程序段的运行结果是_。a=1;b=2;c=2;whil

39、e(abc) t=a;a=b;b=t;c-;printf(“%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,15.下面程序段的运行结果是_。x=y=0;while(x15) y+,x+=+y;printf(“%d,%d”,y,x);A)20,7 B)6,12 C)20,8 D)8,206.下面程序的功能是将从键盘输入的一对数,由小到大输出。当输入一对相等数时结束循环,请选择填空。#includemain() int a,b,t; scanf(“%d%d”,&a,& b);while(_) if(ab) t=a;a=b;b=t;printf(“%d,

40、%dn”,a,b);scanf(“%d%d”, &a,& b);A)!a=b B) a!=b C) a=b D) a=b7.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。#includemain() int m=0,n=0;char c;while(_ _(1)_ _)!=n) if(c=A&c=a&c=z) n+;printf(“%dn”,mn?_ _(2)_ _);(1)A)c=getchar() B)getchar C) c=getchar() D)scanf(“%c”,c)(2)A)n:m B)m:n C)m:m D

41、)n:n8.下面程序的运行结果是_。#includemain() int num=0;while(num=2) num+; printf(“%dn”,num); A)1 B)1 C) 1 D)12 2 2 3 349.C语言中while和do-while循环的主要区别是_。A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格C) do-while允许从外部转到循环体内D) do-while的循环体不能是复合语句10.若有如下语句int x=3;doprintf(“%dn”,x-=2);while(!(-x);则上面程序段_。A)输出的是

42、1 B)输出的是1和-2 C) 输出的是3和0 D)是死循环11.等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大n,请选择填空。#includemain() int a,q,n,sum; a=1;q=2;n=sum=0; do (1) ; +n; a*=q;while(sum100); (2) ;printf(“%dn”,n);(1)A)sum+ B)sum+=a C)sum*=a D)a+=sum(2)A)n=n-2 B)n=n C)n+ D)n-=112.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。#incl

43、udemain() int i=0,j,k;doi+; k=316-13*i;while(_);j=k/11;printf(“316=13*%d+11*%d”,i,j);A)k/11 B)k%11 C)k/11=0 D) k%11=013.下面关于for循环的正确描述是_。A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来14.对for(表达式1;表达式3)可理解为_。A) for(表达式1;0;表达式3) B) for(表达式1;1;表

44、达式3)C) for(表达式1;表达式1;表达式3) D) for(表达式1;表达式3;表达式3)15.若i为整型变量,则以下循环执行次数是_。for(i=2;i=0;) printf(“%d”,i-);A)无限次 B)0次 C)1次 D)2次16.以下for循环的执行次数是_。for(x=0,y=0;(y=123)&(x4);x+);A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次17.下面程序段的运行结果是_。for(x=3;x6;x+) printf(x%2)?(“*%d”):(“#%dn”),x);A)*3 B) #3 C) #3 D) *3#4 #5 *4 *4#5 *5 *5 #518.执行语句for(i=1;i+4; );后变量i的值是_。A)3 B)4 C)5 D)不定19.下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。#includemain() int i,sum=0; for(i=1;i50;i+) if(_) sum+=i; printf(“%d”,sum);A)(int)(i/7)=i/7 B) (int)i/7=i/7 C)i%7=0 D)i%7=020

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!