当前位置:问答库>考研试题

2017年北京市培养单位工程科学学院864程序设计考研冲刺密押题

  摘要

一、选择题

1. 若有定义:inta=0,b=0, c=0, d=0; ,有C 语言表达式

行顺序的叙述正确是( )。

A. 先执行a++, 表达式a++的值为0,短路,得a++,执行它

B. 先执行a++,表达式a++的值为0; 再执行b++,表达式b++的值为0,由此可确定

值为0,因此执行d++

C. 先执行a++,表达式a++的值为1; 再执行b++,表达式b++的值为1, 由此可确定

值为1, 因此执行C++

D. 先执行b++,表达式b++的值为1; 再执行a++,表达式a++的值为1,由此可确定

值为1,因此执行C++

【答案】A

【解析】表达式1? 表达式2:表达式3, 若表达式1为真,则执行表达式2, 否则执行表达式3。逻辑与运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式>中,左操作数a++的值为0, 已经可以确定整个逻辑表达式的结果为0, 因此右操作数b++不再求解,直接执行表达式3, 即d++, A 项正确。

2 若有定义语句 ,.则错误引用x 数组元素的是( )。

A. 1 B. C. D.

【答案】B

【解析】对一维数组元素可以采用多种方式。直接引用,数组名[下标],数组的大小为n 时,

B 项错误,下标的取值范围为0〜(n_l)。数组x 的下标为0〜4,

项,通过指针访问

3. 有如下程序:

D 项,通过数组名访问 A 项,溢出。通过指针访问C 以下关于其执

程序运行后的输出结果是( )。

【答案】D

【解析】在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。在程序执行过程为:调用函数,(double 类型)(int )强制转换将转换成int 类型1,然后返回1并输出,故D 选项正确。

4. 以下选项中能表示合法常量的是( )。

【答案】A

【解析】A 项,表示的是字符串常量。B 项,浮点数的指数部分应该是整型;C 项,单个转义符没有意义;D 项,整数常量中间不能出现逗号。

5. 有以下程序:

程序的运行结果是( )。

A.5, 1

B.1, 1

C.18, 1

D.13, 1

【答案】A 【解析】’按位与运算,13=11018, 5=1018, 执行语句结果为101B=5, 即c=5

。逻辑与运算,10与5均为真,结果为真,即d=l。故A 选项正确。

6. 设已有定义: float x;

则以下对指针变量p 进行定义且赋初值的语句中正确的是( )。 A. B.

C.

D.

【答案】A

【解析】A 项正确,p 是float 类型的指针,指向x 的存储单元;B 项错误,p 是int 类型的指针,只能指向 int 变量的存储单元;C 项错误,p 的float 类型的变量,是取变量x 的地址,不能把地址赋值给float 类型变量;D 项错误,p 是指向float 类型的指针,不能使用常整型赋值。

7. 以下选项中正确的定义语句是( )。

A.doublea ;b ;

B.double3,-b-l ;

C.doublea=7,b-1;

D.double ,a ,b ;

【答案】c

【解析】定义同一类型的变量时,不同变量之间需要用“,”分隔。A 项错误,a 和b 之间缺少逗号而用分号,是不正确的,分号是语句结束标志;B 项错误,定义变量的同时为变量初始化赋值不能用连等;D 项错误,在double 和a 之间多了一个逗号,变量类型说明后面不应用逗号,应用空格分离。

8. 有以下程序

程序运行后的输出结果是( )。

A.0

B. 随机值

C.15

D.16

【答案】B

【解析】sum 作为局部变量,没有显式初始化,sum 值代表原来内存中存储的对象,不可预知,程序结果是随机值。

9. 有以下程序

程序运行后的输出结果是( )。

A.20