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

2017年湖南科技大学计算机科学与工程学院826C语言程序设计与数据结构综合之C程序设计考研仿真模拟题

  摘要

一、选择题

1. 下列叙述中错误的是( ) 。

A.C 程序在运行过程中所有的计算都以二进制方式进行

B.C 程序在运行过程中所有的计算都以十进制方式进行

C. 所有的C 程序都需要在连接无误后才能运行

D.C 程序中整型变量只能存放整数,实型变量只能存放浮点数

【答案】B

【解析】在C 程序运行过程中,编译器的作用是将程序转换为目标代码,目标代码都是二进制的。

2. 有以下程序:

程序运行后的输出结果是( )。

【答案】A

【解析】main 函数中,首先定义两个结构体stn 类型的变量a , b , 把a 成员信息复制给b 成员

,在f ( )函数中,利用指针重新对b 成员信息进行赋值,分别后,再调用函数f ( )

第 2 页,共 37 页

输出a , b 成员信息。

3. 有以下程序

若想通过键盘输入,使得al 的值为12, a2的值为34, cl 的值为字符a ,c2的值为字符b , 程序输出结果是:12, a , 34, b ,则正确的输入格式是(以下□代表空格,代表回车)( )。

A. B. C. D.

【答案】A

【解析】因为空格和回车也是字符变量,所以在输入a 和b 时,它们的前面不能有空格和回车,否则将取到空格或者回车,而非a 和b ; int 类型不会取到空格和回车,所以12和34前面可以有空格和回车。在scanf 函数并没有使用通配符逗号,所以输入时不能输入逗号。

4. 有以下程序:

程序运行后的输出结果是( )。

A.1

B.3

C.4

D.9

【答案】C

【解析】根据程序

1+0+1+2=4。

5. 若有定义inta ,b ,c ; 以下选项中的赋值语句正确的是( )。

A.a= (b=c) +1;

B. (a=b) =c=l:

C.a= (b==c) =1;

第 3 页,共 37 页 的

D.a+b=c:

【答案】A

【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类 型相同才能实现赋值。A 项中,将c 赋值给b ,然后将b 加1赋值给a ,是正确的赋值语句,正确。B 项中,将1 赋值给c , 赋值运算

赋值,错误。C 项中赋值运算

值为表达式,不是变量不能被赋值,D 项错误。 中左值为表达式,不是变量不能被左值为逻辑表达式,不是变量不能被赋值,错误。D 项左

6. 以下选项中叙述正确的是( )

A.C 程序中的语句要经过编译才能转换成二进制机器指令

B. 算法需要包含所有三种基本结构

C. 有些算法不能用三种基本结构来表达

D. 简单算法的操作步骤不能超过20步

【答案】A

【解析】编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,A 选项正确。算法不一定要包含所有三种基本结构,也可以只包含一种或两种,B 选项错误。结构化程序主要由3种 基本控制结构组成,循环结构、选择结构、顺序结构,它们组成的算法结构可以解决任何复杂的问题,C 项错误。算法的复杂程序不是由操作步骤多少决定的,而是按时间复杂度与空间复杂度来衡量,D 选项错误。

7. 有以下程序:

程序的运行结果是( )。

A.5, 0

B.6, 0

C.5, -1

D.6,-1

【答案】C

【解析】程序执行过程为:执行do …while 的循环体:y=5,判断y 为真,x=l; y=4, x=2; y=3, x=3; y=2,x=4; y=l, x=5; y=0,判断y 为假,退出循环体。判断

y=0为假,y=—1,退出循环。输出x , y 为5,-1, 故C 项正确。

第 4 页,共 37 页 条件