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

2017年上海海事大学信息工程学院828数据结构及程序设计之C程序设计考研导师圈点必考题汇编

  摘要

一、选择题

1. 有如下程序:

程序运行后的输出结果是( )。 A.NAME0 B.NAMEE C.NAME D. 【答案】A

【解析】程序执行过程为:调用函数disp ,将字符串“NAME”首地址传给指针str , 在while 循环中,依次

判断字符串中字符是否为

时,结束循环,

返回字符

NAME0。

2. 有以下程序

程序运行后的输出结果是( )。 A.-12 B.9 C.0 D.3

【答案】A

【解析】C 语言中,

表达式从右向左计算。

等价于

第 2 页,共 34 页

不是的

则输出字符,

否则结束循环。当

码0, 并输出。程序运行后的输出结果是:

可以写成

等价于

3. 设有两行定义语句:

intscanf ; floatcase ;

则以下叙述正确的是( )。 A. 两行定义语句都不合法 B. 两行定义语句都合法 C. 第1行语句不合法 D. 第2行语句不合法 【答案】D

【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。

4. 有以下定义和语句:

能给w 中year 成员赋1980的语句是( )。

【答案】D

【解析】w 是一个结构体变量,Pw 是一个结构体指针变量,指向w 所在的内存单元。A 项错误,pw 是指针,

所以在引用其内部变量时应该用操作符

是结构体workers 中的结构体成员s 中的成员。

5. 以下程序:

第 3 页,共 34 页

而不是BC 两项错误,year

程序运行后的输出结果是( )。 A.abc B.28c C.abc28

D. 因类型不一致而出错 【答案】C

【解析】

程序一开始以只写方式打开文件

以附加方式打开,

接着写入字符串中,最后输出str 的值。

6. 有语句:

A. B.. c. D.

【答案】D

然后写入字符串

文件关闭后再

然后把文件指针移到开头位置,再读入整个字符串到str

以下选项中,与此语句功能相同的是( )。

.

_如果为假,直接返回0, 如果为真,再判断y

【解析】D 项正确,题中,先判断

为真返回为1,否则返回0, 综合所知,只有时返回1,否则返回0。

7. 下列函数的功能是 。

A. 将a 所指字符串赋给b 所指空间 B. 使指针b 指向a 所指字符串

C. 将a 所指字符串和b 所指字符串进行比较 D. 检查a 和b 所指字符串中是否有【答案】A

【解析】本题中a 和b 是两个字符型指针,在while 语句的表达式中将指针a 所指向的字符赋给指针b 所指 向的内存单元,再判断指针b 所指向的字符是不是字符串中的空字符,如果不是,

第 4 页,共 34 页