(本科C)模拟卷-选择题 答案解析.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(本科C)模拟卷-选择题 答案解析

1.以下选项中不合法的用户标识符是 A)abc.c B)file C)Main D)PRINTF 答案A. 解析:C语言中的合法标识符的命名规则:由字母、数字及下划线_ 组成,且只能以字母或下划线_ 开头。用户标识符是指在程序中自定义的变量名、数组名、函数名等,应避开C语言中的关键字及标准函数库中声明的函数名称。 2.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,t的值为 A)不定值 B)4 C)3 D)1 答案 D. 解析:t=++x||++y; 是一个赋值语句,是将= 右边的表达式的值赋给变量t。 右边的表达式根据算符优先级别,应先算++,最后算 逻辑或|| 运算。++x表达式的值为4,非0值应被看作逻辑真,因此后边的 ++y 不作运算。变量t的值由前面++x的值1决定。 3. 以下叙述中正确的是 A)输入项可以为一个实型常量,如scanf(%f,3.5); B)只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d,b=%d); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,f); D)当输入数据时,必须指明变量的地址,如scanf(%f,f); 答案:D 4.有如下程序段: int a=14,b=15,x; char c=A; x=(ab)(cB); 执行该程序段后,x的值为 A)true B)false C)0 D)1 答案:D 解析:对x的赋值是一个逻辑与()表达式的运算结果。(ab) 运算中,变量a和b的值都是非0值,应看作真,(ab)的值为1;(cB)运算中,变量c的值为’A’, (cB)成立,结果为真,取值为1。因此整个的结果为1. 5.执行以下语句后b的值为 int a=5,b=6,w=1,x=2,y=3,z=4; (a=wx)(b=yz); A)5 B)0 C 答案 C。 解析:首先注意本题问的是变量b的值。执行(a=wx)(b=yz);时,整个是逻辑与()运算,(a=wx)将(wx)的值赋给变量a,a的值为0,按照C语言中逻辑与运算的特殊规定(短路运算性质),逻辑与的左边是0值,将不再计算逻辑与右边表达式的值,因此,b不会被重新赋值。 6.设i,j已定义为整型变量,正确的for语句为 A)for(i=0;ij;i++)循环体语句 B)for(i=0;ij;i++);循环体语句 C)for(i=0,ij,i++)循环体语句 D)for(i=0,ij,i++);循环体语句 答案: A 7.在以下程序段中,输出值为 #define P(x) 3*x*x printf(%d,P(2+3)); A)75 B)15 C 答案: B 解析:带参数的宏展开,是直接进行符号替换。P(2+3)展开的结果是: 3*2+3*2+3 因此计算结果是15. 8.若有定义:int aa[8];则以下表达式中不能代表数组元aa[1]的地址的是 A)aa[0]+1 B)aa[1] C)aa[0]++ D) aa+1 答案:C 下不正确的定义语句是 A)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5]={0,1,3,5,7,9}; C)char c1[]={1,2,3,4,5}; D)char c2[]={\x10,\xa,\x8}; 答案:B 解析:B中,给出的初始化的值个数多于定义的数组长度,非法的语法。 10.设有定义:int n1=0,n2,*p=n2,*q=n1;,以下赋值语句中与n2=n1;语句等价的是 A)*p=*q; B)p=q; C)*p=n1; D)p=*q; 答案: A 解析:指针变量的基本运算。根据变量定义及赋值,指针变量p指向变量n2,q指向变量n1,因此*p1等价于n2,*q等价于n1 第2套 : 1.若整型变量为m=7,n=4,实型变量为a=38.4,b=6.4和x,执行下列语句的输出结果是 x=m/2+n*a/b+1/2; printf(%.2f\n, x); A)27.00 B)28.00 C)5.40 D)29.00 答案:A 解析:x=m/2+n*a/b+1/2; 先计算=右边的表达式,m/2最先算,m为整型变量,值为7,因此m/2结果为整数3; 接下来计算n*a/b,其值为实型24.0; 然后计算3+24.0,结果为27.0,接下来根据算符优先规则,应先算1/2,类型相同的两个整数1和2相除,结果为0,最后 27.0+0,结果为27.0 2. 若变量已经定义,要将a和b中的数进行交换,下面选项中不正确的是 A)a=a+b,b=a-b,a=a-b B)t=a,a=b,b=t;

文档评论(0)

135****6041 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档