河北师范大学C语言试题,2017年河北师范大学信息技术学院838C语言程序设计考研仿真模拟题...

一、选择题

1. 下列叙述中正确的是( )。

A. 可以用关系运算符比较字符串的大小 B. 空字符串不占用内存,其内存空间大小是0 C. 两个连续的单引号是合法的字符常量 D. 两个连续的双引号是合法的字符串常量 【答案】D

【解析】A 项错误,关系运算符不能比较字符串大小,可以用函数库中的字符串比较函数来比较字符串的大小;B 项错误,空字符串占用一个字节的内存;C 项错误,字符常量是用单引号把一个字符括起来;D 项正确,两个连续的双引号是一个字符串常量,称为空串。

2. 若程序中有宏定义行:

#defineN100

则以下叙述中正确的是( )。

A. 宏定义行中定义了标识符N 的值为整数100

B. 在编译程序对C 源程序进行预处理时用100替换标识符N C. 上述宏定义行实现将100赋给标识符N D. 在运行时用100替换标识符N 【答案】D

【解析】D 项正确,预处理程序对源程序中所有使用宏名的地方进行直接替换。A 项错误,宏定义没有类型限制;B 项错误,预处理程序进行宏替换,而非编译程序;C 项错误,宏定义不是赋值操作,而是进行在预编译时进行替换。

3. 已定义以下函数

fun 函数返回值是( )。

A. —个整数 B. 不确定的值 C. 形参p 中存放的值 D. 形参p 的地址值 【答案】A

【解析】题目中fun ( )函数的返回表达式是

第 2 页,共 41 页

是形参p 所指内容的值,因为p 为int

型指针,所以该值是一个整数。

4. 若变量已正确定义为int 型,要通过语句

给a 赋

值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。

【答案】B

【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要原样输入,否则就不能正确读入数据。B 项前两个数据后面没有紧跟一个逗号,格式不匹配所以输入形式错误。

5. 以下选项中非法的C 语言字符常量是( )。

A. B. C. D. 【答案】A

【解析】A 项,

表示字符串,应该用双引号括起来。B 项,转义符

表示两位的十六进制数。

表示后退一格;C

项,表示八进制数;D 项,

6. 有以下程序

执行后的输出结果是( )。 A.1 B.2 C.4

D. 死循环 【答案】A

while 【解析】(--k )是先执行k 减1,然后判定k 是否等于0; 输出1; 接下来继续执行-k ,k 变成0, 不满足条件,循环结束。

7. 有以下程序:

第 3 页,共 41 页

是先执行k-=3,

k 的初始值是5, --k 后k 变成4, 进入循环体内部,然后输出k 的值。首先执行k-=3, 得到k 等于1,

程序运行的结果是( )。 A.1 B.2 C.3 D.4

【答案】B

【解析】fun 函数是一个递归函数,其功能是:当b 的值为零时,返回此时a 的值; 否则,

返回

即将a 和b 的值分别减1后返回

b 为零。执行过程为:执行fun 值2。

8. 若有以下定义和语句:

则值为6的表达式是(提示:

【答案】D

的优先级高于

( )。

返回

当b 不断递减时,a 也不断递减直到此时b=l,返回

返回a 的

【解析】定义指向结构体变量的指针P ,并将结构体数组首地址赋给加一指向数组第二个元素,其成员ri=6, D 项正确员5。

9. 以下程序:

第 4 页,共 41 页

指针自

指向结构体数组第一个元素,其成

是后缀,先取值,所以表达

指向结构体数组第一个元素,其成员n=5,由于

式为5, 之后再自加一为结构体数组第一个元素,其成员n=5, 先取值,表达式为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值