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

一、选择题

1. 有以下程序:

程序运行后的输出结果是( )。 A.1, 2 B.1, 1 C.2, 3 D.3, 3 【答案】A

【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元,可以继续使 用存储单元中原来的值。程序先执行行

即n 先自増1, 再调用f 函数,函数中进

运算,结果为

运算,结果仍为1,即第一个输出值即为1; 第二次调用f 函数时,执行

2, 返回输出,即输出值为2, 然后n 再

2. 以下选项中的编译预处理命令行,正确的是( )。

A.#definePI3.14 B.##defineeps0.001 C.#DEFINETRUE D.#defineintINT 【答案】A

【解析】A 项正确。不带参数的宏定义是用一个指定的标识符来代表一个字符串,其一般形式如下:#define宏名替换文本。需要注意:①在#define、宏名和替换文本之间用空格隔开;②在C 程序中,宏定义的定义位置一般写在程序的开头;③宏名一般用大写字母表示,便于与变量名区别;④宏定义是用宏名来表示一个字符串,在宏展开时以该字符串取代宏名,这只是一种简单的代换,预处理程序对它不做任何检查;⑤宏定义不是语句,在行末不加分号,如加上分号则连分号也一起替换。B 项define 前多了一个#。C 项缺少“替换文本”。D 项不能将一个自定义标识符宏定义为关键字。

3. 有以下函数:

该函数的功能是( )。 A. 计算字符串的长度 B. 实现字符串的赋值 C. 将字符串逆序存放 D. 计算字符串所占字节数 【答案】A

【解析】在fim ( )函数中定义了字符指针P , 首先把形参字符ps (相当于字符串的首地址)赋值给指针P , 再通过while 循环移动p 指针,当p 指针指向单元为0时,退出while 循环,返回此时p 地址和ps 地址差值,即 字符串的长度。

4. 程序段:

A.123.141593 B.123.141493 C.12, 3.141593 D.123.1415930 【答案】A

【解析】输出的x 与y 之间没有空格,保留6位。

5. 有以下程序

该程序试图通过指针p 为变量n 读入数据并输出,但程序有多处错误,以下语句正确的是( )。

【答案】A

【解析】B 项的正确写法应为

将变量n 的地址赋给指针p ; C 项的正确写法应为

的输出结果是( )。

代表输出字符型数据,y 的格式应为小数点后

项的正确写法应为

6. 有以下程序:

程序运行后的输出结果是( )。 A.0 B.1 C.10 D.4

【答案】A

【解析】题for 循环内有break 和continue 语句,且均放在b+=a语句前面,无论if 条件是否满足,b+=a都不会被执行,因此b 值始终为0。

7. 设有定义以下选项中能够使字符型指针c 正确指向一个字符串的是( )。

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

【解析】scanfO 函数是将C 定义为一个字符数组的数组名,选项C 是将c 定义为一个字符型变量,选项 D 应该是在指针的定义同时为它赋值,否则是不合法的。选项A 中定义字符数组str ,再将字符数组stt 的首地址 赋给字符型指针C 。

8. 有以下程序:

你可能感兴趣的:(河北师范大学C语言试题)