当前位置:问答库>考研试题

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 中第二个元素,然后取值,输出