一、选择题
1. 以下关于return 语句的叙述中正确的是( )。
A. —个自定义函数中必须有一条return 语句
B. —个自定义函数中可以根据不同情况设置多条return 语句
C. 定义成viod 类型的函数中可以有带返回值的return 语句
D. 没有return 语句的自定义函数在执行结束时不能返回到调用处
答:B
【解析】A 项错误,当函数的返回值为void 类型时,函数中可以不含有return 语句;C 项错误,定义成void 类型的函数不可以有带返回值的return 语句,但可以有不带返回值的return 语句;D 项错误,无论函数是否带有 return 语句,当函数执行完后都会返回到调用处。
2. 有以下程序:
程序运行后的输出结果是( )。
A.10,64
B.10,10
C.64,10
D.64,64
答:A
【解析】C 语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修改。所以
,
3. 有如下程序:
第 2 页,共 34 页
程序运行后的输出结果是( )。
A.TF
B.T
C.F
D.TFT
答:A
【解析】x=0xl8为赋值表达式,十六进制数非0, 即x 非0, if 条件成立输出T , 之后再输出F 与回车符。程序运行后的输出结果是TF ,故A 选项正确。
4. 以下叙述正确的是( )。
A.EOF 只能作为文本文件的结束标志,其值为-1
B.EOF 可以作为所有文件的结束标志
C.EOF 只能作为二进制文件的结束标志
D. 任何文件都不能用EOF 作为文件的结束标志
答:A
【解析】文件结束或者错误,则返回符EOF 是在头文件中定义的宏,一般值为在while 循环中以EOF 作为文件结束标志,这种以EOF 作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII 代码值的形式存放,由于不可能出现-1,因此可以用EOF 作为文件结束标志。
5. 在C 语言中,以下选项中不能正确表示10X1000之值的是( )。
答:A
【解析】实型常量用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。指数形式由十进制数加阶码标志成,而A 项中阶码或以及阶码(只能为整数,可以带符号)组是浮点数,所以A 项不能正确表示10X1000之值,B 、C 、D 项都表示正确并且值为10000,故选择A 项。
6. 当没有指定C 语言中函数形参的存储类别时,函数形参的存储类别是( )。
A. 外部(extern )
B. 静态(static )
C. 寄存器(register )
D. 自动(auto )
答:D
【解析】auto 变量又称为自动变量,函数定义变量时,如果没有指定存储类别,系统就认为所定义的变量具 有自动类别,D 选项正确。static 变量又称为静态变量,编译时为其分配的内存
第 3 页,共 34 页
在静态存储区中。register 变量又 称为寄存器变量,变量的值保留在CPU 的寄存器中,而不是像一般变量那样占内存单元。当定义一个函数时, 若在函数返回值的类型前加上说明符extern 时,称此函数为外部函数,外部函数在整个源程序中都有效。
7. 若有以下定义和语句:
则值为6的表达式是(提示:
答:D 的优先级高于( )。
【解析】定义指向结构体变量的指针P ,并将结构体数组首地址赋给
加一指向数组第二个元素,其成员ri=6, D 项正确
员
5。
8. 若有说明和语句:A. B. C. 的地址
D. 不确定的值
答:A 则此时式为5, 之后再自加一指向结构体数组第一个元素,其成员n=5,由于指针自指向结构体数组第一个元素,其成
是后缀,先取值,所以表达为结构体数组第一个元素,其成员n=5, 先取值,表达式为中的值为( )。
【解析】定义字符数组并为其初始化,str 数组前5个元素为Hello ,
第六个元素自动赋值为
定义指针使等于字符串首地址,
9. 以下叙述正确的是( )。
A. 文件指针是指针类型的变量
B. 在使用文件指针时,不需要在内存中为其分配空间
C. 文件指针变量的值是文件的当前读取位置
D. 调用fscanf 函数能向所有类型的文件中写入任意字符
答:A
【解析】A 项正确,文件指针是指向文件类型的指针变量;B 、C 项错误,文件指针指向的是文件缓冲区,而不是文件本身位置;D 项错误,fscanf ( )函数作用是从指定的文件中格式化读数据,读取数据类型由格式控制符决定。
第 4 页,共 34 页 指向字符串第六个元素。