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

2018年山西大学计算机与信息技术院876数据结构+C程序设计之C程序设计考研核心题库

  摘要

一、选择题

1. 以下不合法的字符常量是( )。

A.

B.

C. D. 【答案】A

【解析】在C 语言中,含义,仅仅代的转义

表示转义符,可以对特殊符号进行转义,此时特殊符号不再有其他

表示换行

表示Tab 键。A 项

,是指十六进制数cc 。

表示两位的八进

表普通的字符,\后面的字符取值范围应该在Ascn 码表范围。例如. 表示对双引号

表示对转义符的转义

制数,8不是合法的八进制数字。B 项,表示双引号这个特殊字符;C 项,表示转义符这个特殊字符;D 项,表示两位十六进制数

2. 有以下程序:

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

【解析】带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换不计算,只是进行简单的替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。FNA (FNB (a ))的替换过程为:FNA (2+2)替换为2+2X2+2,计算结果为8。FNB (FNA (b ))的替换过程为:FNB (4*4)替换为4X4+4X4=32。程序运行后的输出结果是8,32,故C 项正确。

3. 有以下程序

程序运行后的输出结果是( )。 A.6 B.9 C.11 D.7

【答案】A

【解析】首先定义了 3个字符数组p 、q 、r ,并分别被初始化。数组p 指定的大小为20, 初始

化列表为中的内容

为变成

即只指定了前4个元素的内容,根据C 语言的规定,初始化列表不足时,其余

函数,将字符串r 连接到字符串p 之后,即执行后p 表示求字符串q 的长度,得到3, 所以语

的作用就是:将字符串q 复制到数组p 的第4个元素位置处,数组p

所以字符串p 的长度是6。

4. 以下不能用于实型数据的运算符是( )。

A.% B./ C.* D.+

【答案】A

【解析】“%”符号两边必须是整数,因此答案为A 项。

5.

设有定义语句则以下叙述中正确的是( ) 。

A.f 是基类型为int 的指针变量

B.f 是指向函数的指针变量,该函数具有一个int 类型的形参 C.f 是指向int 类型一维数组的指针变量

D.f 是函数名,该函数的返回值是基类型为int 类型的地址 【答案】B

【解析】在C 语言中函数名代表该函数的入口地址,因此可以定义一种指向函数的指针来存放这类地址,int Of) (int ); ,其中f 为指向函数的指针变量,指向有一个整型变量且返回值也为整型的函数,第一个int 为函数 返回值的类型,第二个int 为函数的形参类型。

6. 有以下程序:

元素均自动初始化为0。然后通过

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

【解析】在C 语言中,没有专门的“逻辑值”,而是用非0表示“真”,用0表示“假”。第一次循环之后a=_l, b=l,第二次循环之后,a=0, b=2, 第三次循环时,由于a=0, 此时产生短路现象,即系统跳过b++不再对它进行求值,这时,a 自增1,由0变为1, 而b 的值不变,仍为2,故结果为1,2。

7. 有以下程序

程序运行后的输出结果是( )。 A.10, -1, 8,-3, 6, B.5,4,3,2,1, C.10, 2, 8, 4, 6,

D.5,-1,3,-3,1, 【答案】A

【解析】fim ( )函数功能是:对数组中,下标为偶数的元素累加5, 下标为奇数的元素减去5, 所以执行完fun ( )函数后,数组e 变为10, -0,8,-3,6。

8. 以下叙述中错误的是( )。

A. 当在程序的开头包含头文件stdio. h时,可以给指针变量赋NULL B. 函数可以返回地址值

C. 改变函数形参的值,不会改变对应实参的值 D. 可以给指针变量赋一个整数作为地址值 【答案】D

【解析】不能将一个整数直接赋给指针变量作为地址,D 项错误。标准库文件stdiah 定义了 NULL 是一个 类型为void*,值等于0的对象。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。