2021年软考程序员模拟试题及答案解析2_第1页
2021年软考程序员模拟试题及答案解析2_第2页
2021年软考程序员模拟试题及答案解析2_第3页
2021年软考程序员模拟试题及答案解析2_第4页
2021年软考程序员模拟试题及答案解析2_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021 年软考程序员模拟试题及答案解析 2设整型变量m, n, a, b, c , d 均为1,执行“ ( m=ab)&(n=ab) 后 m, n 的值是( )A.0 , 0B.0 , lC.1 , 0D.1 , l【解析】表达式 (m=a b)&(n=a b) 是一个逻辑表达式,它的计算过程是先计算逻辑与的左分量(m=ah其中又是先计算ab。因ab不成立,结果为0,将。赋给变量m,最后逻辑与的左分量结果为 0。因为逻辑运算采用特别的优化计算规则,当逻辑与的左分量结果为 0时,不再计算逻辑与的右分量,而直接以 0 为逻辑与的结果。所以,上述表达式计算使m的值变为0,而n的值没有变,依旧为l。

2、所以解 答是B。【参考答案】 B设有代码“ int a=3; ”,则执行了语句“ a+=a- = a*a; ”后,变量 a 的值是 ( )A.309-12【解析】因为赋值运算符的结合性自右至左,语句“ a+=a - =a*a;的执行是先计算a*a ,得到值 9 ,再计算 a-=a*a ,使 a 的值为 -6 ,接着计算 a+=a ,使 a 的值为 -12 。所以解答是D。【参考答案】 D在以下一组运算符中,优先级的运算符是 ( )A.10&a=15)【解析】数学关系式1010& a=15) ,或 a=11|a=12 |a=13|a=14 等。若写成10【参考答案】 A23.下列表达式中,准确的

3、C赋值表达式是()A.a=7+b+C=a+7B. C=7+b+=a+7C.a=(7+b , b+ , a+7)D. a= 7+b , c=a+7【解析】赋值运算符是运算符之一,赋值运算也能够出现在一般表达式中。赋值运算时,出现在赋值运算符左边的表达式应该是引用一个存储对象,例如变量。不能够是一个数值计算表达式。如表达式a=7+b+c=a+7因算术运算符比赋值运算符的优先级高,要把 a+7的结果 赋给7+b+c,这是错误的。同才打!由,表达式 a= 7+b+=a+7也是错误 的。而表达式a=(7+b, b+, a+7) 就是准确的赋值表达式,它是先计算赋值号左边的括号内的表达式,括号表达式内是一

4、个逗号表达式,远号表达式要求顺序逐一计算各子表达式,并以最后一个子表达式的值作为远号表达式的结果,最后将该结果赋给变量a。而表达式a=7+b,c=a+7则不是一个赋值表达式,而是一个逗号表达式,它由两个赋值子 表达式组成。所以解答是C。【参考答案】 C则表达式24. 若有以下定义: char a;int b;float c; double d; a*b+d-c 值的类型为 ( )A.floatintchardouble【解析】基本类型的数据能够混合运算,但运算时,对要求运算分量类型相同的运算来说,如运算分量的类型不是全相同,则会有自动类型转换发生。类型自动转换规则规定类型低( 简单 ) 的向类

5、型高 (复杂)的转换。各类型由高到低的排列顺序是: long double 、 float 、 unsigned long 、 long 、 unsigned int 、 int 这样,若有定义: char a; int b;float c;double d; 则表达式 a*b+d-c 的值的类型是double 的。首先计算 a*b ,得到 int 类型的值,接着计算a*b+d ,得到 double 类型的值,最后计算a*b+d-c ,得到 double 类型的值。所以解答是D。【参考答案】 D25.表达式“ 9!=7”的值是 ( )A.true非 0 值C.0D.1【解析】关系运算的结果只有

6、0和 1,若关系成立,则结果为1;若关系不成立,则结果为0。因关系式9!=7 成立,所以表达式的结果为 1。虽然 1 也是非 0 值,在供选择的答案中有1,所以最确切的解答是 D。26. 用十进制数表示表达式“ 12|012”的运算结果是( )A.1B.01416【解析】按位运算将运算分量视作二进位的位申信息,对两运算分量的对应位实行运算,产生H进位的位串信息结果。整数12最低8位二进位是00001100,整数012 是八进制数,它的最低8 位二进位是00001010。这两个二进位位串信息按位或运算,得到结果是00001110,对应十进制数14,八进制数是016。所以解答是C。【参考答案】 C

7、27.设字符型变量a=3, b=6,计算表达式C=(aAb) 2后C的二 进制值是 ( )A. 00011100B.000001110000000100010100【解析】 a 的值为3,写成8 位二进制数形式是00000011,b 的值为 6,写成8 位二进制数形式是00000110。表达式c=(aAb)2 ,先计算 a 与 b 的按位加,得到结果00000101,将这结果向左移2 位,得到二进位的位串信息是00010100。所以解答是D。【参考答案】 D28.设a , b和c都是int型变量,且a = 3, b = 4, c = 5,则下 面的表达式中值为 0 的是( )A. a b B.a = bC.a|b+c b cD. ! (a b) & &! c|1)【解析】对于表达式a & b,两个非。运算分量的逻辑与 结果为1。对于表达式a = b,因为关系式成立,结果也为此又因为 变量 a 为非 0 ,表达式 a|b+c bc 的结果也为1。对于表达式!(a b)&! c|1),先是计算(a = A & &ch =A &ch = A& &h 3”后,k的值是()0601777760660177766【解析】将变量i 的八进制数值013 写成二进制形式为 00001011,将变量 j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论