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

2017年河海大学计算机与信息学院838数据结构及程序设计考研仿真模拟题

  摘要

一、选择题

1. 以下程序段中,循环次数不超过10的是( )。 A. B. C. D.

【答案】A

【解析】A 项,

执行函数体判断条件不成立,退出循环,循环次数为1,不超过10

由于执行函数体时i 在增加,一直成立,

由于函次,A 项正确。B 项执行函数体i=6, 判断条件为程序陷入无限循环,循环次数大于10, B 项错误。C 项执行函数体i=3, 判断条件为

D 项执行函数体i=4, 判断条件为数体中i 每次増加2, 所以永远不可能等于10, 故程序会陷入无限循环,循环次数大于10, C 项错误。由于函数体中i 每次减少2, 所以永远不可能等于1,故程序会陷入无限循环,循环次数大于10, D 项错误。

2. 有以下定义:

inta ;

longh ;

double x,y ;

则以下选项中正确的表达式是( )。

【答案】C

【解析】C 项正确,(int )(x-y )是把x-y 得到的浮点数强制转换成整型。A 项错误,a*y结果是浮点数,不能参与模运算;B 项错误,C 语言中没有<>运算符;D 项错误,x+y是右值,不能给其赋值。

3. 有如下程序:

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

A.56,57,

B.57,58,

C.57,57,

D.55,57,

【答案】C

【解析】convert ( )函数定义了一个形参:指针变量*data。函数体中将指针变量*data对应地址的值进行加1处理,再返回加1前data 的值。main ( )函数中,定义了变量data 并赋初值56,调用covert ( )函数,改变变量data 的值,此时data=57; 程序执行data=convert

,函数convert ( )返回的是执行前data 的值,所以data=57。C 项正确。 (&data)

4. 以下选项中,值为1的表达式是( )。

【答案】C

【解析】ASCII 码表

5. 有以下程序段:

选C 。

当执行上述程序段,并从键盘输入:name=Lilinum=1001<回车>后,name 的值为( )。

A.Lili

B.name=Lili

C.Lilinum=

D.name=Lilinum=1001

【答案】A

【解析】在C 语言中输入多个字符串时,系统会把空格字符作为输入的字符串之间的分隔符。本题中,由于输入两个变量,所以中间应该以回车键为间隔,当从键盘输入name=Lilinum=1001只是输入第一个变量,并且只将Lili 赋值给了name 。

6. 以下程序段中,与其他三个功能不同的程序段是( )。

【答案】A

【解析】B 、C 、D 项都表示对1到10进行累加后赋给s ,而A 项中含break 语句,循环体只执行一次,结束整个循环过程。

7. 以下关于C 语言函数参数传递方式的叙述正确的是( )。

A. 数据只能从实参单向传递给形参

B. 数据可以在实参和形参之间双向传递

C. 数据只能从形参单向传递给实参

D.C 语言的函数,参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用

【答案】A

【解析】数据只能由实参单向传递给形参称为“值传递”,而不能由形参传给实参,A 项正确;数组名、指针等作参数,实参传递给形参的是地址值,这样形参和实参就指向同一段内存单元,在函数体内对形参数据的改 变也将影响到实

8. 有以下说明语句:

指针s 所指字符串的长度是( )。

A.17

B.15

C.14

D. 说明语句不合法

【答案】C

【解析】以

9. 有以下程序:

程序运行时键盘输入

A.10

B.11

C.9

D.8 则输出的结果是( )。 开头的转义字符也是字符常量。用一对双引号括起来的多个字符为字符串。

为转义字符,所以字符串长度为14。