首页>计算机>软件水平考试>模拟试题>正文
软考程序员考前练习试题及答案解析(二)

www.zige365.com 2010-7-28 15:08:14 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

20.设整型变量 abc均为2,表达式 a+++b+++c++ 的结果是(
  A.6
  
B.9
  
C.8
  D.表达式出错

  【解析】与上一小题解答的理由相同,表达式a+++b+++c++被系统理解成:((a++)+(b++))+c++)。表达式变量++”的值是变量的原来值,所以在变量abc均为2的前题下,执行上述表达式,得到结果为6。所以解答是A
  【参考答案】A

  21.若已定义 x ydouble类型,则表达式: xl yx32结果是(
  A.l
  
B.2
  C.2
0
  D.25

  【解析】由于变量xy都是double类型,表达式 xl yx32是先计算 x1,由于 1是整型的,xdouble类型的,该计算先将整数1转换成double类型的1.0,并将1.0赋给变量x。计算 yX32是先求 32的值,因是两整数相除,结果是整型值 1,然后在计算 X1时,也先将 1转换成 1.0,然后求得 Xl的值为2.0,最后将该值赋给变量 y,并得到整个表达式的值为2.0.所以解答是C
  【参考答案】C

22.设a为整型变量,下列C表达式中,不能表达数学关系式:10a15的是(
  A.10a15
  B.a==11||a==12|| a==13|| a==
14
  C.a10&&a
15
  D.!(a<=10)&&!(a=15

  【解析】数学关系式 10a 15表示。只能是 11 12 13 14四个值之 l。用 C表达式表示这个条件,可写成a10&& a15,或!(a<=10)&&!(a=15),或a==11||a==12 || a==13||a==14等。若写成10a15,该算式的计算顺序是先求出10a的结果01,然后以这个结果与15比较,是否小于15,显然这与数学式子的意义是不一致的。所以解答是A
  【参考答案】A

  23.下列表达式中,正确的C赋值表达式是(
  A.a7bCa7
  B. C7b++=a
7
  C.a=(7b b++, a7

  D. a 7b ca7

  【解析】赋值运算符是运算符之一,赋值运算也可以出现在一般表达式中。赋值运算时,出现在赋值运算符左边的表达式应该是引用一个存储对象,例如变量。不可以是一个数值计算表达式。如表达式a7bca7因算术运算符比赋值运算符的优先级高,要把a7的结果赋给7bc,这是错误的。同样理由,表达式a 7b++=a7也是错误的。而表达式a=(7bb++,a7)就是正确的赋值表达式,它是先计算赋值号左边的括号内的表达式,括号表达式内是一个逗号表达式,远号表达式要求顺序逐一计算各子表达式,并以最后一个子表达式的值作为远号表达式的结果,最后将该结果赋给变量a。而表达式a7bca7则不是一个赋值表达式,而是一个逗号表达式,它由两个赋值子表达式组成。所以解答是C
  【参考答案】C

  24.若有以下定义: char aint bfloat c double d;则表达式a*b+d-c值的类型为(
  A.float
  
B. int
  
C. char
  D. double

  【解析】基本类型的数据可以混合运算,但运算时,对要求运算分量类型相同的运算来说,如运算分量的类型不是全相同,则会有自动类型转换发生。类型自动转换规则规定类型低(简单)的向类型高(复杂)的转换。各类型由高到低的排列顺序是:long doublefloatunsigned longlongunsigned intint这样,若有定义: char a int bfloat cdouble d;则表达式a*b+d-c的值的类型是double的。首先计算 a*b,得到int类型的值,接着计算a*b+d,得到double类型的值,最后计算a*b+d-c,得到double类型的值。所以解答是D
  【参考答案】D

25.表达式“9!=7”的值是(
  A.true
  B.0

  C.0
  D.1

  【解析】关系运算的结果只有01,若关系成立,则结果为1;若关系不成立,则结果为0。因关系式9!=7成立,所以表达式的结果为1。虽然

本新闻共2页,当前在第1页  1  2  

我要投稿 新闻来源: 编辑: 作者:
相关新闻