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

2018年河海大学计算机与信息院838数据结构及程序设计之C程序设计考研核心题库

  摘要

一、选择题

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

A.C 语言规定必须用main 作为主函数名,程序将从此开始执行

B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C.C 语言程序将从源程序中第一个函数开始执行

D.main 的各种大小写拼写形式都可以作为主函数名,如:MAIN , Main等 【答案】A

【解析】用户不能指定某函数为主函数,函数从main 函数开始执行,C 语言函数名区别大小写。

2. 有以下程序

程序运行后的输出结果是( )。 A.99 B.68 C.60 D.108 【答案】C

【解析】定义了二维数组a ,p 是指针,它指向长度为4的int 数组,初始化时,p

执行

当于函数的作用是计算数组a 中前两列的和,结果是60。

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

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

的优先级高于

第 2 页,共 44 页

( )。

【答案】D

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

4. 设有定义:

【答案】A 【解析】A 项正确,结果为3,

满足题意;B 项为0, C项为2, D项等同于C 项。

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

A. 不能用字符串常量对字符数组名进行整体赋值操作

B. 字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素 C. D. 【答案】A

【解析】A 项正确,不可以用赋值语句给字符数组整体赋一串字符,但是可以直接用字符串B 项错误,常量给一维字符 数组赋初始值。编译器会在字符串常量最后添加最近的’\0’作为其结束标志,运行时不安全;D 项错误,不能给数组str 赋值。

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

A. 当在程序的开头包含头文件B. 函数可以返回地址值

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

第 3 页,共 44 页

指针自

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

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

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

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

则以下表达式值为3的是( )。

表示(b ),A 项可改写成再计算计算的

在语法上是合法的,运行也是安全的

效果是一样的

它共有6个元素;

C 项错误,在语法上是合法的,但是没有字符串尾标识符,系统将要在其后的内存中找一个距它

时,可以给指针变量赋NULL

【解析】D 项错误,不能将一个整数直接赋给指针变量作为地址。A 项正确,NULL 是在头文件

中定义的符号常量;B 项正确,函数的返回值可以是地址,即指针;C 项正确,函数

调用中形参值的变化不会传递给实参。

7. 有以下程序:

程序的运行结果是( )。 A.15, 2 B.15, 15 C.2, 15 D.8, 8 【答案】A

【解析】本题求数组的最大值和最小值,首先把数组x 首地址的值赋给指针p , 故*p初始值为8, 而p 是地址值,P+1相当于数组中下一元素的地址,在for 循环,是求数组x 对应的最大值和最小值,fl 为最大值,f2为最小值。因此输出为15, 2。

8. 设函数中有整型变量n ,为保证其在未赋值的情况下初值为0, 应选择的存储类别是 ( )。

A.auto B.register C.static

D.auto 或 register

【答案】C

【解析】静态存储类型定义变量在未对其初始化时会对其初始化为默认值,其中int 型的默认初始化是0,其他选项的存储类型不能保证。

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

A. 同一个数组中所有元素的类型相同

B. 不可以跳过前面的数组元素给后面的元素赋初值0 C. 定义语句D. 若有定义语句【答案】D

第 4 页,共 44 页

给a 数组中所有元素赋初值0

编译时将忽略多余的初值