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 程序可以包含多个不同名字的子函数。
相关内容
相关标签