一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.10
B.11
C.20
D.21
答:D
【解析】题中定义了一个包含两个元素的结构体数组,其中data[0].a=10,data[0].b=100,data[l].a=20,data[l].b=200。指针p 指向结构体数组的第2个元素,那么p.a 的值为20, p.b 的值为200, 所以输出结果为21。
2. 字符数组a 和b 中存储了两个字符串,判断字符串a 和b 是否相等,应当使用的是
( )。
A. B. C. D.
答:A
【解析】C 语言中,判断字符串是否相等,使用字符串比较函数
符故答案为A 选项。
3. 以下关于C 语言的叙述中正确的是( )。
A.C 语言中的注释不可以夹在变量名或关键字的中间
B.C 语言中的变量可以在使用之前的任何位置进行定义
C. 在C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D.C 语言的数值常量中夹带空格不影响常量值的正确表示
答:B
【解析】A 项错误,C 语言中,程序中的注释可以出现在程序中任何合适的地方,为了方便程序理解,一般不建议写在变量名或关键字的中间;C 项错误,在C 语言的算术运算符中,取余运算符“%”的两个运算分量必须是整数,但对于其他运算符,如“+”来说,两侧的运算符类型
第 2 页,共 34 页 不能使用相等操作
也可以不一样,例如左侧为一个字符类型,右侧为一个整数类型,系统在执行程序时会自动将字符类型转换为ASCII 值进行运算;D 项错误,C 语言的数值表示时各个数位必须紧靠在一起,否则编译系统只会识别紧靠运算符的一部分数值,另一部分数值会发生语法错误。
4. 下面选项中的程序段,没有编译错误的是( )。
答:A
A 项正确,BCD 三项错误,【解析】首先定义了字符串指针sp ,然后执行字符串常量“Hello”。
数组只有在初始化是可以被赋值,不能通过赋值语句将字符串常量或其他字符数组中的字符串直接赋给字符串变量。
5. 若有定义inta ,b ,c ; 以下选项中的赋值语句正确的是( )。
A.a= (b=c) +1;
B. (a=b) =c=l:
C.a= (b==c) =1;
D.a+b=c:
答:A
【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类 型相同才能实现赋值。A 项中,将c 赋值给b ,然后将b 加1赋值给a ,是正确的赋值语句,正确。B 项中,将1 赋值给c , 赋值运算
赋值,错误。C 项中赋值运算
值
6. 有以下程序:
程序的运行结果是( )。
第 3 页,共 34 页 中左值为表达式,不是变量不能被左值为逻辑表达式,不是变量不能被赋值,错误。D 项左为表达式,不是变量不能被赋值,D 项错误。
答:C
【解析】在funO 函数中,
出。 表示X 取值为a 的小数部分,因此,输入a 为输
7. 以下关于函数的叙述中正确的是( )。
A. 函数调用必须传递实参
B. 函数必须要有形参
C. 函数必须要有返回值
D. 函数形参的类型与返回值的类型无关
答:D
【解析】函数参数有两种:形式参数和实际参数,前者函数定义时函数名后括号内是形参列表,每个形参由类型和名称两部分组成。在定义函数时,系统并不给形参分配存储单元,当然形参也没有具体的数值,所以称它为形参,也称虚参。形参在函数调用时,系统暂时给它分配存储单元,以便存储调用函数时传来的实参。一旦函数结束运行,系统马上释放相应的存储单元;后者函数调用时函数名后括号内是实参列表,实参可以是常量、变量或表达式。当函数返回到主调函数时,有时会有数据带给主调函数,也可以没有任何数据返回给主调函数,返 回的数据称为函数的返回值。函数形参的类型与返回值的类型无关,D 选项正确。函数可以没有形参,B 选项错误。函数可以没有返回值,C 选项错误。函数如果没有形参也就不必传递实参,A 选项错误。
8. 以下程序的功能是判断输入的一个整数是否能被3或7整除,若能整除,输出YES , 否则输出NO 。在下划线处应填入的选项是( )。
A.
B.
C.
D.
答:A
B 选项确。
A 选项正【解析】求余运算符为%,是否能被3或7整除表达式为
为逻辑与,本题应该为逻辑或
错误。 C 选项中为赋值运算符,D 选项为除号,错误。不是逻辑运算符“==”,错误。
第 4 页,共 34 页