C语言试题库试题库.pdf
第 i 章算法及算法描述一、填空题1、算 法 具 有 以 下 五 个 特 点、2、判 断 一 个 算 法 的 优 劣 的 主 要 标 准、3、常 用 的 算 法 图 形 表 示 法 主 要 包 括、4、影 响 程 序 质 量 的 质 量 要 素 主 要 包 括、5、程 序 设 计 语 言 经 历 了 的 发 展 历 程 是、6、算 法 实 现 包 括 的 阶 段 是、第 2 章 C语言概述一、判 断 题(a为正确,b为错误)1、C程序的基本组成单位是函数。2、C程序的一行只能写一条语句。3、m a i n 函数必须写在一个C 程序的最前面。4、一 个 C 程序可以包含若干函数,但必须有主函数。5、-个c 程序的执行是从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。6、C语言是一种结构化程序设计语言。7、一个C程序可以有若干个C源程序组成,而 C源程序可以由若干个函数和预处理组成。8、在标准C中,语句必须以“;”结束。9、在 C程序中,注释说明只能位于一条语句的后面。1 0、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。第 3 章数据类型与数据运算一、判 断 题(a为正确,b为错误)1、a-b 是合法的标识符。2、在 C程序中,A P II和 a p h 是两个相同的变量。3、在标准C中,变量可以先使用再定义。4、逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值。5、“+”运算符的优先级比“+”运算符的优先低。6、无符号整型变量的取值范围是:0-6 5 5 3 5 o7、表达式i+与+i 在任何场合功能完全相同。8、若 有 i n t i=1 0,j=2;则执行完i *=j+8;后 i 的值为28。二、多项选择题1、C语言提供的合法的数据类型关键字是()。A、D o u b le B、s h o r t C、i n t D、C h a r2、下面均是不合法的用户标识符的选项是()oA、A.B、f lo a t C、b-a D、-1 23P-0 la O g o t o t e m pd o 一 A i n t IN T3、已知c h 是字符型变量,下面不正确的赋值表达式是()。A、c h=1 23”B、c h=x f f C、c h=0 0 7 D、c g=4、若有以下定义,则能使值为3的表达式是:i n t k=7,x=1 2;()A、x%=(k%=5)B、x%=(k k%5)C、x%=ll-k%5 D、(x 脏k)-(k%=5)5、下关于运算符优先顺序的描述中正确的是()。A、赋值运算符 逻辑与运算符 关系运算符 逻辑非运算符B、逻辑运算符 关系运算符算术运算符 赋值运算符C、赋值运算符 逻辑与运算符 关系运算符 算术运算符D、算术运算符 关系运算符 赋值运算符 逻辑与运算符6、已知c h 是字符型变量,正确的赋值表达式是()。A、c h=a+b B、c h=O C、c h=7 +9 1)、c h=5+97、在 C语言中,要求运算数必须是整型的运算符是()A、%=B、+C、!=D、%8、下列关于字符串的说法中错误的是()。A、在 c语言中,字符串是借助于字符型一维数组来存放的,并规定以字符 0 作为字符串结束标志。B、0 作为标志占用存储空间,计入串的实际长度。C、在表示字符串常量的时候需用人为在其末尾加入 0.D、在 c 语言中,字符串常量隐含处理成以 0 结尾。三、单项选择题1、以下关于l o n g,i n t 和 s h o r t 类型数据占用内存大小的叙述中正确的是:()。A、均占用4个字节 B、根据数据的大小决定C、由用户自己定义 D、由 c 语言编译系统决定2、假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的 值 是()。A、7 B、8 C、6 D、23、若 x,i,j 和 k 都是i n t 型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=3 2)()。A、4 B、16 C、3 2 D、5 24、已有定义:i n t x=3,y=4,z=5;则 表 达 式!(x+y)+zT&y+z/2 的 值 是(A、0 B、1 C、2 D、-15、设有:i n t a=l,b=2,c=3,d=4,m=2,n=2;执 行(m=a b)&(n=c d)后 n 的 值()。A、1 B、2 C、3 D、46、设 有 i n t x=l l;则表达式(x+*l/3)的 值()。A、3 B,3.6 C、4 D、4.07、i n t a;f l o a t f j d o u bl e i;表达式 15+i*f+A -a 的 值 是()型。A、f l o a t B、i n t C、c h a r D、d o u bl e8、设变量a是整型,f是实型,i 是双精度型,则表达式10+a +i*f 值的数据类型为()。A、i n t B、f l o a t C d o u bl e D、不确定四、编程题1、某件商品的价格为120元,分别安十进制、八进制和十六进制输出其值。2、编程实现:从犍盘输入正方体的变长,求其表面积和体积。3、编程实现:从键盘输入球的半径,计算球的表面积和体积。4、编程实现:定义i n t 型变量i l 和 i 2的值分别为6 5 和 9 7,依次按字符、十进制、八进制和十六进制整数的形式输出它们的值,要求每个变量各占一行。5、编程实现:从键盘输入一个实数,分别按小数形式和指数形式输出该实数的值。第 4章常用库函数一、单选题1、以下程序输出结果是(注口表示空格)M a i n()pr i n t f(*s l=%15 s*n*s 2=%-5 s*,c h i n a be i j i n g ,c h i );A*s l=c h i n a be i j i n g*B *s l=c h i a n be i j i n g D *s l=*c h i*s 2=c h i C*s l=*D n c h i n a be i j i n g*D *s l=D n c h i a n be i j i n g*s 2=n n D c h i *S 2=c h i D n*2、根据定义和数据的输入方式,输入语句的正确形式为一已有定义:f l o a t f l,f 2;输入方式为:4.5 2,3.5A s c a n f(“%f,疵”,&f 1,&f 2);B s c a n f (%f%f ”,&f l,&f 2);C s c a n f (3.3 f,%2.If ,&f l,&f 2);D s c a n f (3.2f,%2.If ,&f l,f 2&);3、又如下语句:s c a n f(a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b 的值为3,c的值为2,从键盘输入数据的正确形式为一(注表示空格)A 13 2 回 车)B 1,3,2 回 车 C a=l Ll b=3 IZ Ic=2 回 车 D a=l,b=3,c=2 回车4、设有如下定义:i n t x=10,y=3,z;则语句 pr i n t f (%d n ,z=(x%y,x/y);的输出结果 是 一。A 1 B 0 C 4 D 35、pr i n t f 函数中用到的格式符%5 s,其中数字5表示输出的字符串占5歹 U。如果字符串长度大于5,则输出方式为A 从左起输出该字符串,右 补 空 格 B 按原字符长从左向右全部输出C右对齐输出该字串,左 补 空 格 D输出错误信息6、p r i n t f 函数中用到的格式符%5 s,其中数字5表示输出的字符串占5歹|。如果字符串长度小于5,则输出方式为一A从左起输出该字符串,右 补 空 格 B 按原字符长从左向右全部输出C右对齐输出该字串,左 补 空 格 D输出错误信息7、已有定义i n t a=-2,和输出语句:p r i n t f (“8 1 x”,a);以下正确的叙述是A整形变量的输出格式符只有刎一种B%是格式符的一种,它可以适应任何 种类型的数据 C姒是格式符的一种,其变量的值按十六进制输出,但%8 1 x 是错误的D%8 1 x 不是错误的格式符,其中数字8规定了输出字符的宽度8、下列语句输出结果是 o Un s i g n e d i=T;p r i n t f (%u”,i);A 6 5 5 3 5 B 6 5 5 3 6 C-l D 19、下列语句输出结果是_ _ _o i n t i=6 5 5 3 5;p r i n t f (%d ,i);A 6 5 5 3 5 B 0 C -1 D 语法错误1 0、下 列 语 句 输 出 结 果 是。L o n g a=o x f f f f;i n t b=a;p r i n t f (%dw,b);A 6 5 5 3 5 B6 5 5 3 6 C -1 D 11 1、已知c h 是字符型变量,下面不正确的赋值表达式是A c h=1 2 3 B c h=x f f C c h=0 0 8 D c h=n,1 2、设有定义:i n t k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是_。A k+B k+=l C +k D k+11 3、已知 i n t a;f l o a t b;所用的 s c a n f 调用语句格式为:s c a n f (a/%d,b=%f ,&a,&b);为了将数据3 和 2 5.0 8 分别赋给x 和 y,正确的输入应当是。A 3,2 5.0 8 B a=3,b=2 5.0 8 C a/3,b=2 5.0 8 D a/3 b=2 5.0 8 1 4、语句 p r i n t f (%d n ,s t r l e n(t 0 6 5 x f f n )的输出结果是A 5 B 1 4 C 8 D输出项不合法,无正确输出1 5、下列格式符中,哪一个可以用于以8 进制形式输出整数。A%d B%8 d C%o D%l d16、字符变量 ch=A,in t 类型变量 K=25,语句 p rin tf(“3d,%3dn,ch,k);输出_ _ _ _ A 65,253 B 65 253 C 65,25 D A 2517、有以下程序MainO(Int m,n,p;Scanf(“m dn二%dp二%d“,&m,&n,&p);Printf(%d%d%dn,m,n,p);(注:表示空格)若想从键盘上输入数据,使变量m中的值为123,n 中的值为456,p 中的值为7 8 9,则正确的输入是A m=123n=456p=789 Bm=123Eln=456Elp=789 Cm=123,n=456,p=789 D123 456 78918、逻辑运算符两侧运算对象的数据类型oA只能是0 或 1 B只能是0 或 非 零 整 数 C只能是整形或字符型数据D可以是任何类型的数据19、当 k 的值不为0 时,在下列选项中能够将k 的值赋给变量m,n 的是 oAm=n=p B(m=k)&(n=k)C(m=k)II(n=k)D(k=m)&(n=k)20、若希望当A 的值为奇数时,表达式的值为“真”,A 的值为偶数,表达式的值为假o 则以下不能满足要求的表达式是。AA%2=1 B!(a%2=0)C!(A%2)D A%221、putchar函数可.以向终端输出一个。A整型变量表达式值;B实型变量值;C 字符串;D 字符或字符型变量值22 若 x,y均定义为int型,z 定义为double型,以下不合法的scanf函数调用语句是_ _ _ _A scanf(%d%lx,%le”,&x,&y,&z);B scanf(%2d*%d%lfn&x,&y,&z);C scanf(%x%*d%on,&x,&y);D scanf(%x%o%6.2f,&x,&y,&z);23、已有如下定义和输入语句,若要求al,a2,cl,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是oint al,a2;char cl,c2;scanf(u%d%d&al,&a2);scanf(%c%cH,&cl,&c2);A 1020AB B 10 20ABC 10 20 AB D 10 20AB24、设 x,y 和 z 是 int型变量,且 x=3,y=4,z=5,则下面表达式中值为0 的是A y&y B x =y C xlly+z&y-z D!(xy)&!zlll)25、若有以下定义:inta,b;floatx;,则正确的赋值语句是 一。A a=l,b=2,B b+;C a=b=5 D b=int(x)26、判断char型变量ch是否为大写字母的正确表达式是。A A=ch=Ar)&(ch=,A,)&(chx)&(b=yz);A 5 B 0 C 2 D 128、已知 x=43,ch士 A,y=0;则表达式(x=y&chB&!y)的 值 是。A 0 B语法错 C 1 D“假”29、设 x、y 和 s 是 int型变量,且 x=3,y=4,z=5,则下面表达式中值为0 的是_ _ _ _。A x&y B x=y C xlly+z&y-z D!(xy)&!z二、多选题1、若 x,y 均定义为in t型,z 定义为double型,以下合 法 的 scanf函数调用语句是一Ascanf(%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);2、已知 int l,j,k;scanf(%d%d%d”,&I,&j,&k);若从键盘送入 I,j,k 的值分别为 1,2,3时,则正确的输入方式是o (注:口表示空格,表示回车)A 1,2,3 B 123 C 1 口2口3 D12Q33、以下说法正确的是一A、输入项可以为个实型常量,如 scanf(%f,3.5);B、只有格式控制,没有输入项,也能进行正确输入,如 scanf(a=%d,b=%d);C、当输入一个实型数据时,格式控制部分不能规定小数点后的位数,如 scanf(“4.2”,&f)是错误的;D 当输入数据时,必须指明控制变量的地址,如 scanf(%f;&f);4、a 是 int类型变量,c 是字符变量,下列输入语句哪些是正确的一Ascanf(%d,%c”,&c);B scanf(d%c”,a,c);C scanf(%d%c”,&a,&c);D scanf(d=%d,c=%c,&a,&c);三、填空题1、以下程序的输出结果是 o Main()int a=177;printf(ll%o;2、以下 程 序 的 输 出 结 果 是。Main。int a=1234;printf(“2dn”,a);四、阅 读 程 序 题 分析下来函数段,写出其对应的执行结果。1、已知字母A 的 ASCII码是6 5,以下 程 序 的 执 行 结 果 是。Main()(Charcl=A,c2=Y;printf(%d,%dn,cl,c2);2、阅读以下程序,当输入数据的形式为:25,13,10,正确的输出为 oMain()Int x,y,z;Scanf(a%d,%d,%d,&x,&y,&z);P rin tf(x+y+z=%dn”,x+y+z);3、main()Int a,b;Scanf(%2d%*2d%2dff,&a,&b);P rintf(,a+b);上面程序运行时,输 入 12345678回车,结果。4 void main()int a=10,b=10;Printf(%dt%d,a-,一b);以上程序运行结果为:。5、main()(Int a;P rintf(d n ,(a=3*4,a*5,a+5);以 上 程 序 运 行 结 果 为 6、main()F loat a=1 2 3.4 5 6 7 8;Print f(“-4.2 fn,a);以上程序结构为:。7、main()(Ch ar c,d;C=g et ch ar();口=5 3 3 刀1 m1 (“细,,。);又以上程序,若输入d,则输出结果为 o8、mian()int i=0 1 0,j=1 0,k=ox l0;Print f(“乐 1,刎遂d J,j,k);以上程序的运行结果为:o五、操作题I.看程序写结果。#inclu de st dio.h main()(ch ar a,b,c;a=g et ch ar();b=g et ch ar();c=g et ch ar();p u t ch ar(a);p u t ch ar(b);p u t ch ar(c);输出结果为:_2 .看程序写结果。#inclu de st dio.h v oid main()(int a=1 2 3,b=-3 7 2 1;float x=1 2 3.4 5 6;p rint f(a=%d,b=%dnz,,a,b);p rint f(a=%4 d a=%0 d a=%-4 dn,a,a,a);p rint f(,zb=%7 d b=%0 7 d b=%-9 d b=%2 dnz,,b,b,b,b);p rint f(,za=%8 1 d,b=%8 1 dn,a,b);p rint f(zza=%-8 1 d,b=%-8 1 dn”,a,b);p rint f(%3 s,%7.2 s,%.4 s,%-5.3 sn,su n,su n,su n,su n);p rint f(%f,%e,%g nz,,x,x,x);p rint f(z,%1 0.3 e,%0 1 0.I e,%0 1 2.5 en,x,x,x);输出结果为:3 .看程序,写结果#inclu de st dio.h”v oid main()int a;char c;scanf(u%dH,&a);scanf(n%cu,&c);printf(,a=%d,a);printf(,c=%c,c);输出结果为:4.看程序,写结果#include stdio.hvoid main()(char s=ngoodnsuntdayn;puts(s);输出结果为:5.看程序,写结果#includestdio.h1void main()(char s10;gets(s);puts(s);)结果为:_6.看程序,写结果#include stdio.h”#include stdio.h”void main()(char sl15=hello,s2 10=worldn;strcat(sl,s2);puts(sl);puts(s2);strcat(sl,good);puts(sl);结果为:_7.看程序,写结果#inciude string.h,#include stdio.hvoid main()(char si 20=henowor】d”,s210=good”;strcpy(sl,s2);puts(sl);puts(s2);strcpy(sl,welcomen);puts(sl);)结果为:_8.看程序,写结果#include string.h#include stdio.hvoid main()(char sl=ABCn,s2=ABD;int n;n=strcmp(sl,s2);printf(n=%dn”,n);n=strcmp(s2,sl);printf(un=%dn”,n);)结果为:_9.看程序,写结果#include“string.h#include string.h#include stdio.hvoid main()(char si=goodetbettertbestn;char s2=nab105n;puts(sl);puts(s2);printf(n%dnM,strlen(sl);printf(,%dn,strlen(s2);printf(,%dn,strlen(,hello,);printf(n%dnn,strle n(world*);结果为:_10.看程序,写结果#include string.h#include stdio.hvoid main()(char si=,GoodtBetteR tBesrnu;char s2=AB105M;puts(sl);puts(s2);strlwr(sl);strlwr(s2);puts(sl);puts(s2);结果为:_11.看程序,写结果#include“string.h#include string.h*#include stdio.hvoid main()(char si=ngoodtbettertbestnn;char s2=ab105H;puts(sl);puts(s2);strupr(sl);sstrupr(s2);puts(sl);puts(s2);结果为:_12.看程序,写结果#include string.h*#include stdio.h”void main()(char c;printf(nplease input a letter:H);scanf(c”,&c);c=(c=,a,&c判断题1、C 语言规定,else子句总是与它上面的最近的if配对2、if(a0);不能看作是一条合法的条件语句3、if语句后面的表达式只能是关系表达式4、判断整型变量a 即是5 又是7的整数倍的C 表达式是(a%5=0&a%7=0)5、在 C 语言中10!=9的值是16、在 C 语言中表达式(a=2)&(b=-2)的值是17、在 switch语句中必须使用break语句8 在 switch语句中必须使用break语句9、在标准C 中,没有逻辑型数据,故不能使用逻辑表达式。10、在标准C 中,所有关系运算符的优先级都相同。11、在 if语句中,else前 一个语句可不加“;”。12、在标准C 中,逻辑表达式中只允许出现逻辑型数据。13、在标准C 中,所有的ifelse语句都可以用条件语句替换。14在 switch语 句 中,case后可不加“”。15、在 C 语言中,将语句if(x=5);写成if(x=5);将导致编译错误。16、在所有关系运算符中,其优先级最低的是“=和!=。17、若 x 的当前值为5,执行语句“if(x(=3)x=x+5;”后的值仍为5。18、在 C 程序中,用整数0 表示逻辑“假”。19、表达式!(x0lly0)等价于!(x式)&!(y0).20、由 于 do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。21、if语句中条件表达式只能是关系表达式或逻辑表达式22、若 有 int k=l;while(k=l)k+;则 while循环执行的次数是1次23、break语句不能够单独使用,只能用于循环语句和switch语句24、break语句可以用来跳出整个循环语句25、do-while语句构成的循环至少执行一次26、for(i=l;i+4;);语句结束后变量i 的值是427、for语句只能用于循环次数已经确定的情况28、w hile的循环控制条件比do-while的循环控制条件严格29、while语句构成的循环至少执行-一次30、选择结构(if语句)和循环结构都可以使用嵌套形式31、循环语句中如果包含若干条语句,则必须用大括号括起来32、在 while循环中允许使用嵌套循环,但只能是嵌套while循环。33、在循环过程中,使用break语句和continue语句的作用是-一 样的34、在标准C 中,while和 do_while的功能完全相同。35、在标准C 中,while后表达式只能是逻辑或关系表达式。36、在标准C 中,for语句后的三个表达式必须都出现。37、在标准C 中,for语句后的三个表达式是按其先后次序执行的。38、在标准C 中,for语句后的三个表达式可以是任意类型的表达式。39、break的作用可以结束循环多重循环,即有多重循环时,可,直接跳到最外层。40、执行“for(I=l;I b)i f(b c)p r i n t f(”d”,d+1);e l s ep r i n t f(%d,+d+l);p r i n t f(d n”,d);)程序运行后的输出结果是()A.2 B.3 C.4 3 D.4 44 .下列条件语句中,功能与其他语句不同的是()A.i f(a)p r i n t f(%d nH,x);e l s e p r i n t f(%d nn,y);B.i f(a=O)p r i n t f(M%d nn,y);e l s e p r i n t f(d n”,x);C.i f(a!=O)p r i n t f(,%d n,x);e l s e p r i n t f(n%d nn,y);D.i f(a=O)p r i n t f(%d nn,x);e l s e p r i n t f(n%d nu,y);5 .为了避免嵌套的i f vl s e语句的二义性,C语言规定e l s e总 是 与()组成配对关系。A.缩排位置相同的i f B.在其之前未配对的i fC.在其之前未配对的最近的i f D.同一行上的i f6 .选择出合法的i f语 句(设i n t x,a,b,c;)(A.i f(a=b)C+;B.i f(a=b)C+;7 .判断c h a r型变量s是否为小写字母的正确表达式是()。A.a v=s v=z B.(s =,a,)&(s =,a,)&(s =,z,)D.(,a,=s)8.若希望当x的值为奇数时,表达式的值为“真 二x的值为偶数时,表达式的值为“假工则以下不能满足要求的表达式是()。A.x%2=l B.!(x%2=0)C.!(x%2)D.x%29.指出下列程序段所表示的逻辑关系是()。i f(a b)i f(c=d)x=1 0;e l s e x=-1 0;-1 0a 。且c =d1 0a b 且c =dX =力且c w dx =br 1 0a 。且 c =dr 1 0a b 月.c =dX=-10a 且。w dx =-10c羊d-1x0y =0,以下程序段中不能根据X值正确计算出y值的是()oA.i f(x 0)y=l;B.y=0;c.y=0;D.i f(x =0)e l s e i f (x=0)y=0;i f (x 0)y=l;i f (x =0)i f (x 0)y=l;e l s e y=-1;e l s e i f (x 0)y=l;e l s e y=0;e l s e y=-1;e l s e y=-1;11.执行以下语句后,y的 值 为()。i n t x,y,z;x=y=z=O;+x II+y&+z;A.0 B.1 C.2 D.不确定值12.已知i n t a=l,b=2,c=3;以下语句执行后a,b,c的 值 是()。i f(a b)c=a;a=b;b=c;A.a=l,b=2,c=3 B.a=2,b=3,c=3 C.a=2,b=3,c=l D.a=2,b=3,c=21 3 .请阅读以下程序:该 程 序()o#i n c l u d e s t d i o.h m a i n()i n t x=-1 0,y=5,z=0;i f (x=y+z)p r i n t f(*n”);e l s e p r i n t f($i T);)A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出*D.输出$1 4 .以下程序的运行结果是()o#i n c l u d e “s t d i o.h”m a i n()i n t a=l;i f(a+l)p r i n t f(,%d n,a);e l s e p r i n t f(,%d n,a);)A.0 B.1 C.2 D.315.当a=l,b=2,c=4,d=3时,执行完下面一段程序后x的 值 是()。i f(a b)i f (c d)x=l;e l s ei f (a c)i f(b d)x=2;e l s e x=3;e l s e x=4;e l s e x=5;A.1 B.2 C.3 D.416.执行以下程序段后,变量x,y,z的值分别为()oi n t a=l,b=0,x,y,z;x=(-a=b+)?a :+b;y=a+;z=b;A.x=0,y=0,z=0 B.x=-l,y=-l,z=1 C.x=0,y=l,z=0 D.x=-1 ,y=2,z=117.若a、b、c、d、w均为i n t类型变量,则执行下面语句后的w值 是()。a=l;b=2;c=3;d=4;w=(a b)?a :b;w=(w c)?w:c;w=(w b?a c?a:c :b);)A.5 B.4 C.6 D.不确定1 9 .下列程序段的输出结果为()。m a i n()i n t x=3;do p r i n t f(M%3 dx-=2);)w h i l e(!(-x);A.l B.3 0 C.l -2 D.死循环2 0 .有如下程序,写出该执行结果()。#i n c l u de s t di o.h m a i n()(f l oa t x=2.0,y;i f(x 0.0)y=0.0;e l s e i f (x 1 0.0)y=1.0/x;e l s e y=1.0;p r i n t f(,%f n,y);A.0.000000 B.0.250000 C.0.500000 D.1.00000021.以下程序的运行结果是()。#include stdio.hmain()(int a=2,b=-l,c=2;if(ab)if(b0)c=0;else C+;printf(dn,c);)A.0 B.1 C.2 D.322.运行以下程序后,如从键盘上输入china#,则输出为()。#include stdio.hmain()(int vl=0,v2=0;char ch;while(ch=getchar()!=#)switch(ch)case a:case h:default:vl+;case o:v2+;)printf(,%d,%dn,vl,v2);)A.2,0 B.5,0 C.5,5 D.2,523.有以下程序,程序运行后的输出结果是()。#include stdio.hmain()(int a=15,b=21,m=0;switch(a%3)case 0:m+;break;case 1:m+;switch(b%2)default:m+;case 0:m+;break;printf(%dn,m);A.1 B.2 C.3 D.42 4 .以下程序中,w h i l e循环的循环次数是()m a i n ()i n t i=0;w h i l e (i 1 0)i f (i l)c on t i n u e;i f (i=5)b r e a k;i+;A)1 B)1 0 C)6 D)死循环,不能确定次数2 5 .以下程序的输出结果是m a i n ()i n t a=0,i;f or (i=l;i 8;y=+i)p r i n t f(H%d%d,x-,y);A.1 0 1 9 2B.9 876C.1 0 9 9 0D.1 0 1 0 9 129.当执行以下程序段时。x=-l;dox=x*x;while(!x);A.循环体执行一次B.循环体执行两次C.循环体执行无数次D.系统提示有语法错误30.执行以下程序后输出的结果是()omain()int y=10;do y;while(y);printf(%dn,y);A.-1 B.l C.8 D.O31.下面程序的输出结果是()。main()int x=3,y=6,a=0;while(x+!=(y-=l)a+=l;if(yx)break;)printf(,x=%d,y=%d,a=%dnu,x,y,a);A.x=4,y=4,a=l B.x=5,y=5,a=l C.x=5,y=4,a=3 D.x=5,y=4,a=l32.若 i,j已定义为int类型,则以下程序段中内循环的总的执行次数是()。fbr(i=5;i;i)for(j=0;j4;j+)-.)A.20 B.24 C.25 D.3033.请读程序:#includemain()int x=l,y=0,a=0,b=0;switch(x)case kswitch(y)case O:a+;break;case l:b+;break;)case 2:a+;b+;break;pri ntf(na=%d,b=%dn*,a,b);)上面程序的输出结果是()。A.a=2,b=l B.a=l,b=l C.a=l,b=0 D.a=2,b=234.在 C 语言中,为了结束由dowhile语句构成的循环,while后一对圆括号中表达式的值应 为()。A.O B.l C.true D.非 03 5.有以下程序main()char k;int i;for(i=l;i 100)break;)B.for(;);C.int k=1000;do+k;while(k=10000);D.int s=36;while(s);-s;37.若输入B,以下程序的运行结果为()omain()char grade;scanf(n%cH,&grade);switch(grade)caseA:pri ntf(u=85.*);caseB:case,C:printfC,=60.H);caseD:printf(=85.B.=60.C.=60.60.error.D.error.38.列程序运行的情况是()omain()int i=l,sum=0;while(i 10)sum=sum+1 ;i+;printf(,i=%d,sum=%dn,i,sum);)A.i=10,sum=9 B.i=9,sum=9 C.i=2,sum=l D.运行出现错误3 9.有以下语句:i=l;for(;i=100;i+)sum+=i;与以上语句序列不等价的有()。A.for(i=l;i+)sum+=i;if(i=1 OO)break;B.for(i=1 ;i=100;)sum+=i;i+;)C.i=l;for(;i=100;)sum+=i;D.i=l;for(;)sum+=i;if(i=100)break;i+;)40.下面程序的运行结果为()omain()int n;for(n=1 ;n=10;n+)if(n%3=0)continue;printf(d”,n);)A.12457810 B.369 C.1241.下面程序的运行结果是()omain()int x,y,z;x=0;y=z=-l;x+=-zy;printf(nx=%dn,x);)A.x=4 B.x=0 C.x=242.标有/*/的语句的执行次数是()ointy,i;for(i=0;i0IIE0)C.(E=O)D.(E!=0)45.假定所有变量均已正确定义,下列程序段运行后x 的 值 为()。kl=l;k2=2;k3=3;x=15;if(!kl)x-;else if(k2)if(k3)x=4;else x=3;A.14 B.4 C.15 D.346.执行下面语句的输出为()。i n t i=-l;i f(i =0)p r i n t f(4*n*);e l s e p r i n t f(%n”);A.*B.%C.%c D.有错,执行不正确4 7 .下列程序的输出为()。#i n c l u de s t di o.h m a i n()i n t i,j,x=O;f or(i=0;i 2;i+)x+;f b r(j-0;j =3;j+)i f(j%2)c on t i n u e;x+;x+;)p r i n t f(nx=%d n,x);)A.x=4 B.x=8 C.x=64 8 .下列程序的输出为()o#i n c l u de m a i n()i n t i,j,k=O,m=O;f or(i=0;i 2;i+)f or(j=0;j 3;j+)k+;k-=j;m=i j;p r i n t f(nk=%d,m=%d nn,k,m);)A.k=0,i n=3 B.k=0,m=5 C.k=1 ,m=34 9、下列程序的输出为()oD.x=1 2D.k=l,m=5#i n c