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

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

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

参考答案:2008

【解析】整型变量a的值为200,b的值\010\是用八进制表示的\10\即十进制的\8\,最后输出格式均为%d,即十进制格式,所以输出为\2008\。

46【2010年9月填空题第7题】有以下程序 #include main()

{ int x,y;

scanf(\,&x,&y);printf(\,x+y); }

程序运行时输入:1234567,程序的运行结果是 【7】 。 参考答案:15

【解析】可以指定输入数据所占列宽,系统自动按所指定的格式截取所需数据。-即将输入数据的2个列宽的数据赋给变量 x ,因为输入的为\1234567\,所以前两个列宽的数据为12,即x的值为12,同理即把输入数据中前两个列宽所在数据后的一个列宽的数据赋给变量y,所以y的值为3 ,所以x+y的值为15。

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

{char a,b,c,d;

scanf(\ c=getchar();d=getchar();

printf(\}

当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意,回车也是一个字符) 12 34

则输出结果是

A)1234 B)12 C)12 D)12 3 34 参考答案:C

【解析】程序根据用户输入分别给字符型变量a、b、c、d赋值为'1'、'2'、''、'3',因此输出到屏幕得到选项C中的格式。

48【2010年3月选择题第22题】有以下程序,其中k的初值为八进制数 #include main()

{ int k=011;

printf(\}

程序运行后的输出结果是

A)12 B)11 C)10 D)9

11

参考答案:D

【解析】011转换成十进制为9,并且k++表示先使用k的值,再使k的值加1,所以输出值为9。

49【2009年9月选择题第13题】阅读以下程序: #include main()

{ int case;float printF;

printf(\请输入2个数:\;

scanf(\ %f\,&case,&printF); printf(\ %f\\n\,case,printF); }

该程序在编译时产生错误,其出错原因是________。

A)定义语句出错,case是关键字,不能用作用户自定义标识符 B)定义语句出错,printF不能用作用户自定义标识符 C)定义语句无错,scanf不能作为输入函数使用 D)定义语句无错,printf不能输出case的值 参考答案:A

【解析】 标识符不能与C编译系统已经预定义的、具有特殊用途的保留标识符(即关键字)同名,否则程序在编译时会出现错误。题目源程序中使用了已经预定义的关键字case,所以将出现错误。

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

{ char cl,c2; cl='A'+'8'-'4'; c2='A'+'8'-'5';

printf(\,%d\\n\,cl,c2); }

已知字母A的ASCIl码为65,程序运行后的输出结果是________。 A)E,68 B)D,69 C)E,D D)输出无定值 参考答案:A

【解析】 c1输出字符的ASCII码比字母A大4,即字母E;c2以十进制数字形式输出,因此可以判断本题答案为A)。

51【2009年3月选择题第15题】程序段:int x=12;double y=3.141593;printf(\,x,y);的输出结果是________。 A)123.141593 B)12 3.141593 C)12,3.141593 D)123.1415930 参考答案:A

12

【解析】 本题考查printf函数的输出格式控制符,%m.nf表示指定输出的实型数据的宽度为m(包含小数点),并保留n位小数。当输出数据的小数位大于n时,截去右边多余的小数,并对截去的部分的第一位小数做四舍五入处理;当输出数据的小数位小于n时,在小数的最右边补0,输出数据的小数部分宽度为n。若给出的总宽度m小于n加上整数位数和小数点,则自动突破m的限制;反之,数字右对齐,左边补空格。本题中3.141593数值长度为8,小数位数为6,因此左端没有空格,故正确答案为A)。

52【2009年3月选择题第23题】有以下程序: #include main()

{ int a1, a2; char c1,c2;

scanf(\,&a1,&c1,&a2,&c2); printf(\,%c,%d,%c\,a1,c1,a2,c2); }

若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b。正确的输入格式是(以下ㄩ代表空格,代表回车)________。 A)12a34b

B)12ㄩaㄩ34ㄩb C)12,a,34,b D)12ㄩa34ㄩb 参考答案:A

【解析】 当输入整数或实数等数值型数据时,输入的数据之间必须用空格、回车、制表符等间隔符号隔开,间隔符个数不限。但整数和字符之间不用空格隔开,因为空格会被当作一个字符读入。因此,本题答案为A)。

53【2009年3月填空题第7题】若变量x、y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(__【7】__,x/y); 补充完整,使其输出的计算结果形式为:x/y=11。 参考答案:\

【解析】printf语句中,除了格式转换说明外,字符串中的其他字符(包括空格)将按原样输出

54【2009年3月填空题第8题】有以下程序: #include main()

{ char c1,c2 ;

scanf(\,&c1);

while(c1<65||c1>90) scanf(\,&c1); c2=c1+32;

printf(\,%c\\n\,c1,c2); }

程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能)__【8】__。 参考答案:不能

【解析】c1,c2被定义为字符类型,当输入65时是以字符形式读入,只能读到字符6,6的ASCII码值是54,满足while(c1<65||c2>90),所以执行scanf(\,&c1),即不能输出结果。

13

第4章 选择结构

4.1 关系运算符和关系表达式

55【2011年9月选择题第19题】下列条件语句中,输出结果与其他语句不同的是________。 A)if(a) printf(\,x); else printf(\,y); B)if(a==0) printf(\,y); else printf(\,x); C)if(a!=0) printf(\,x); else printf(\,y); D)if(a==0) printf(\,x); else printf(\,y); 参考答案:D

【解析】考查if语句中的判断,可以由A)、B)、C)三个选项看出,都是表示,只有当a不等于0时输出x,否则输出y,D)选项正好相反,所以选择D)。

56【2010年9月选择题第17题】若变量已正确定义,在if(W)printf(\,k);中,以下不可替代W的是

A)a<>b+c B)ch=getchar() C) a==b+c D)a++ 参考答案:A

【解析】在C语言中,表示不等于不能用\<>\,而只能使用\!=\。其他选项均满足题目的要求。

4.2 逻辑运算符和逻辑表达式

57【2011年9月选择题第17题】若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为________。 A)0和1 B)0和20 C)10和1 D)10和20 参考答案:B

【解析】考查运算符的相关知识,逻辑与运算符的规则是如果第一个参数的值为0,那么就不会执行第二个参数的内容,在本题中,程序执行到第一个括号时,k1的值变为0,且括号内的值为0 ,所以不会执行第二个括号中的语句,即k2仍然保持原值,所以答案为0,20。

58【2010年3月选择题第14题】若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是

A)a=a++,i++; B)i=(a+k)<=(i+k); C)i=a; D)i=!a; 参考答案:C 【解析】C语言中取余运算符两侧的操作数只能是整型(若为char型,则会自动转换成整型)。

59【2010年3月选择题第17题】若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是 A)1 B)0

C)2 D)不知道a的值,不能确定 参考答案:A

【解析】当A==1时,(A==1)||(A!=1)为真;当A!=1时,(A==1)||(A!=1)也为真,故正确答案为A。

14

60【2010年3月填空题第6题】在C语言中,当表达式值为0时表示逻辑值\假\,当表达式值为 【8】 时表示逻辑值\真\。 参考答案:非0

【解析】本题一定要明确一个概念,即:所有非0的数(并不只是\1\),在c语言中都表示逻辑值为\真\。

61【2009年9月选择题第21题】有以下程序:

#include main()

{ int n=2,k=0;

while(k++&&n++>2);

printf(\ %d\\n\,k,n); }

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

【解析】 本题考查逻辑运算符的\短路\现象,由于k的值为0,表达式首先去求k++的值,因为表达式k++的值为0,系统完全可以确定逻辑表达式的运算结果总是为0,因此将跳过n++>2,不再对它进行求值,即k的值加1,n的值不变。

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

#include main()

{ int x=20;

printf(\,0

printf(\,0

参考答案:1 0

【解析】 第一个printf语句输出的结果是逻辑表达式(x>0||x<20)的值,显然为真,即为1;第二个printf语句输出的是逻辑表达式(x>0&&x<20)的值,该值为假,即为0。

63【2009年3月填空题第10题】下列程序运行时,若输入1abcedf2df<回车> 输出结果为__【10】__。

#include main()

{ char a=0,ch;

while((ch=getchar())!=‘\\n’)

{ if(a%2!=0&&(ch>=‘a’&&ch<=‘z’)) ch=ch-’a’+’A’; a++;putchar(ch); }

printf(\ }

参考答案:1AbCeDf2dF

15

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

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