一、选择题
1. 有以下程序
程序运行后的输出结果是( )。
答:A
【解析】将结构体变量的地址作为实参传递,函数调用可以修改实参结构体中成员的值。函数f 的作用是,把p 指向的struct 中的数组a 的元素按照从小到大的方式排序。
2. C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述中正确的是 ( )。
A. 预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义 B. 用户标识符可以由字母和数字任意顺序组成 C. 在标识符中大写字母和小写字母被认为是相同的字符 D. 关键字可用作用户标识符,但失去原有含义 答:A
【解析】C 语言允许把预定义标识符重新定义另作他用,但这将失去预先定义的原意。B 项,标识符的第一个字符必须为字母或下划线;C 项,标识符中,大写字母和小写字母被认为是两个不同的字符;D 项,关键字不能另作他用。
3. 有以下程序:
程序运行后的输出结果是( )。 A.-2 B.1.7 C.-3 D.2.0 答:A
B 、D 项错误,sub 【解析】( )函数输出(int )(a-b-1.3)将结果强制转化为整型;(a-b-1.3)=-2.2,(int )(-2.2)=-2, sub (3.2, 4.1)=-2,C 项错误,A 项正确。
4. 以下能正确表述算式的C 语言表达式是( )。
答:A
【解析】A 项正确。sin 是库函数,其参数中的角度要求用弧度制表示。C 语言中ji 不是已定B 项未替换71也没有将30度换算成弧度,义的常量,需要用户自定义或者直接使用3.14代替71。错误。C 项没有将30度换算成弧度,错误。D 项弧度换算错误,71对应于180°,应该除以180.0而不是360.0。
5. 设有以下语句
执行后,c 的值为( )。 A.9 B.7 C.8 D.6 答:A
【解析】
后得到8, 异或操作,两个操作数相同得0, 不同得1。a 的最右4位是0001,b
的最右4位是1000, 其佘尾全部是0。
6. 以下函数findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。
造成错误的原因是( )。 A. 定义语句B. 赋值语句C. 语句D. 赋值语句答:D
【解析】本题中for 循环中首先将MIN 值赋值给max , 然后用将MIN 值与
值进行比较,所以无论
先执
的值是什么,都不会影响if 的判断语句,
始终执行。
所以函数返回的是数组中最后一个元素的值。本题的错误在于
7. 有以下程序:
程序运行时,从键盘输入A. B. C.
输出结果是( )。
的位置,for 循环之前应与max 的值比较。每次都是
中max 未赋初值
中,不应给max 赋MIN 值
中判断条件设置错误
放错了位置