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

2016年南昌大学资源环境与化工学院C程序设计考研复试题库

  摘要

一、选择题

1. 有以下结构体说明、变量定义和赋值语句

则以下scanf 函数调用语句有错误的是( )。

A. B. C. D.

答:D 【解析】

2. 若有以下程序:

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

A. 可用S 定义结构体变量

B. 可用T 定义结构体变量

C.S 是struct 类型的变量

D.T 是structS 类型的变量

答:B

【解析】S 为结构体类型名,而T 为结构体变量名表。

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

A. 当在程序的开头包含头文件

B. 函数可以返回地址值

C. 改变函数形参的值,不会改变对应实参的值

D. 可以给指针变量赋一个整数作为地址值

答:D

【解析】D 项错误,不能将一个整数直接赋给指针变量作为地址。A 项正确,NULL 是在头文件中定义的符号常量;B 项正确,函数的返回值可以是地址,即指针;C 项正确,函数

不是地址,不能用于scanf 函数中。 时,可以给指针变量赋NULL 调用中形参值的变化不会传递给实参。

4. 若有定义语句:A.7

B.8

C.9

D.10

答:A

C 语言规定以字符【解析】

5. 有以下程序:

则的值是( )。 strlen 函数返回的是字符串的长度,

作为字符串结束的标识符。等效,所以字符串长度是7。

程序运行后的输出结果是( )。

A.ABCDEFGHIJKLMNOP

B.ABCDEFGHHKL

C.ABCD

D.AEIM

答:D

【解析】auto 变量又称为自动变量,函数定义变量时,如果没有指定存储类别,系统就认为所定义的变量具 有自动类别,D 选项正确。static 变量又称为静态变量,编译时为其分配的内存在静态存储区中。register 变量又称为寄存器变量,变量的值保留在CPU 的寄存器中,而不是像一般变量那样占内存单元。当定义一个函数时, 若在函数返回值的类型前加上说明符extern 时,称此函数为外部函数,外部函数在整个源程序中都有效。

6. 在以下程序:

程序运行后的输出结果是( )。

A.0

B.1

C.2

D.3

答:A

【解析】>不满足跳出,if (a==0)不满足,跳出循环,并没有往下执行,因此b 值没有改变。

7. 设有两行定义语句:

int scanf;

float case;

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

A. 两行定义语句都不合法

B. 两行定义语句都合法

C. 第1行语句不合法

D. 第2行语句不合法

答:D

【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函 数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途 的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。

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

A. 函数的返回值不能是结构体指针类型

B. 函数的返回值不能是结构体类型

C. 在调用函数时,可以将结构体变量作为实参传给函数

D. 结构体数组不能作为参数传给函数

答:C

【解析】C 项正确,结构体变量作为实参时,是传值形式调用;AB 两项错误,函数的返回值可以是结构体变量和结构体指针变量;D 项错误,向函数传递结构体数组名时,传递的是实参结构体数组的首地址,是传引用形式调用。

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

A. —个C 程序可以包含多个不同名的函数

B. —个C 程序只能有一个主函数

C.C 程序在书写时,有严格的缩进要求,否则不能编译通过

D.C 程序的主函数必须用main 作为函数名

答:C

【解析】一个C 程序有且只有一个主函数main 。一个C 程序可以包含多个不同名字的子函数。