全国计算机等级考试二级C语言考前复习资料(真的非常全的笔试资(5)

2019-08-31 13:16

【解析】while循环s<=0时退出循环,输入1 2 3 4 5 0,只有printf(“%d\\n”,a); 当输入0时退出循环,switch中当s=1时,执行case 1,case 2,}程序运行后的输出结果是 (B) 由于case 1后面没有break,会继续执行case 2,遇到break, A.- 1 B.0 C.1 D.7

退出switch;当s=2时,执行case 2,退出switch;当s=3时,【解析】此类题一定要注意标点符号的位置,while(a--);该执行case 3,default,由于case 3后面没有break,会继续执行行末尾的分号即为一条空语句,来作为while的循环体。

(2010-09-20)有以下程序 default,遇到break,退出switch;当s=4和5时,执行default,例1:

#include

退出switch。所以输入1时,输出65;输入2时,输出6;输main()

{int a=1,b=2;

入3时,输出64;输入4时,输出5;输入5时,输出6。故

while(a<6) {b+=a;a+=2;b%=10;}

选择A。 printf(“%d,%d\\n”,a,b);

}程序运行后的输出结果是(B) 5.知识点:while,do-while,for三种循环结构

A)5,11 B)7,1 C)7,11

例1:(2011-09-20)有以下程序:

D)6,1

#include 例2:(2011-03)有以下程序段 main() { int a=7; while(a--);

main() { ?

while( getchar()!='\\n');

第 21 页 共 78 页

无限循环

【解析】while(y--)后面的分号是一个空语句,当y--不等于0

}以下叙述中正确的是(C) 时执行空语句,当y—等于0时,执行printf函数输出y值,

当y—等于0时退出循环,此时y值变成-1。

A)此while语句将无限循环

? 如果第一次判断表达式的值为0,则循环一次也不执行。

B) getchar()不可以出现在while语句的条件表达式中 即while循环体最少执行0次。

例4:(2011-03)当执行下列程序时,输入1234567890

C)当执行此while语句时,只有按回车键程序才能继续执

则其中while循环体将执行 0 次。 #include

main()

D)当执行此while语句时,按任意键程序就能继续执行

{char ch;

【解析】while条件表达式getchar()!='\\n'只要输入的字符不是while((ch=getchar()==?0?)) printf(?#?); 回车,就一直执行循环,而循环内是一个空语句,所以按回车} 键程序才能继续执行,选择C。 【解析】ch=getchar(),ch第一次读入的值为?1?,故? 循环体部分可以只有一条空语句,不做任何操作。 while((ch=getchar()==?0?))不成立,循环一次也不执行。 例3:(2010-09-21)有以下程序 ? while循环与switch结构 #include 例5、(2011-03)有以下程序 main()

main() {int y=10;

while(y--);

{ int s;

printf(“y=%d\\n”,y);

scanf(\}程序执行后的输出结果是(B)

A)y=0 B)y=-1 C)y=1 D)while构成

while(s>0) ?

第 22 页 共 78 页

{ switch(s)

{ case1:printf(\case2:printf(\case3:printf(\default:printf(\}

执行case 3,default,由于case 3后面没有break,会继续执行default,遇到break,退出switch;当s=4和5时,执行default,退出switch。所以输入1时,输出65;输入2时,输出6;输入3时,输出64;输入4时,输出5;输入5时,输出6。故选择A。

6.知识点:do-while语句 例1:(2009-09-09)以下程序运行后的输出结果是

scanf(\5 。

#include }

main()

} 运行时,若输入1 2 3 4 5 0<回车>,则输出结果是(A) {int a=1,b=7;

do{

A)6566456 B)66656 C)66666

b=b/2; a+=b; }while(b>1); D)6666656

printf(“%d\\n”,a);}

【解析】:while循环s<=0时退出循环,输入1 2 3 4 5 0,只有

? do-while循环体最少执行1次。

(2007-09)若变量已正确定义,有以下程序段 当输入0时退出循环,switch中当s=1时,执行case 1,case 2,例2:i=0;

由于case 1后面没有break,会继续执行case 2,遇到break,do printf(“%d,”,i); while(i++);

退出switch;当s=2时,执行case 2,退出switch;当s=3时,printf(“%d\\n”,i); 其输出结果是 (B)

A)0,0 B)0,1 C)1,1 D)程序进入

第 23 页 共 78 页

无限循环 不能,则输出i+b,如果可以则输出i+c,注意if(i%2)是求表【解析】执行do-while循环,输出i的值为0,接着判断循环

达式i%2是否为true,即其结果是不是非0。所以i为0时,条件i++,i++的值为0,i的值为1,故答案是B。

7.知识点:for语句

输出0+A=A,i为1时,输出1+a=b,i为2时,输出2+A=C,

例1:(2011-03)有以下程序

i为3时,输出3+a=d,i为4时,输出4+A=E,i为5时,输 main() { char b,c; int i;

出5+a=f。故选B。

? 表达式1、表达式2、表达式3可以缺省,但两个分号不能

b='a'; c='A';

省略。

表达式1省略的情况如下: for(i=0;i<6;i++)

例2:(2010-03-21)有以下程序

{ if(i%2) putchar(i+b); #include

main() else putchar(i+c);

{int a=1,b=2;

} for(;a<8;a++) {b+=a;a+=2;}

printf(“%d,%d\\n”,a,b); printf(\

}程序运行后的输出结果是(D)

} 程序运行后的输出结果是(B) A)9,18 B)8,11 C)7,11 D)10,14

? 表达式1和表达式3也可以是逗号表达式。

A)ABCDEF B)AbCdEf C)aBcDeF

例3:(2009-04-20)以下程序段中的变量已正确定义 for(i=0;i<4;i++,i++) D)abcdef

for(k=1;k<3;k++) printf(“*”);程序段的输出结果是 (B)

【解析】:for循环执行6次,每次判断i能否被2整除,如果

A)******** B)**** C)** D)*

第 24 页 共 78 页

【解析】外层for循环,表达式3是逗号表达式,即i自加2。. switch (n) ? for循环与switch结构 例4:(2009-09-29)有以下程序 #include main()

{int a[]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2)

{case 0:switch(a[i]%2)

{case 0:a[i]++;break; case 1:a[i]--; }break; case 1:a[i]=0; }

for(i=0;i<4;i++) printf(“%d”,a[i]); printf(”\\n”); }程序运行后的输出结果是( C)

A)3 3 4 4 B) 2 0 5 0 C)3 0 40 C)0 3 0 4 例5、(2011-03)有以下程序段 int i,n;

for(i=0;i<8;i++)

{ n=rand()%5;

第 25 页 { case 1: case 3:printf(\ case 2:

case 4:printf(\ case 0:exit(0);

}

printf(\

} 以下关于程序段执行情况的叙述,正确的是(D) A)for循环语句固定执行8次

B)当产生的随机数n为4时结束循环操作 C)当产生的随机数n为1和2时不做任何操作 D)当产生的随机数n为0时结束程序运行

【解析】:rand()是随机产生一个整数,rand()%5即随机得到

0-4这五个数字,for循环控制随机产生8次,当得到1,3时

共 78 页


全国计算机等级考试二级C语言考前复习资料(真的非常全的笔试资(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:感受生命的意义教学设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: