一、选择题
1. 以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。
A.
B.
C.
D.
【答案】A
【解析】A 选项a 为数组首地址,i++先取i 值再加1,scanf 读入的数据依次存放在数组中,A 选项正确。B 选项,进入死循环,i-直为0, 一直对a[i+l]读入数据,B 选项错误。C 选项,控制变量i 没有依次加1,无法结束循环,也无法对整个数组赋值,输入的数全是a[0], C 选项错误。D 选项数组元素引用错误,数组元素引用为
2. 有以下函数:
程序运行后的输出结果是( )。
A.zhang
B.zhao
C.wang
D.19
【答案】B
x+2代表了指向第三个元素的指针,【解析】结构体数组存储了三个人的信息,所以输出name
为Zhao 。
,D 选项错误。故选A 。 不是( )
3. 关于C 语言标识符,以下叙述错误的是( )。
A. 标识符可全部由数字组成
B. 标识符可全部由下划线组成
C. 标识符可全部由小写字母组成
D. 标识符可全部由大写字母组成
【答案】A
【解析】标识符只能由字母、数字、下划线组成,且标识符的第一个字符只能是字母或下划线。所以,B 、C 、D 选项正确,答案为A 选项。
4. 设有函数定义:则以下对函数sub 的调用语句中,正确的是( )。 A.
B.
C.
D.
【答案】A
【解析】函数的参数有两个,第一个是整型,第二个是字符类型,在调用函数时,实参必须一个是整型,一个是字符型相容的类型(整型)。A 项中97为字符传入函数,A 项正确。B 项
的码,可以作为字符不是合法字符,字符单引号里面只能有一个字符,B 项错误。 函数sub 返回类型为空,即不返回任何值,故C 项中将函数返回值赋给n 是不正确的调用方法,C 项错误。D 项为字符串,也不是合法的字符,D 项错误。
5. 以下选项中不能作为C 语言合法常量的是( )。
【答案】A
【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。单引号表示字符常量,但不能包含字符串。表达字符串常量时需用双引号。
6. 以下叙述中错误的是( )。
A. —个C 程序可以包含多个不同名的函数
B. —个C 程序只能有一个主函数
C.C 程序在书写时,有严格的缩进要求,否则不能编译通过
D.C 程序的主函数必须用main 作为函数名
【答案】C
【解析】一个C 程序有且只有一个主函数main 。一个C 程序可以包含多个不同名字的子函数。
C 程序在书写时没有严格的缩进要求。
7. 有以下程序
程序的运行结果是( )。
【答案】D
【解析】首先用函数的方式开打文件然后调用两次fwrite 函数将数组a 的5个元素,依次输出到文件fp 中,共10个字节,关闭文件。再次打开文件,使用文件指针指向文件的开头,调用fread 函数从文件中读取这10个字节的数据到数组a 中。
8. 若在程序中变量均已定义成int 类型,且已赋大于1的值,贝!J 下列选项中能正确表示代数
式的表达式是( )。
A.1.0/a/b/c
B.1/(a*b*c)
C.1.0/a*b*c
D.1/a/b/(double )c
【答案】A
【解析】abc 均大于1, 所以表达式1/abc小于1,需要用浮点类型表示。若要计算表达式值,需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,B 项错误。C 项表示表达式be/a,错误。D 项,算数运算法结合性自左向右,先计算1/a,结果为0, 之后的计算无论是否转换数据类型结果均为0, D 项错误。
9. 以下选项中非法的C 语言字符常量是( )。 A.