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
编译时将忽略多余的初值
相关内容
相关标签