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
相关内容
相关标签