77范文网 - 专业文章范例文档资料分享平台

二级C语言笔试考点相关真题(答案解析版)(6)

来源:网络收集 时间:2019-01-07 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

91【2009年3月选择题第20题】以下程序段中的变量已正确定义: for(i=0;i<4;i++,i++)

for(k=l;k<3;k++);printf(\; 程序段的输出结果是________。 A)******** B)**** C)** D)*

参考答案:D

【解析】 本题考察for循环语句,注意第二个for语句的后面有一个分号,即printf函数不属于循环体,无论循环执行多少次,printf(\语句只执行一次。因此,本题正确答案为D)。

5.6 几种循环的比较

92【2009年3月选择题第22题】设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是________。

A)n=0;while((ch=getchar())!='\\n')n++; B)n=0;while(getchar()!='\\n')n++; C)for(n=0;getchar()!='n';n++); D)n=0;for(ch=getchar();ch!='\\n';n++); 参考答案:D

【解析】 A)项每进行一次循环判断一个字符是否为回车,如果不是就进行下一次判断,因此可以统计出输入字符个数;B)项与A)项的判断相似,仅为是否将读入的数据赋值给一个变量,因此并不影响判断结果;C)想用for循环来判断,与B)项的判断完全相同,可以统计出输入字符个数;D)项中ch=getchar()是给变量ch赋初值,如果输入回车,则程序只循环一次,如果输入一个非回车的字符,则程序进入死循环。因此,本题正确答案为D)。

5.7 break语句和continue语句

93【2011年3月选择题第19题】有以下程序

#include main() { int s;

scanf(\,&s); while(s>0) { switch(s)

{ case 1:printf(\,s+5);

case 2:printf(\,s+4);break; case 3:printf(\,s+3);

default:printf(\,s+1);break; }

scanf(\,&s); } }

运行时,若输入123450<回车>,则输出结果是

26

A)6566456 B)66656 C)66666 D)6666656 参考答案:A 【解析】switch语句执行完一个case后面的语句后,流程控制转移到下一个case语句继续执行,遇到break会跳出本次循环。本题中输入1时会输出65,输入2时会输出6,输入3时会输出64,输入4时会输出5,输入5时会输出6,在输入0时不满足循环条件,程序执行结束。

94【2011年3月选择题第20题】有以下程序段 int i,n;

for(i=0;i<8;i++) { n=rand()%5; switch(n) { case 1:

case 3:printf(\,n);break; case 2:

case 4:printf(\,n);continue; case 0: exit(0); }

printf(\,n); }

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

B)当产生的随机数n为4时结束循环操作 C)当产生的随机数n为1和2时不做任何操作 D)当产生的随机数n为0时结束程序运行 参考答案:D 【解析】当产生的随机数n为1或2时,由于没有遇到break,因此程序将分别顺序执行case 3与case 4;当n为3时,程序输出n的值后跳出switch语句;当n为4时,程序输出n的值后将继续执行下一次循环;当n为0时,程序执行exit函数结束运行。

95【2010年3月选择题第20题】有以下程序 #include main()

{ int i,j,m=1; for(i=1;i<3;i++) { for(j=3;j>0;j--) {if(i*j>3)break; m*=i*j; } }

printf(\}

程序运行后的输出结果是

A)m=6 B)m=2 C)m=4 D)m=5 参考答案:A

27

【解析】第一次循环i=1,j=3和j=2时都能执行m*=i*j,此时得到m的值为6;然后进行第二次循环i=2,j=3时会执行break语句,内部循环直接结束,此时i再加1,也会导致退出外部循环,所以最终结果m的值为6。

96【2009年9月选择题第18题】有以下程序: #include main()

{ int c=0,k;

for (k=1;k<3;k++) switch(k)

{ default: c+=k; case 2:c++;break; case 4:c+=2;break; }

printf(\,c); }

程序运行后的输出结果是________。 A)3 B)5 C)7 D)9 参考答案:A

【解析】 第一次循环时,k=1,在switch语句中,先执行default后面的语句,即c=c+k=1,因为没有break语句,所以不会跳出switch结构,会接着执行case2后面的语句,即c=c+1=2,然后跳出switch;第二次循环时,k=2,直接执行case2后面的语句,即c=c+1=3,然后跳出switch语句,结束循环,执行输出语句。

97【2009年3月选择题第28题】以下函数按每行8个输出数组中的数据: void fun(int *w,int n) { int i;

for(i=0;i

printf(\,w[i]); }

printf(\; }

下划线处应填入的语句是________。 A)if(i/8==0)printf(\B)if(i/8==0)continue;

C)if(i%8==0)printf(\D)if(i%8==0)continue; 参考答案:C 【解析】 在C语言循环语句中continue用来跳出当次循环,因此B)项和D)项不正确。if(i/8==0)是指当i除以8的得数等于0,即i的值小于8时,打印换行,因此A)项不正确。if(i%8==0)是指当i除以8的余数等于0,即当间隔8个数时,打印换行,因此选项C)正确。

28

98【2009年3月填空题第9题】以下程序运行后的输出结果是__【9】__。 #include main()

{ int k=1,s=0; do{

if((k%2)!=0)continue; s+=k; k++; }while(k>10); printf(\=%d\\n\,s); }

参考答案:s=0

【解析】continue语句用于跳出本次循环,直接进行下一次循环。进行if判断时k的值为1不能够被2整除,因此执行continue退出本次循环,不对s进行任何操作,直接进行循环条件判断,此时k的值为1不满足循环条件,退出while循环,输出s的值为0。\\

29

第6章 数组

6.1 一维数组的定义和引用

99【2011年9月填空题第9题】以下程序运行后的输出结果是__【9】__。

#include main()

{ int i,n[]={0,0,0,0,0}; for(i=1;i<=2;i++) { n[i]=n[i-1]*3+1; printf(\,n[i]); }

printf(\; }

参考答案:14 【解析】考查for循环的基础知识,当i=1时,a[1]为1,输出为1,当i=2时,a[2]为1*3+1=4,所以输出为4,最终输出为14。

100【2011年9月填空题第13题】以下程序运行后的输出结果是__【13】__。 #include main()

{ int n[2],i,j;

for(i=0;i<2;i++) n[i]=0; for(i=0;i<2;i++)

for(j=0;j<2;j++) n[j]=n[i]+1; printf(\,n[1]); }

参考答案:3

【解析】该题先是初始化数组n[2]中的元素全部赋值为0,然后执行两层for循环,当i=0,j=0,a[0]为1、a[1]为0,当j=1时,a[0]为1、a[1]为2;当i=1,j=0,a[0]为3、a[1]为2,当i=1,j=1时,a[0]为3、a[1]为3。

101【2011年3月填空题第11题】已知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空。 void fun(int a[N],int k) { int i;

for(i=k;i

参考答案:i-1

【解析】本题中要将数组元素向前移动一个位置,就要使a[i]赋值给前一个元素a[i-1]。 102【2011年3月填空题第13题】以下程序运行后的输出结果是 【13】 。 #include main()

30

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库二级C语言笔试考点相关真题(答案解析版)(6)在线全文阅读。

二级C语言笔试考点相关真题(答案解析版)(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/415207.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: