2017年青海师范大学计算机学院831计算机学科专业基础综合之C程序设计考研仿真模拟题
● 摘要
一、选择题
1. 表达式:(int )((double )9/2-(9)%2)的值是( )。
A.0 B.3 C.4 D.5
【答案】B
,【解析】运算符“/”“%”的优先级高于“-”故先进行除法和求余运算,再进行减法运算。强制类型转换表达式的形式为:(类型名)(表达式)。“9/2”转换成double 类型,再转换成int 类型,结果为4, 减号后面的结果为1,故结果为3。
2. 以下选项中,合法的数值型常量是( )。
【答案】A
【解析】A 项正确,3.2是合法的实型常量;B 项错误,六进制。
3. 若有函数声明
:
A. 函数参数array ,ptr 都是指针变量
B. 函数参数array 不是指针变量,ptr 是指针变量 C. 调用函数时,实参数组的值将一一复制给array 数组 D. 调用函数时,array 是按值传送,ptr 是按地址传送 【答案】A
【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。
4. 关于C 语言中数的表示,以下叙述中正确的是( )。
A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差 B. 只要在允许范围内整型和实型都能精确表示
第 2 页,共 33 页
为字符型常量不是数值型常量;
和H 冲突都是表示十
C 项错误,以0开头,表示八进制,但八进制的每位小于8; D 项错误,
以下叙述正确的是( )。
C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差 D. 只有八进制表示的数才不会有误差 【答案】A
【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以表示任意一个整数。
5. 若有以下程序
则程序的输出结果是( )。 A.0, 18, 3 B.1, 14, 3 C.0, 14, 3 D.0, 14, 6
【答案】C
【解析】题目中的for 循环可以写成:
第一次循环,a=6,进入for 循环,b=0+6=6,c=l,a=6-l=5; 第二次循环,a=5,进入for 循环,b=6+5=ll,c=2,a=5-3=3; 第三次循环,a=3,进入for 循环,b=ll+3=14, c=3,a=3-3=0; 第四次循环,a=0, 跳出for 循环;输出结果是0, 14, 3。
6. 以下程序:
第 3 页,共 33 页
程序运行后的输出结果是( )。 A.abc B.28c C.abc28
D. 因类型不一致而出错 【答案】C
【解析】
程序一开始以只写方式打开文件
以附加方式打开,
接着写入字符串
然后写入字符串
文件关闭后再
然后把文件指针移到开头位置,再读入整个字符串到str
中,最后输出str 的值。
7. 以下选项中,不能对主函数中变量i 和j 的值进行交换的程序是(
}
}
}
第 4 页,共 33 页
)。
相关内容
相关标签