2018年河北科技师范院职教研究所、教育院996计算机知识综合[专硕]之C程序设计考研强化五套模拟题
● 摘要
一、选择题
1. 设有定义:
【答案】C
【解析】C 语言中if 语句后面只跟一条语句时,可以省略大括号。即if 语句仅作用于紧随其后的那条语句或者是复合语句的内容,所以A 项,执行三条语句组成的复合语句;BD 两项执行大括号中的三条语句;而C 项 只执行
2. 设有以下语句:
以下语句中执行效果与其他三个不同的是( )。
若要为变量chi 和ch2分别输入字符A 和B ,正确的输入形式应该是( )。
A.A 和B 之间用逗号间隔
B.A 和B 之间不能有任何间隔符
C.A 和B 之间可以用回车间隔
D.A 和B 之间用空格间隔
【答案】B
【解析】在输入整数或实数这类数值型数据时,输入的数据之间必须用空格、回车符、制表符(Tab 键)等间隔符隔开,间隔符个数不限。但在输入字符型时,要求输入数据时按照一一对应的位置原样输入这些字符,即不能加逗号、回车和空格,因为这些也算是字符。
3. 下列函数的功能是( )。
A. 将a 所指字符串赋给b 所指空间
B. 使指针b 指向a 所指字符串
C. 将a 所指字符串和b 所指字符串进行比较
D. 检查a 和b 所指字符串中是否有
【答案】A
【解析】题中a 和b 是两个字符型指针,在while 语句的表达式中将指针a 所指向的字符赋给指针b 所指向的内存单元,再判断指针b 所指向的字符是不是字符串中的结尾符,若不是,则字符指针a 和b 的值分别自增,再执行循环语句,直至b 所指向的字符为字符串中的空字符。
4. 下列叙述中错误的是( )。
A.C 程序可以由一个或多个函数组成
B.C 程序可以由多个程序文件组成
C. 一个C 语言程序只能实现一种算法
D. —个C 函数可以单独作为一个C 程序文件存在
【答案】C
【解析】一个C 语言程序可以实现任意多种算法,并没有数量限制
5. 有以下程序:
程序运行后的输出结果是( )。
【答案】A
【解析】在for 循环中,对3个结构体元素y 值转换成2进制数后向右移一位,再对此时x ,y 值依次进行
6. 以下不能正确表示代数式
A.2*a*b/c/d
的C 语言表达是( )。
B.a*b/c/d*2
C.a/e/d*b*2
D.2*a*b/c*d
【答案】D
【解析】*、/优先级相同,所以采用从左到右结合的方式。D 项,应该改为:2*a*b/(c*d)。
7. 有以下程序:
程序的运行结果是( )。
A.21
B.6
C.123456
D.11
【答案】A
【解析】程序执行过程为:以读/写方式打开一个新的二进制文件从地址为a 的数据块开始,一次输出一个整型字节的数据,只输出一次,将1写入文件中;执行for 循环,将文件指针移到文件开头,将文件第一个数值读出赋给k ,再将指针移动到开头,
向文件内输入
循环实现将a 数组中元素累加,结果21存放在文件中。调用rewind 将文件指针移
动到开头,调用fread 函数从文件中读出一个整型数据赋给k=21,调用fclose 函数关闭文件,打印k 值,故A 项正确。
8. 以下选项中错误的是( )。 A. B. C. D.
【答案】D