还剩7页未读,继续阅读
文本内容:
一、单选题
1、下列选项中,没有构成死循环的是A.int i=100;whileli=i%100+l;ifi100break;B.int k=10000;dok++;}whilek10000;C.int s=36;whiles-s;D.for;;printfhello;正确答案C解析A、i%100的余数0〜99i%100+1的范围1-100不可能大于100,ifi〉100为假,不会执行break故为死循环C、s只要非零就执行循环体,而循环体每次s减一,即s逐渐减小,当s减为1时,依然非零,执行循环体-5s变为0s为假循环结束故不是死循环
2、以下程序输出结果为int n=10;whilen7n--;printf%d,n;}A.1098B.987C.9876D.10987正确答案B
3、以下程序段的执行次数为x=10;dox=x*x;}while!x;A.O B.无限次C.l D.2正确答案C解析C、do-while先执行一次循环体,x=100,非零即真,而!x即假,第2次就不再执行故仅执行了1次
4、char ch;forfch=A;ch=,G,;ch++printf M%c n,ch+32;以上程序的输出结果为A.编译报错B.ABCDEFG C.abcdefg D.abcdef正确答案C解析C、ch的遍历范围为ABCDEFG,而ch+32为对应的大写字母变为小写,abcdefg
5、int i,s;fori=l;i100;i++s+=i;printf,,%d\n,l,sum;执行上述程序后,s的值为A.5050B.随机值,不确定C.编译错误D.4950正确答案B解析B、s未初始化为0,为随机值
6、int i,s=0;fori=l;i100;i++ifi==ll break;s+=i;printf%d\n,s;以上程序的输出结果为A.5050B.4950C.55D.66正确答案C解析C、i等于11时执行break循环终止,并没有把11累积到s上,即仅把1-10累加到了s中,s为557int i,s=0;fori=l;i=100;i++ifi==ll continue;s+=i;printf%d\n,s;以上程序的输出结果为A.4950B.5039C.55D.5050正确答案B解析B、i等于11时执行continue,跳过本次循环体,提前执行下一次循环即仅11没有累计到s中,s=5050-ll=
50398、fori=0;i5;i++forj=l;j10;j++printf”A;上述程序将执行printf语句的次数为A.40B.36C.45D.50正确答案C解析C、外层循环i遍历范围0-4即5次内存循环j遍历范围1~9即9次故共执行循环体5*9=45次
9、执行语句fori=l;i++4;;后变量i的值是A.4B.不确定C.3D.5正确答案D解析D、后缀表达式i++的值小于4时一直执行循环体,当该表达式的值等于4时循环停止,i++取i的值作为表达式的值,即i=4时i++表达式的值为4,循环停止但该表达式i++执行过后,i变成了
510、int x=3;do printf,,%d\n,,,x-=2;}while!-x;以上程序的输出结果为A.30B.死循环C.1D.1-2正确答案D解析D、do-while先执行一次循环体,x-=2--x=x-2=3-2=1,即第一次循环输出1x=L-x表达式为0,即假,而!-X为真,故继续执行第二次循环体,而此时x=0,x-=2表达式的值为-2x=-2,--x表达式为-3,非零即真,而!-x为假,循环终止
11、以下为一维数组的定义,正确的是A.int a[];B.int a
[10];C.int a10;D.a
[10];正确答案B
12、以下是二维数组的定义,正确的是A.inta
[3][]={l,2,3A5,6;B.inta[][]={l,2,3A5,6};C.float
[3]
[4];D.int a[]
[5];正确答案c解析A、不管是否提供初始值列表,第二维的大小都不能省略B、提供初值列表时,仅可省略第一维的大小,第二维的大小不能省略
13、char a
[20]z b
[20];则以下正确的输入语句是A.scanf%s%s/a/b;B.getsa,getsb;C.getsa,b;D.scanf%s%s,a,b;正确答案A解析D、数组名就是首元素的地址,不应该再加取地址运算符
14、以下数组的定义中错误的是A.int x[]
[3]={l,2,3A5,6};B.intx
[2]
[3]={{l,2}/{3,4},{5,6};C.int x[]
[3]={0};D.int x[]
[3]={{1,2,3},{4,5,6}};正确答案B解析B、初始数据的行数为3,而定义的行数为
215、分析以下程序,描述正确的是char a
[10],b[]=Come on.;a=b;putsa;A.运行输出字符串Come B.运行输出字符C C.运行输出字符串Come on.D.语法错误,编译不通过正确答案D解析D、a和b均为数组名,即常量地址,不能改变常量的值。