《c语言选择题题库,考试必考!!!.pdf》由会员分享,可在线阅读,更多相关《c语言选择题题库,考试必考!!!.pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言选择题精选*1、A 一个 C程序的执行是从_。A)本程序的main 函数开始,到 main 函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main 函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序 main 函数结束*2、C 以下叙述正确的是:A)在 C程序中,main 函数必须位于程序的最前面B)C 程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误*3、D 以下叙述不正确的是。A)一个 C源程序可由一个或多个函数组成B)一个 C源程序必须包含一个m
2、ain 函数C)C程序的基本组成单位是函数D)在 C程序中,注释说明只能位于一条语句的后面*4、C C语言规定:在一个源程序中,main 函数的位置。A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后*5、B 一个 C语言程序是由A)一个主程序和若干子程序组成 B)函数组成C)若干过程组成 D)若干子程序组成*6、A 在 C语言中(以 16 位 PC机为例),5种基本数据类型的存储空间长度的排列顺序为A)charint 1ong int=floatdouble B)char=int1ong int=floatdouble C)char int 1ong int=floa
3、t=double D)char=int =1ong int=floatdouble*7、C 若 x,i,j和 k 都是 int型变量,则执行下面表达式后x 的值为 x=(i=4,j=16,k=32)A)4 B)16 C)32 D)52*8、B 假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是:A)7 B)8 C)6 D)2*9、A 下列四组选项中,均不是 C语言关键字的选项是A)define B)getc C)include D)while IF char scanf go type printf case pow *10、B 下面四个选项中,均是 C语言关键字的选项是A)
4、auto B)switch C)signed D)if enum typedef union struct include continue scanf type*11、C 下面四个选项中,均是不合法的用户标识符的选项是。A)A B)float C)b-a D)一 123 P_0 1a0 goto temp do 一 A int INT*12、C C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母,数字和下划线中任一种字符*13、A 下面四个选项中,均是合法整型常量的选项是:A)160 B)一 0 xcd
5、f C)一 01 D)一 0 x48a 一 0 xffff 01a 986,012 2e5 011 0 xe 0668 0 x*14、D 下面四个选项中,均是不合法的整型常量的选项是:A)一一 0f1 B)一 0Xcdf C)一 018 D)一 0 x48eg 一 0 xffff 017 999 一 068 0011 12,456 5e2 03f*15、B 下面四个选项中,均是不合法的浮点数的选项是A)160.B)123 C)一.18 D)一 e3 0.12 2e4.2 123e4 .234 e3 .e5 0.0 1e3 *16、B 下面四个选项中,均是合法浮点数的选项是 A)+le+1 B)
6、-.60 C)123e D)一 e3 5e一 9.4 12e-4 1.2e-.4 .8e4 03e2 一 8e5 +2e一 1 5.e一 0*17、A 下面四个选项中,均是合法转义字符的选项是 A)B)C)018 D)0 017 f 101 n xab xlf*18、B 下面四个选项中,均是不合法的转义字符的选项是 A)B)1011 C)011 D)abc f 101 xf a xlf*19、C 下面正确的字符常量是:A)a B)C)W D)*20、D 下面四个选项中,均是不正确的八进制数或十六进制数的选项是。A)016 B)oabc C)010 D)0a12 0 x8f 017 -0 x11
7、 7ff 018 0 x8 0 x16 -123*21、C 下面四个选项中,均是正确的八进制数或十六进制数的选项是。A)一 10 B)0abc C)0010 D)0al2 0 x8f 一 017 一 0 x11 -0 xl23 一 011 0 xc 0 xf1 一 0 x8*22、D 下面四个选项中、均是正确的数值常量或字符常量的选项是:A)0.0 B)a C)3 D)十 001 0f 3.9E-2.5 011 0 xabcd 8.9e lel0 xFFOO 2e2&0a 50.*23、A 下面不正确的字符串常量是。A)abc B)1212 C)0 D)*24、C 若有代数式3ae/bc,则不
8、正确的C语言表达式是:A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3*25、A 已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是:A)x%(一 3)B)w+=-2 C)k=(a=2,b=3,a十 b)D)a十=a 一=(b=4)*(a=3)*26、A 已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是:A)a十=a一=(b=4)*(a=3)B)a
9、=a*3=2 C)x%(一 3)D)y=f1oat(i)*27、D 以下不正确的叙述是A)在 C程序中,逗号运算符的优先级最低B)在 C程序中,APH 和 aph 是两个不同的变量C)若 a 和 b 类型相同,在执行了赋值表达式a=b 后 b 中的值将放人a 中,而 b 中的值不变。D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。*28、D 以下正确的叙述是:A)在 C程序中,每行中只能写一条语句B)若 a 是实型变量,C 程序中允许赋值a=10,因此实型变量中允许存放整型数C)在 C程序中,无论是整数还是实数,都能被准确无误地表示D)在 C程序中,%是只能
10、用于整数运算的运算符*29、B 以下符合C语言语法的赋值表达式是A)d=9+e+f=d+9 B)d=9+e,f=d+9 C)d=9 十 e,e+,d十 9 D)d=9十 e+=d 十 7*30、A 已知字母 A的 ASCII 码为十进制数65,且 c2 为字符型,则执行语句c2=A 十6 一 3;后,c2中的值为A)D B)68 C)不确定的值 D)C*31、D 在 C语言中,要求运算数必须是整型的运算符是。A)/B)+c)!=D)%*32、A 若以下变量均是整型,且 num=sum=7;则执行表达式sUM=num+,sUM+,+num 后 sum的值为 A)7 B 8 C)9 D)10*33
11、、D 在 C语言中,int、char 和 short种类型数据在内存中所占用的字节数A)由用户自己定义 B)均为 2 个字节C)是任意的 D)由所用机器的机器字长决定*34、A 若有说明语句:char c=72则变量 c A)包含 1 个字符 B)包含 2 个字符C)包含 3 个字符 D)说明不合法,c 的值不确定*35、A 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2500000 B)2.7500OO C)3.500000 D)0.000000。*36、B sizeof(float)是:A)一个双精度型表达式 B)
12、一个整型表达式C)一种函数调用 D)一个不合法的表达式*37、C 设变量 a 是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为 A)int B)float C)double D)不确定*38、A 下面四个选项中,均是非法常量的选项是。A)as B)c)-0 xl8 D)0 xabc -0fff 01 01177 0 0 xa 12,456 0 xfa*39、D 在 C语言中,char型数据在内存中的存储形式是:A)补码 B)反码 C)原码 D)ASCII码*40、B 设变量 n 为 f1oat类型,m 为 int类型,则以下能实现将n 中的数值保留小数点后两位,第三位进行
13、四舍五人运算的表达式是一一一。A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0 C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0*41、C 表达式 18/4*sqrt(4.0)/8值的数据类型为:A)int B)float C)double D)不确定*42、C 设 C语言中,一个 int型数据在内存中占2 个字节,则 unsigned int型数据的取值范围为:A)0 255 B)032767 C)0 65535 D)02147483647*43、D 设有说明:char w;int x;f1oat y;double
14、z;则表达式w*x+z 一 y 值的数据类型为:A)float B)char C)int D)double*44、D 若有以下定义,则能使值为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)*45、C 设以下变量均为int类型,则值不等于7 的表达式是A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(y=6,y+l,x=y,x+1)*46、D putchar函数可以向终端输出一个:A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型
15、变量值*47、B printf函数中用到格式符%5s,其中数字5 表示输出的字符串占用5 列。如果字符串长度大于 5,则输出按方式A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息*48、C printf函数中用到格式符%5s,其中数字5 表示输出的字符串占用5 列。如果字符串长度小于 5,则输出按方式。A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息*49、D 已有定义 int a=-2;和输出语句:printf(%8lx,a);以下正确的叙述是:A)整型变量的输出格式符只有%d
16、一种B)%x 是格式符的一种,它可以适用于任何一种类型的数据C)%x 是格式符的一种,其变量的值按十六进制输出,但%8lx 是错误的D)%8lx 不是错误的格式符,其中数字8 规定了输出字段的宽度*50、D 若 x,y均定义为int型,z 定义为 double 型,以下不合法的scanf 函数调用语句是:A)scanf(%d%lx,%le,&x,&y,&z);B)scanf(%2d*%d%lf&x,&y,&z);C)scanf(%x%*d%o,&x,&y);D)scanf(%x%o%6.2f,&x,&y,&z);*51、A 已有如下定义和输入语句,若要求 a1,a2,c1,c2值分别为10,2
17、0,A和 B,当从第一列开始输入数据时,正确的数据输入方式是int a1,a2;char c1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);A)10A 20B B)10 A 20 B C)10A20 D)10A20 B。*52、B 已有定义int x;f1oat y;且执行 scanf(%3d%f,&x,&y);语句,若从第一列开始输入数据 12345 678(回车),则 x 的值为A)12345 B)123 C)45 D)345*53、B 已有定义int x;f1oat y;且执行 scanf(%3d%f,&x,&y);语句,若从第一列开始输入数据 12345 67
18、8(回车),则 y 的值为:A)无定值 B)45.0000 C)678.000000 D)123.00000*54、D 已有如下定义和输入语句,若要求 a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是:int a1,a2;char c1,c2;scanf(%d%d,&a1,&a2);scanf(%c%c,&c1,&c2);A)1020AB B)10 20AB C)10 20 AB D)10 20AB*55、D 已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为 main()int a;float f;printf(nInput nu
19、mber:);输入语句 printf(nf=%f,a=%dn,f,a);Input number:4.5 2 A)scanf(%d,%f,&a,&f);B)scanf(%f,%d,&f,&a)C)scanf(%d%f,&a,&f);D)scanf(%f%d,&f,&a);*56、B 根据定义和数据的输入方式,输入语句的正确形式为:已有定义:float fl,f2;数据的输入方式:4.52 3.5 A)scanf(%f,%f,&f1,&f2);B)scanf(%f%f,&f1,&f2);C)scanf(%3.2f%2.1f,&f1,&f);D)scanf(%3.2f%2.1f,&f1,&f2);
20、*57、D 阅读以下程序,当输入数据的形式为25,13,10 正确的输出结果为:main()int x,y,z scanf(%d%d%d,&x,&y,&z);printf(x+y+z=%dn,x+y+z);。A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不确定值*58、B 阅读下程序,若运行结果为如下形式 ,输入输出语句的正确内容是:main()int x;float y;printf(enter x,y :)输入语句输出语句 输入形式 enter x,y:2 3.4 输出形式 x+y=5.40 A)scanf(%d,%f,&x,&y);printf(nx+y=%4.2f,
21、x+y);B)scanf(%d%f,&x,&y);printf(nx+y=%4.2f,x+y);C)scanf(%d%f,&x,&y);printf(nx+y=%6.lf,x+y);D)scanf(%d%3.1f,&x,&y);printf(nx十 y=%4.2f,x+y);*59、D 以下说法正确的是:A)输入项可以为一实型常量,如 scanf(%f,3.5);B)只有格式控制,没有输入项,也能进行正确输入,如 scanf(a=%d,b=%d);C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf(%4.2f,&f);D)当输入数据时,必须指明变量的地址,如 scanf
22、(%f,&f);*60、A 根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为:main()char ch1 ,ch2 ,ch3;输入语句printf(%c%c%c,ch1,ch2,ch3);输入形式:A B C 输出形式:A B A)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);*61、D 有输入语句:scanf(a=%d,b=%d,c=%d,&a,&b,&c);为使变量a
23、的值为 1,b 为 3,c 为 2,从键盘输入数据的正确形式应当是A)132(回车)B)1,3,2(回车)C)a=1b=3c=2(回车)D)a=1,b=3,c=2(回车)*62、A 以下能正确地定义整型变量a,b 和 c 并为其赋初值5 的语句是 A)int a=b=c=5;B)int a,b,c=5;C)a=5,b=5,c=5;D)a=b=c=5;*63、A 已知 ch 是字符型变量,下面不正确的赋值语句是A)ch=a+b;B)ch=0;C)ch=7+9;D)ch=5+9;*64、B 已知 ch 是字符型变量,下面正确的赋值语句是A)ch=123;B)ch=xff;C)ch=08;D)ch=
24、;*65、B 若有以下定义,则正确的赋值语句是:int a,b;float x;A)a=1,b=2,B)b+;C)a=b=5 D)b=int(x);*66、B 设 x、y 均为 f1oat型变量,则以下不合法的赋值语句是A)+x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0;*67、A x,y,z均为 int型变量,则执行语句x=(y=(z=10)+5)一 5;后,x、y 和之的值是:A)x=10 B)x=10 C)x=10 D)x=10 y=15 y=10 y=10 y=5 z=10 z=10 z=15 z=10 *68、D 逻辑运算符两侧运算对象的数据类型一一一。A)只能是
25、0 或 1 B)只能是 0 或非 0 正数 C)只能是整型或字符型数据 D)可以是任何类型的数据*69、C 下关于运算符优先顺序的描述中正确的是一一一。A)关系运算符 算术运算符 赋值运算符 逻辑与运算符B)逻辑运算符 关系运算符 算术运算符 赋值运算符C)赋值运算符 逻辑与运算符 关系运算符 算术运算符D)算术运算符 关系运算符 赋值运算符 逻辑与运算符*70、B 下列运算符中优先级最高的是一一一。A)=1)&(x=200)&(x=1)|(x=200)|(x=1)&(x=200)&(x=1)|(x=200)|(x X a b c A)(X=B)&(X=C)B)(x=a)|(b=x=c)C)(
26、x=b)&(x=c)D)(x =a)&(b=x =c)*73、C 判断 char 型变量 ch 是否为大写字母的正确表达式是一一一。A)A=ch=A)&(ch=A)&(ch=z)D)(A =ch)*74、D 设 x,y 和 z 是 int型变量,且 x=3,y=4,z=5,则下面表达式中值为0 的是 A)y&y B)x =y C)x|y+z&y-z D)!(x=y&chb)&(n=cd)后 n 的值为:A)1 B)2 C)3 D)4 *78、D 判断 char 型变量 c1 是否为小写字母正确表达式为:A)a=cl=a)&(cl=cl)|(z=a)&(clx)&(b=yz);A)6 B)0 C
27、)1 D)4*82、C 以下不正确的if语句形式是:A)if(xy&x!=y);B)if(x=y)x+=y C)if(x!=y)scanf(%d,&x)else scanf(%d,&y);D)if(X0)printf(%f,x)else printf(%f,-x);B)if(x0)x=x+y;printf(%f,x);else printf(f,-x);C)if(x0)x=x+y;prinrf(%f,x);else printf(%f,-x);D)if(x 0)x=x+y;printf(%f,x)else printf(%f,-x);*85、D 请阅读以下程序:main()int a=5,b=
28、0,c=0;if(a=b+c)printf(*n );e1se printf($n);以上程序 :A 有语法错不能通过编译 B可以通过编译但不能通过连接 C 输出*D 输出$*86、C 以下程序的运行结果是:main()int m=5;if(m+5)printf(%dn,m);e1se printf(%dn,m-);A)4 B)5 C)6 D)7*87、B 当 a=1,b=3,c=5,d=4,执行完下面一段程序后x 的值是 :if(ab)if(cd)x=1;else if(ac)if(bd)x=2;else x=3;else x=6;else x=7;A)1 B)2 C)3 D)6*88、C
29、以下程序的输出结果是:main()int a=100,x=10,y=20,okl=5,ok2=0;if (xy)if(y!=10)if(!okl)a=1;else if(ok2)a=10;a=-1:printf(%dn,a)A)1 B)0 C)一 1 D)值不确定*89、B 以下程序的输出结果是:main()int x=2,y=一 1,z=2;if(xy)if(yy);B)if (x=y)&(x!=0)x+=y;C)if(x!=y)scanf(%d,&x);else scanf(%d,&y);D)if(x y)x+;y十十;*92、B 请阅读以下程序:i nclude main()float
30、a,b scanf(%f,&a);if(a10.0)b=1.0/x;else if(a0.5)&(a!=2.0)b=1.0/(a十 2.0);else if(a 12?x+10:x一 12;printf(%dn,y);A)0 B)22 C)12 0)10*95、D 以下程序的运行结果是:main()int k=4,a=3,b=2,c=;printf(n%dn,k a?k:cb?c:a);A)4 B)3 C)2 D)1*96、B 执行以下程序段后、变量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
31、 B)a=8,b=8,c=10 C)a=9,b=10,c=9 D)a=1,b=11,c=10*97、A 若 w,x,y,z,m均为 int型变量,则执行下面语句后的m值是:w=1;x=2;y=3;z=4;m=(wy)?w:x;m=(my)?m:y;m=(mz)?m:Z;A)1 B)2 C)3 D)4*98、D 若 w=1,X=2,y=3,z=4,则条件表达式wx?w:y 10?x+100:x 一 10);printf(%dn,w+|z+);printf(%dn,!wz);printf(%dn,w&z);A)0 B)1 C)0 D)0*100、C 设有程序段 int k=10;while (k=
32、0)k=k1;则下面描述中正确的是A)while循环执行10 次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次*101、B 有以下程序段 int x=0,s=0;while (!x!=0)s+=+x;printf(%d,s);则A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次*102、A 语句 while(!E)中的表达式!E 等价于:A)E=0 B)E!=1 C)E!=0 D)E=1*103、A 下面程序段的运行结果是 a=1;b=2;c=2;while(abc)t=a;a=b;b=t;c-;printf(%d,%
33、d,%d,a,6,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1*102、C 下面程序段的运行结果是:x=y=0;while(x15)y+,x+=+y;printf(%d,%d,y,x);A)20,7 B)6,12 C)20,8 D)8,20*103、C【题 5.6】下面程序段的运行结果是 if n=0;while(n+=2);printf(%d,n);A)2 B)3 C)4 D)有语法错*104、B 设有程序段 t=0;while (printf*妻);t+;if(t3)break 面描述正确的是:A)其中循环控制表达式与0 等价 B)其中循环控制表达式与0 等价 C)
34、其中循环控制表达式是不合法的 D)以上说法部不对*105、B 下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空:#indude main()int a,b,t;scanf(%d%d,&a,&b);while(【1】)if(ab)t=a;a=b;b=t;printf(%d,%d,a,b);scahf(%d%d,&a,&b);人【1】A !a=b B a!=b C a=b D a=b*106、C 下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出 m、n 中的较大者,请选择填空:#indude stdio.h mai
35、n()int m=0,n=0;char c;1 while(【1】)!=n)if(c=A&C=a&c=z)n+;printf(%dn,m=a&cz&c=z+2)【2】;printf(%c,c)【2】A)c=B B)c=A C)c-=26 D)c=c+26*108、B 下面程序的功能是在输入的一批正整数中求出最大者,输入 0 结束循环,请选择填空。include main()int a,max=0;scanf(%d,&a)while(【1】)if(maxa max=a;scanf(%d,&a);)printf(%d,max );【1】A a=o BA C !A=1D!a *109、C 下面程序的
36、运行结果是。i nclude main()int num=0;while(num=2)num+printf(%dn,num);A)1 B)1 C)1 D)1 2 2 2 3 3 4 *110、C 以下程序段x=-1;do x=x*x;while(!x);A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误*111、C 以下描述中正确的是:A)由于 do 一 while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 B)do一 while 循环由 do 开始,用 while结束,在 while(表达式)后面不能写分号 C)在 do 一 while 循环体中,一定
37、要有能使while 后表达式值变为零(假)的操作 D)do一 while 循环中,根据情况可以省略while*112、B 若有如下语句 int x=3;do printf(%dn,x-=2);while(!(-x);则上面程序段 A)输出的是 1 B)输出的是1 和-2 C)输出的是3 和 0 D)是死循环*113 下面程序的功能是计算正整数2345 的各位数字平方和,请选择填空。i nclude main()int n,sum=0;n=2345 do sum=sum+(n%10)*n%10;n=【2】;while(n);printf(sum=%d,sum);【2】A)n/1000 B)n/1
38、00 C)n/10 D)n%10*114、B 下面程序是从键盘输入学号,然后输出学号中百位数字是3 的学号,输入 0 时结束循环。请选择填空。#include main()1ong int num;scanf(%ld,&num);do if(【1】)printf(%ld,num);scanf(%ld,&num);while(!num=0);【1】A)num B)num0=0 C)!num=0 D)!num!=0*115、B 下面程序的功能是把316 表示为两个加数的和,使两个加数分别能被13 和 11 整除。请选择填空。i nclude main()int i=0,j,k;do i+;k=31
39、6一 13*i;while(【1】);j=k/11;printf(316=13*%d十 11*%d,i,j);【1】A)k/11 B)k%11 C)k/11=0 D)k/11=0*116、D 下面程序的运行结果是:#indude main()int y=10;doy-;while(-y);printf(%dn,y-);A)一 1 B)1 C)8 D)0*117、D 若运行以下程序时,从键盘输入ADescriptor(CR)表示回车),则下面程序的运行结果是:include main()char c;int v0=0.v1=0,v2=0;do switch(c=getchar()case a:c
40、ase A :case e:case E:case i:case I:case o:Case O :case u:case U :vl+=1;default:v0+=1;v2+=1 ;while(c!=n);printf(v0=%d,v1=%d,v2=%dn,v0,v1,v2);Av0=7,v1=4,v2=7 B)v0=8,v 1=4,v2=8 C)v0=11,v1=4,v2=11 D)v0=12,vl=4,v2=12*118、B 下面程序的运行结果是:i nclude main()int a=1,b=10;do b-=a;a+;while(b-0);printf(a=%d,b=%dn,a,b
41、);A)a=3,b=11 B)a=2,b=8 C)a=1,b=一 1 D)a=4,b=9*119、D 下面有关for 循环的正确描述是:A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在 for循环中,不能用 break 语句跳出循环体 D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来*120、B 对 for(表达式 1;表达式 3)可理解为:A)for(表达式 1;0;表达式 3)B)for(表达式 1;1;表达式 3)C)for(表达式 1;表达式 1;表达式 3)D)for(表达式 1;表达式 3;表达式 3)*121
42、、B 若 i 为整型变量,则以下循环执行次数是:for (i=2;i=0;)printf(%d,i-);A)无限次 B)0次 C)1 次 D)2次*122、C 以下 for循环的执行次数是:for (x=0,y一 0;(y=123)&(x+y;x=i+)i=x;B)for(;x+=i);C)while (1)x+;D)for(i=10;i-)sum+=i;*124、C 下面程序段的运行结果是:for(y=1;y10;)y=(x=3*y,x+1),x-1);printf (x=%d,y=%d,x,y);A)x=27,y=27 B)x=12,y=13 C)x=15,y=14 D)x=y=27*12
43、5、D 下面程序段的运行结果是 for(x=3;x=0);i=i%100+1;if (i100)break;D int s=36;while (s);-s B)for(;);*127、C 执行语句for(i=1;i+4;);后变量 i 的值是 A)3 B)4 C)5 D)不定*128、D 下面程序的功能是计算:至 50 中是 7 的倍数的数值之和,请选择填空。i nclude main()int i,sum=0;for(i=1;i=50;i+)if(1)sum+=i;printf(%d,sum);A)(int)(i/7)=i/7 B)(int)i/7=i/7 C)i%7=0 D)i%7=0*1
44、29、B 下面程序的功能是计算 1 至 10 之间的奇数之和及偶数之和。请选择填空;#include main()int a,b,c,i;a=c=0;for(i=0;i=10;i+=2)a+=i;1;c+=b;printf(偶数之和=%dn,a);printf(奇数之和=%dn,c-11),1 A)b=i-B)b=i+1 C)b=i+D)b=i-1*130、B 下面程序的运行结果是:i nclude main()int i;for(i=1;i=5;i+)switch(i%5)case 0:printf(*);break;case 1 :printf(#);break;default :prin
45、tf(n);case 2 :printf(&);A#&*B#&C#D#&*131、D 下面程序的运行结果是:i nclude main()int x,i;for(j-1;i=100;i+)x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)printf(%d,x);A)39 81 B)42 84 C)26 68 D)28 70*132、C 下面程序段的功能是计算1000!的末尾含有多少个零。请选择填空。(提示:只要算出 1000!中含有因数5 的个数即可 for(k=0,i=5;i=1000;i+=5)while(【1】)k+;m=m/5;【1】A)m%5=0 B)m=m%5=
46、0 C)m%5=0 D)m%5!=0*133、D 下面程序的运行结果是:i nclude main()int i,b,k=0;for(i=1;i=0)k+;printf(%d,%d,k,b);A)3,-1 B)8,-1 C)3,0 D)8,-2*134、B 以下正确的描述是。A)continue语句的作用是结束整个循环的执行 B)只能在循环体内和switch语句体内使用break 语句 C)在循环体内使用break 语句或 continue语句的作用相同 D)从多层循环嵌套中退出时,只能使用goto 语句*135、D 下面程序段:for (t=1;t=100;t+)scanf(%d,&x);i
47、f(x0)continue;printf(%3d,t);A)当 x=0时什么也不输出 C)printf函数永远也不执行 D)最多允许输出100 个非负整数*136、C 下面程序段:x=3;do y=x-;if(!y)printf(x);continue;printf(#);while(1=x=2);A)将输出#B)将输出#*C)是死循环 D)含有不合法的控制表达式*137、C 以下描述正确的是 A)goto语句只能用于退出多层循环 B)switch语句中不能出现continue语句 C)只能用 continue语句来终止本次循环 D)在循环中break 语句不能独立出现*138、C 与下面程序
48、段等价的是:for(n=100;n=200;n+)if(n%3=0)continue;printf(%4d,n);A)for(n=100;(n%3)&n=200;n+)printf(%4d,n);B)for(n=100;(n%3)|n=200;n+)printf(%4d,n);C)for(n=100;n=200;n+)if(n%3!=0)printf(%4d,n)D)for(n=100;n=200;n+)if(n%3)printf(%4d,n);else continue;break;*139、B 下面程序的运行结果是:i nclude int k=0;char c=A;do switch(c
49、+)case A:k+;break;case B:k-;case C:k+=2;break;case D:k=k%2;continue;case E:k=k*10;breab;default:k=k/3;k+;while(cG)printf(k=%d,k);A)k=3 B)k=4 C)k=2 D)k=0*140、B 若运行以下程序时,从键盘输入3.6,2.4,(表示回车),则下面程序的运行结果是:#indude#include main()float x,y,z;scanf(%f%f,&x,&y);z=x/y;while(1)if(fabs(z)1.0)x=y;y=z;z=x/y;else b
50、reak;printf(%f,y);A)1.5 B)1.6 C)2.0 D)2.4 *141、B 下面程序的运行结果是:i nclude stdio.h main()int a,b;for(a=1,b=1;a=20)break;if(b%3=1)b+=3;continue;b-=5;printf(%dn,a);A)7 B)8 C)9 D)10*142、B 下面程序的运行结果是:i nclude stdio.h main()int i;for(i=1;i=5;i+)if(i%2)printf(*);else continue;printf(#);printf(#);A)*#*#$B)#*#*#*