2017年上海市培养单位上海生命科学研究院864程序设计之C程序设计考研强化模拟题
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.1 B.2 C.4 D.8
【答案】D
【解析】f (l )输出2,然后调用f (2)输出4, 再调用f (4)输出8。
2. 如有表达式则其中与w 等价的表达式是( )。
A.w==l B.w==0
c.
D. 【答案】D
【解析】在C 语言中,没有专门的“逻辑值”,而是用非0表示“真”,用0表示“假”。此条件表达式的形式为<表达式1>?<表达式2>:<表达式3>, 当表达式1的值为真,即为非零时,求出表达式2的值作为结果;当表达式1的值为假,求出表达式3的值作为结果。可见表达式W ,不为1时返回(++y)等价于W!=0。A 项,w==l表示当w 的结果为1是返回(-X )。
3. 以下叙述中正确的是( )。
A. 在C 语言中,预处理命令行都以“#”开头 B. 预处理命令行必须位于C 源程序的起始位置 C.#include
D.C 语言的预处理不能实现宏定义和条件编译的功能 【答案】A
【解析】编译预处理”就是在C 编译程序对C 源程序进行编译前,由编译预处理程序对这些
第 2 页,共 37 页
编译预处理命令行进行处理的过程。A 项正确,在C 语言中,凡是以“#”号开头的行,都称为“编译预处理”命令行。B 项错误,预处理命令行可以出现在程序的任何一行的开始部位,其作C 项错误,#inClUde
D 项错误,预处理可以实现宏定义、条件编译和文件包含。
4. 有以下程序:
程序运行的结果是( )。 A.1, 2, 3, 4 B.1, 0, 7, 0 C.1, 4, 5, 9 D.3, 4, 8, 0 【答案】B
【解析】由二维数组x 的定义知,数组x 为4行4列。fun 函数中for 循环的作用是将二维数组前4行的对角线元素赋
给
5. 有以下程序:
程序的运行结果是( )。 A.nice B.verynice C.nicegood D.verygood 【答案】D
【解析】通过赋值运算使一个字符指针指向一个字符串常量:
第 3 页,共 37 页
在主函数中定义二维数组
为
所以可以看出对角线元素为1、0、7、0。
这种形式
只是将字符串“nice”首地址赋给指针,而不是将指针原本指向的单元元素改变成“nice”。程序执行过程为:定义字符数 组并且初始化为“verygood”常量,定义指针ps 使其指向数组,使ps 指向数组第5个元素,使指针指向字符串 “nice”,这并不影响s 数组任何元素值,故输出字符串8为“verygood”。
6. 若有代数式
(其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该
代数式的C 语言表达式是( )。
【答案】A
【解析】math.h 是数学运算库函数的头文件名:
7. 下列定义数组的语句中,正确的是( )。
A
)
B
)C
)
D
)
【答案】D
【解析】一维数组定义格式是:类型名数组名[整型常量表达式]。D 项正确,它使用预处理宏定义,N 可以看做是常量。A 项错误,没有指明数组的长度;B 项错误,数组长度不能由变量指明;C 项错误,数组长度应该整型常量表达式。
8. 有以下程序:
程序运行的结果是( )。
第 4 页,共 37 页
相关内容
相关标签