2018年山西大学计算机与信息技术院876数据结构+C程序设计之C程序设计考研仿真模拟五套题
● 摘要
一、选择题
1. 设有如下程序段:
语句后,以下叙述正确的是( )。
表示 则执行A. 可以用B.s 数组中元素的个数和p 所指字符串长度相等
C.s 和p 都是指针变量
D. 数组s 中的内容和指针变量p 中的内容相等
【答案】A
【解析】A 项正确,后,指针p 指向s 的首地址,B 项错误,p 是字符串指针所指向的字符串为“Beijing”,其长度为7, 而数组a 中元素的个数为20; C项错误,s 为字符数组名;D 项,s 中的空间大于 p 所指空间。
2. 有以下程序
程序的运行结果是( )。
【答案】D
【解析】首先用函数的方式开打文件然后调用两次fwrite 函数将数组a 的5个元素,依次输出到文件fp 中,共10个字节,关闭文件。再次打开文件,使用文件指针指向文件的开头,调用fread 函数从文件中读取这10个字节的数据到数组a 中。
3. 设变量均已正确定义,若要通过
语句为变量al 和a2赋数值10和20, 为变量cl 和c2赋字符X 和Y 。以下所示的输入形式中正确的是(注:口代表空格字符)( )。 A.
B. C.
D.
【答案】A
【解析】因为空格和回车也是字符变量,所以在输入X 和Y 时,它们的前面不能有空格和回车,否则将取到空格或者回车,而非X 和Y ; int 类型不会取到空格和回车,所以10和20前面可以有空格和回车。
4. 有以下程序:
程序运行后的输出结果是( )。
A.beijing B. china C. welcome D . tiananmen
【答案】C
【解析】strcmp 用于比较两字符串:当时,返回值当时,返回值=0; 当时,返回值>0。程序主要实现的是先对前两行进行比较,将码值大的调到后面,依次比较,即
即为 “weleome”。“china”、“tiananmen”、“weleome”、“you”,最后的顺序为“beijing”、最后输出
5. 有以下程序:
程序运行的结果是( )。
A.40
B.16
C.8
D.4
【答案】C
【解析】左移一位相当于原数乘以二,右移相当于除以二,结果为4X2=8。没有超过char 的类型表示范围,所以输出8。C 语言中字符型变量可以用在任何整型变量可以使用的地方。
6. 设有定义:
以下语句中执行效果与其他三个不同的是( )。 A. B. C. D.
【答案】A
【解析】执行if 语句时,首先计算紧跟在if 后面一对圆括号中的表达式的值。如果表达式的值为非零(“真”),则执行其后的if 子句,然后去执行if 语句后的下一条语句;如果表达式的
A 项中if 子句只有c=a, BCD ,值为零(“假”)则跳过if 子句,直接执行if 语句后的下一条语句。
三项中if 子句包括c=a; a=b; b=c;
7. 有以下程序
程序运行后的输出结果是( )。
A.24
B.44
C.22
D.46
【答案】B
【解析】p 是int 类型的指针,指向数组a 的首元素;k 的int*类型的指针,指向int*
变量
先执行p++,p 指向a 中第二个元素,然后取值,输出