《C语言试题库试题.pdf》由会员分享,可在线阅读,更多相关《C语言试题库试题.pdf(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 1 章算法及算法描述一、填空题1、算 法 具 有 以 下 五 个 特 点、2、判 断 一 个 算 法 的 优 劣 的 主 要 标 准、3、常 用 的 算 法 图 形 表 示 法 主 要 包 括、4、影响程序质量的质量要素主要包括5、程 序 设 计 语 言 经 历 了 的 发 展 历 程 是、6、算 法 实 现 包 括 的 阶 段 是、第 2章 C 语言概述一、判 断 题(a 为正确,b为错误)1、C 程序的基本组成单位是函数。2、C 程序的一行只能写一条语句。3、m ai n 函数必须写在个 C 程序的最前面。4,一 个 C 程序可以包含若干函数,但必须有主函数。5、一个c 程序的执行是从
2、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。6、C 语言是一种结构化程序设计语言。7、一个C 程序可以有若干个C 源程序组成,而 C 源程序可以由若干个函数和预处理组成。8、在标准C 中,语句必须以“;”结束。9、在 C 程序中,注释说明只能位于一-条语句的后面。1 0、在对 个 C 程序进行编译的过程中,可发现注释中的拼写错误。第 3 章数据类型与数据运算一、判 断 题(a 为正确,b为错误)1、a-b 是合法的标识符。2、在 C 程序中,A P H和 ap h 是两个相同的变量。3、在标准C 中,变量可以先使用再定义。4、逗号运算符的求值顺序是从左到右的,逗号表达式的值为第
3、一个表达式的值。5、“+”运算符的优先级比“+”运算符的优先低。6、无符号整型变量的取值范围是:0-6 5 5 3 5。7、表达式i+与+i 在任何场合功能完全相同。8、若 有 i n t i=I 0,j=2;则执行完i *=j+8;后 i 的值为2 8。二、多项选择题1、C 语言提供的合法的数据类型关键字是()。A、D o u b le B、s h o r t C i n t D、Ch ar2、下面均是不合法的用户标识符的选项是()oA、A.B、f lo at C、b-a D 一 1 2 3P-0d olaO-Ag o t oi n tt em pI N T3、已知c h 是字符型变量,下面
4、不正确的赋值表达式是()。A、c h=1 2 3”B、c h=x f f,C、c h=007 D、c g=4、若有以下定义,则能使值为3的表达式是:i n t k=7,x=1 2;()A、x%=(k%=5)B、x%=(k 一 k%5)C、x%=l 1-k%5 D、(x%=k)-(k%=5)5、下关于运算符优先顺序的描述中正确的是()。A、赋值运算符 逻辑与运算符 关系运算符 逻辑非运算符B、逻辑运算符关系运算符 算术运算符 赋值运算符C、赋值运算符逻辑与运算符 关系运算符 算术运算符D、算术运算符 关系运算符 赋值运算符 逻辑与运算符6、已知c h 是字符型变量,正确的赋值表达式是()。A、c
5、 h=a+b B、c h=0 C、c h=7+9 D、c h=5+97、在 C 语言中,要求运算数必须是整型的运算符是()A、%=B、+C、!=D、%8、下列关于字符串的说法中错误的是()oA、在 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、根据数据的大小
6、决定C、由用户自己定义 D、由 c 语言编译系统决定2、假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的 值 是()。A、7 B、8 C、6 I)、23、若 x,i,j 和 k都是i n t 型变量,则执行下面表达式后x的值为x=(i=4,j=1 6,k=32)()。A、4 B、1 6 C、32 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 的值()oA、1 B
7、、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;d o u bl e i;表达式 1 5+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 是双精度型,则表达式1 0+a +i*f 值的数据类型为()oA、i n t B、f l o a t C d o u bl e D、不确定四、编程题1、某件商品的价格为1 2 0 元,分别安十进制、八进制和卜六进制输出其值。2、编
8、程实现:从键盘输入正方体的变长,求其表面积和体积。3、编程实现:从键盘输入球的半径,计算球的表面积和体积。4、编程实现:定义i n t 型变量i l 和 i 2 的值分别为6 5 和 9 7,依次按字符、十进制、八进制和十六进制整数的形式输出它们的值,要求每个变量各占一行。5、编程实现:从键盘输入一个实数,分别按小数形式和指数形式输出该实数的值。第 4 章 常用库函数一、单选题1、以下程序输出结果是(注口表示空格)Ma i n()pr i n t f(*s l=%1 5 s*n*s 2=%-5 s*,c h i n a be i j i n g ,c h i );A *s 1 =c h i n
9、 a be i j i n g *B *s 1 =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 d c h i n a be i j i n g*s 2=n n D c h i2、根据定义和数据的输入方式,已有定义:f l o a t f l,f 2;输入方式为:4.5 2,3.5A s c a n f (f,%f”,&f l,&f 2);D *s l=D QD c h i a n be i j i n g*S 2=c h i *输入语句的正确形式为B s c a n f(;C s c a n f (%3.3f,%2.l fw
10、,&f l,&f 2);1)s c a n f (“3.2 f,%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 1 32 回车 B 1,3,2 回 车 C a=l U b=3Ll c=2 回车 D a=l,b=3,c=2 回车4、设有如下定义:i n t x=1 0,y=3,z;则语句 pr i n t f (%d n ,z=(x%y,x/y);的输出结果是。A 1 B 0 C 4 D 35、
11、pr i n t f 函数中用到的格式符%5 s,其中数字5 表示输出的字符串占5歹人如果字符串长度大于5,则输出方式为A从左起输出该字符串,右 补 空 格 B 按原字符长从左向右全部输出C右对齐输出该字串,左 补 空 格 D 输出错误信息6、p r i nt f 函数中用到的格式符%5 s,其中数字5 表示输出的字符串占5歹人如果字符串长度小于5,则输出方式为一A从左起输出该字符串,右 补 空 格 B按原字符长从左向右全部输出C右对齐输出该字串,左 补 空 格 D 输出错误信息7、已有定义i nt a=-2,和输出语句:p r i nt f (%8 1 x ,a);以下正确的叙述是_ _ _
12、 _A整形变量的输出格式符只有%d 一 种 B%是格式符的一种,它可以适应任何一种类型的数据C姒是格式符的种,其变量的值按十六进制输出,但%8 1 x 是错误的D%8 1 x 不是错误的格式符,其中数字8规定了输出字符的宽度8、下列语句输出结果是 o U ns i g ne d i=T;p r i nt f (%u ,i);A 6 5 5 3 5 B 6 5 5 3 6 C-l D 19、下列语句输出结果是,_ _ _。i nt i=6 5 5 3 5;p r i nt f (,i);A 6 5 5 3 5 B 0 C -1 D语法错误1 0、下列语句输出结果是 o L o ng a=o x
13、f f f f;i nt b=a;p r i nt f (%d ,b);A 6 5 5 3 5 B 6 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=n1 2、设有定义:i nt k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是.A k+B k+=l C +k D k+11 3、已知i nt a;f l o a t b;所用的s c a nf 调用语句格式为:s c a nf (a 知,b=%f ”,&a,&b);为了将数据3 和 2 5.0 8 分别赋
14、给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 nt 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 进制形式输出整数oA%d B%8 d C%o D%l d1 6、字符变量 c h=A ,i nt 类型变量 K=2 5,语句 p r i nt f (%3 d,%3 d n,c h,k);输出 oA 6 5,2 5 3
15、B 6 5 2 5 3 C 6 5,2 5 D A 2 51 7、有以下程序Ma i n()(I nt m,n,p;Sc a nf(m=%d n=%d p=%d ,&m,&n,&p);Pr i nt f (%d%d%d n”,m,n,p);(注:表示空格)若想从键盘上输入数据,使变量m中的值为1 2 3,n 中的值为4 5 6,p中的值为7 8 9,则正确的输入是A m=1 2 3 n=4 5 6 p=7 8 9 B m=1 2 3 U n=4 5 6 U p=7 8 9 C m=1 2 3,n=4 5 6,p=7 8 9 D 1 2 3 4 5 6 7 8 91 8、逻辑运算符两侧运算对象的
16、数据类型一。A 只能是0 或 1 B 只能是。或 非 零 整 数 C 只能是整形或字符型数据D 可以是任何类型的数据1 9、当 k的值不为0时,在下列选项中能够将k的值赋给变量m,n 的是。A m=n=p B (m=k)&(n=k)C (m=k)|(n=k)D (k=m)&(n=k)20、若希望当A 的值为奇数时,表达式的值为“真”,A 的值为偶数,表达式的值为假o 则以下不能满足要求的表达式是。AA%2=1 B!(a%2=0)C!(A%2)DA%221、putchar函 数 可 以 向 终 端 输 出 一 个。A整型变量表达式值;B实型变量值;C 字符串;D 字符或字符型变量值22、若 x,
17、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);23、已有如下定义和输入语句,若要求al,a2,cl,c2的值分别为10,20,A,B,当从第一列开始输入数据忖,正确的数据输入方式是。int al,a2;char cl,c2;scanf(%d%d,&a 1 ,&a2);scanf(%c%c,&c I,&c2);A 1020AB B 10 20ABC
18、10 20 AB D 10 20AB24、设 x,y 和 z 是 int型变量,且 x=3,y=4,z=5,则下面表达式中值为0 的是_ _ _ _A y&y B x=y C x|y+z&y-z D!(xy)&!z|l)25、若有以下定义:inta,b;floatx;,则 正 确 的 赋 值 语 句 是。A a=l,b=2,B b-H-;C a=b=5 D b=int(x)26、判断char型变量ch是否为大写字母的正确表达式是一。A A=ch=A)&(ch=A)&(ch=ch27、执行以下语句后a 的 值 为 一。int a=5,b=6,w=1 ,x=2,y=3,z=4;(a=wx)&(b=
19、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,则下面表达式中值为。的是。A x&y B x=y C x|y+z&y-z D!(xy)&!z二、多选题1、若 x,y 均定义为in t型,z 定义为double型,以下合法的scanf函数调用语句是A scanf(%d%lx,%le,&x,&y,&z);B scanf(%2d*%d%lfx,y,z);C scanf(%x%*d%o”,&x,&y);D scanf(%x%
20、o%6.2P,&x,&y,&z);2、已知 int I,j,k;scanfC1%d%d%d,&I,&j,&k);若从键盘送入 I,j,k 的值分别为 1,2,3时,则正确的输入方式是 o (注:表示空格,CR 表示回车)A 1,2,3 B 123 C 1口2口3 D12Q33、以下说法正确的是A、输入项可以为一个实型常量,如 scanfT%f,3.5);B、只有格式控制,没有输入项,也能进行正确输入,如 scanf(a=%d,b=%d);C、当输入一个实型数据时,格式控制部分不能规定小数点后的位数,如scanfC%4.2”,&f)是错误的;D 当输入数据时,必须指明控制变量的地址,如 scan
21、ff%R&f);4、a 是 int类型变量,c 是字符变量,下列输入语句哪些是正确的A scanf(d,%c,&a,&c);B scanf(d%c”,a,c);C scanf(%d%c”,&a,&c);D scanf(d=%d,c=%c,&a,&c);三、填空题1、以 下 程 序 的 输 出 结 果 是。Main()int a=177;printf(tl%o,a);2,以 下 程 序 的 输 出 结 果 是。Main。inta=1234;printR2dn”,a);四、阅读程序题分析下来函数段,写出其对应的执行结果。1、已知字母A 的 ASCII码是6 5,以 下 程 序 的 执 行 结 果
22、是。Main()Cha rcl=A ,c2=Y;printf(d,%dn”,cl,c2);2、阅读以下程序,当输入数据的形式为:2 5,1 3,1 0 ,正确的输出为Ma in()(Int x,y,z;Sca nf(a%d,%d,%d”,&x,&y,&z);Printf(x+y+z=%dn”,x+y+z);3、ma in()(Int a,b;Sca nf(2 d%*2 d%2 d“,&a,&b);Printf(“机1”,a+b);上面程序运行时,输 入1 2 3 4 5 6 7 8回车,结果4、v oid ma inO int a=1 0,b=1 0;Printf(%dt%d,a一,一1);以
23、上程序运行结果为:o5、ma in()(Int a;Printf(dn,(a=3*4,a*5,a+5);以 上 程 序 运 行 结 果 为。6、ma inO(Floa t a=1 2 3.4 5 6 7 8;Printf(“-4.2 fn,a);以上程序结构为:。7、ma inO(Cha r c,d;C=getcha r0;D=c-3 3;printf(d,%c”,c,d);又以上程序,若输入d,则输出结果为8、mia n()(int i=0 1 0,j=1 0,k=ox lO;Printf(d,%d,%d”,1,j,k);以上程序的运行结果为:o五、操作题1.看程序写结果。#include
24、Hstdio.hHma in()(cha r a,b,c;a=getcha r();b=getcha r();c=getcha r();putcha r(a);putcha r(b);putcha r(c);输出结果为:_ _ _ _ _ _ _ _ _ _ _ _2.看程序写结果。ttinclude,zstdio.hv oid ma inOint a=1 2 3,b=-3 7 2 1;floa t x=1 2 3.4 5 6;printf(,za=%d,b=%dn”,a,b);prin tf(,a=%4d a=%Od a=%-4dn,a,a,a);p rintf(,b=%7d b=%07d
25、b=%-9d b=%2dn,b,b,b,b);prin tf(,za=%81d,b=%81dn,z,a,b);p rin tf(,za=%-81d,b=%-81dn”,a,b);p rin tf(z,%3s,%7.2s,%.4s,%-5.3sn,sun,sun,sun,sun);p rin tf(%f,%e,%gn,x,x,x);p rin tf(%10.3e,%010.Ie,%012.5en,x,x,x);输出结果为:3.看程序,写结果#include stdio.h”void main()int a;char c;scanf(M%dn,&a);scanf(H%cn,&c);printf(n
26、a=%d,a);printf(uc=%cn,c);输出结果为:4.看程序,写结果#include nstdio.hHvoid main()(char s=,goodnsuntdayn;puts(s);输出结果为:5.看程序,写结果#includeMstdio.hMvoid main()(char s10;gets(s);puts(s);)结果为:_ _ _ _ _ _ _ _ _ _6.看程序,写结果#include stdio.h#include stdio.hHvoid main()(char sll 5=nhellon,s2l 0=nworld;strcat(sl,s2);puts(sl
27、);puts(s2);strcat(sl,good);puts(sl);结果为:_ _ _ _ _ _ _ _ _ _7.看程序,写结果#include string.h”#include nstdio.huvoid main()(char s 1 20=nhelloworldn,s2 10=,goodn;strcpy(sl,s2);puts(sl);puts(s2);strcpy(s 1,welcome);puts(sl);)结果为:_ _ _ _ _ _ _ _ _ _8.看程序,写结果#include string.h#include stdio.h”void main()(char s
28、l=,ABC,s2=,ABDM;int n;n=strcmp(sl,s2);printf(nn=%dnn,n);n=strcmp(s2,sl);printffn=%dn”,n);结果为:_ _ _ _ _ _ _ _ _ _9.看程序,写结果#include string.h#include string.h#include stdio.h*void main()(char sl=,goodetbettertbestnM;char s2=,ab105n;puts(sl);puts(s2);printf(%dnn,strlen(sl);printfi(%dn,strlen(s2);printfC
29、%dn,strlen(nhellon);printfC%dn”,strlen(”world;结果为:_ _ _ _ _ _ _ _ _ _10.看程序,写结果#include string.h#include stdio.hvoid main()char si=GoodtBetteRtBesrnH;char s2=nAB105M;puts(sl);puts(s2);strlwr(sl);strlwr(s2);puts(sl);puts(s2);结果为:_ _ _ _ _ _ _ _ _ _11.看程序,写结果#include string.h#include string.h#include
30、stdio.h*void main()(char si=,goodtbettertbestn;char s2=nab105H;puts(sl);puts(s2);strupr(sl);sstrupr(s2);puts(s 1);puts(s2);结果为:_ _ _ _ _ _ _ _ _ _1 2.看程序,写结果#include string.h#include stdio.hMvoid inain()char c;printffplease input a letter:);scanf(M%cn,&c);c=(c=&cv=N)?(c+A-a):(c+a/A);printf(%cn,c);结果
31、为:_ _ _ _ _ _ _ _ _ _第 5 章 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 中,所有关系运算符的优先级都相同
32、。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、表达式!(x0|y0)等价于!(x0)&!(y0).20、由于do-while循环中循环体语句只能是一条可执行
33、语句,所以循环体内不能使用复合语句。21、i;语句中条件表达式只能是关系表达式或逻辑表达式22、若 有 int k=l;while(k=l)k+;则 while循环执行的次数是1次23、break语句不能够单独使用,只能用于循环语句和switch语句24、break语句可以用来跳出整个循环语句25、do-while语句构成的循环至少执行一次26、fbr(i=l;i+b)if(bc)printf(%d,d-H-+1);elseprintf(“d”,+d+l);printf(%dn,d);程序运行后的输出结果是()A.2 B.3 C.43 D.444.下列条件语句中,功能与其他语句不同的是()A.
34、if(a)printfC%dn”,x);else printf(H%dnn,y);B.if(a=0)printf(H%dnM,y);else printf(%dnn,x);C.if(a!=0)printf(n%dnH,x);else printf(“dW”,y);D.i f(a=O)p r i n t f(n%d nM,x);e l s e p r i n t f f%d n”,y);5 .为了避免嵌套的i R e l s e语句的二义性,C语言规定e l s e总 是 与()组成配对关系。A.缩排位置相同的i f B.在其之前未配对的i fC.在其之前未配对的最近的i f D.同一行上的i
35、f6 .选择出合法的i f语 句(设i n t x,a,b,c;)()。A.i f(a=b)c+;B.i f(a=b)C+;C.i f(a b)c+;D.i f(a=b)C+;7 .判断c h a r型变量s是否为小写字母的正确表达 式 是()。A.V=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 R c=d)x=1 0;e l s
36、 e x=-1 0;1 0 6且。=41 0 a bS.c=dx=x=bA.1 B.1 0 a b,c=d1 0 a b.c=dx=一 九二C.-1 0 a 0)y=l;B.y=0;-1x=0)e l s e i f (x=0)y=0;i f(x 0)y=l;i f (x=0)e l s e y=-1;e l s e i f (x 0)y=1;e l s e y=-1;1 1 .执行以下语句后,y的 值 为()oi n t x,y,z;x=y=z=O;+x|+y&+z;A.0 B.1 C.2 D.i f(x O)y=l;e l s e y=0;e l s e y=-1;不确定值1 2 .已知I
37、 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 t V *r T);e l s e p r i n t f(,$n,5;A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出*D.输出$1 4.以下程序的运行结果
38、是()o#i n c l u d e s t d i o.h main()int a=l;if(a+l)printf(%dn”,a);else printff%dn”,a-);)A.0 B.1C.2 D.315.当 a=l,b=2,c=4,d=3时,执行完下面一段程序后x 的 值 是()。if(ab)if(cd)x=l;elseif(ac)if(bd)x=2;else x=3;else x=4;else x=5;A.1 B.2 C.3 D.416.执行以下程序段后,变量x,y,z的值分别为()。int a=l,b=O,x,y,z;x=(-a=b-H-)?a:+b;产a+;z=b;A.x=O,y
39、=O,z=O B.x=-l,y=-l,z=1 C.x=O,y=l,z=O D.x=-l,y=2,z=117.若 a、b、c、d、w 均为int类型变量,则执行下面语句后的w 值 是()。a=l;b=2;c=3;d=4;w=(ab)?a:b;w=(wc)?w:c;w=(wb?ac?a:c:b);)A.5 B.4 C.619.下列程序段的输出结果为()omain()int x=3;do printff%3dx-=2);while(!(x);A.l B.3 0 C.l-220.有如下程序,写出该执行结果()。#include stdio.hmain()float x=2.0,y;if(x0.0)y=
40、0.0;else if(x10.0)y=1.0/x;else y=1.0;printf(,%fn,y);A.0.000000 B.0.250000 C.0.50000021.以下程序的运行结果是()。D.4D.不确定D.死循环D.1.000000#include stdio.hmain()int a=2,b=-l,c=2;if(ab)if(b0)c=0;else c+;printfC%dn”,c);)A.0 B.1 C.2 D.322.运行以下程序后,如从键盘上输入china#,则输出为()。#include stdio.hmain()int vl=0,v2=0;char ch;while(c
41、h=getchar()!=#)switch(ch)casecase h:default:vl+;case o:V2-H-;)printff%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.424.以下程序中,while循环的循环次数是(
42、)main()int i=0;while(i10)if(i 1)continue;if(i=5)break;i+;A)1 B)10 C)6 D)死循环,不能确定次数25.以下程序的输出结果是main()int a=O,i;for(i=l;i8;y=+i)printf(,%d%d,x-,y);)A.10192 B.9876 C.1099029.当执行以下程序段时。x=-l;dox=x*x;while(!x);A.循 环 体执行一次B.循环体执行两次误30.执行以下程序后输出的结果是(main()int y=10;doy;while(y);printfi(n%dnM,y-);A.-l B.l C.
43、831.下面程序的输出结果是()omain()int x=3,y=6,a=0;while(x+!=(y-=l)a+=l;D俳 0D.210D.101091C 循环体执行无数次D.系统提示有语法错)。D.0if(yx)break;printf(*x=%d,y=%d,a=%dnn,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=l3 2.若 i,j已定义为int类型,则以下程序段中内循环的总的执行次数是for(i=5;i;i)()。for(j=0;j4;j+)A.20 B.24 C.25 D.303 3.请读程序:#incl
44、udemain()int x=l,y=0,a=0,b=0;switch(x)case l:switch(y)case O:a-H-;break;case 1 :b-H-;break;case 2:a+;b+;break;)printf,a=%d,b=%dnM,a,b);)上面程序的输出结果是()oA.a=2,b=l B.a=l,b=l C.a=l,b=0 D.a=2,b=234.唬 C 语言中,为了结束由dowhile语句构成的循环,while后对圆括号中表达式的值应为()oA.O B.l C.true D.非 035.有以下程序main()char k;int i;fbr(i=l;iv3;i
45、+)scanf(n%c,&k);switch(k)case O:printf(,anothern,);break;case T:printf(nnumbern);)程序运行时,从键盘输入:OY回车,,程序执行后的输出结果是 oA、another B、another C、another D numbernumber number numberNumber3 6.在下列选项中,没有构成死循环的程序段是()。A.int i=100;while(1)|i=i%100+1;if(i100)break:)B.for(;);C.int k=1000;do+k;while(k=10000);D.int s=3
46、6;while(s);-s;3 7.若输入B,以下程序的运行结果为()main()char grade;scanfifM%c,&grade);switch(grade)case*A:printf(,l=8 5.H);caseB1:caseC:printfC=60J);caseD:printf(n=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=%dH,i,sum);A.i=10,sum=9 B.i=9,sum=939.有以下语
47、句:C.i=2,sum=l D.运行出现错误i=l;fbr(;i=100;i-H-)sum+=i;与以上语句序列不等价的有()oA.fbr(i=l;i+)sum+=i;if(i=100)break;B.fbr(i=1 ;i=100;)sum+=i;i+;C.i=1 ;for(;i=100;)sum+=i;4 0.下面程序的运行结果为D.i=l;for(;)sum+=i;if(i=100)break;i-H-;)omain()int n;fbr(n=l;n=10;n-H-)if(n%3=0)continue;prin 氓 d”,n);A.12457810 B.369 C.1241.下面程序的运行
48、结果是()。main()int x,y,z;x=0;y=z=-l;x+=z-y;printf(,x=%dnn,x);A.x=4 B.x=0 C.x=242.标有/*/的语句的执行次数是()oint y,i;for(i=0;i0|E0)C.(E=0)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.1546.执行下面语句的输出为()。int i=-l;if(i=O)printf44*n55);else printfr%);D
49、.31.下面程序的输出结果是,清填空。main()int x=100,a=200,b=50;intvl=25,v2=20;A.*B.%4 7.下列程序的输出为(#includestdio.hMmain()int i,j,x=O;fbr(i=0;i2;i-H-)x ;for(j-0;j=3;j+)if(j%2)continue;x+;x+;C.%c D.有错,执行不正确printffx=%dn”,x);j,A.x=4 B.x=84 8.下列程序的输出为()。#includemain()int ij,k=O,m=O;fbr(i=0;i2;i-t-+)for(j=0;j3;j+)k+;k-=j;m=
50、i+j;printf(k=%d,m=%dn,k,m);IC.x=6D,x=12fA.k=0,m=3 B.k=0,m=549、下列程序的输出为(#includemain()int k=O;char c-A;doswitch(c-H-)case,A,:k+;break;caseBk;caseC:k+=2;break;case,D,:k=k%2;continue;caserE:k=k*10;break;default:k=k/3;k+;)while(cvG);printff%dn”,k);C.k=l,m=3D.k=l,m=5A.k=3 B.k=4 C.k=250、下列程序的输出为()o#includ