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

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

  摘要

一、选择题

1. 有以下程序:

程序运行后的输出结果是( )。 A.10 B.11 C.20 D.21

【答案】D

【解析】题中定义了一个包含两个元素的结构体数组,其中data[0].a=10,data[0].b=100,data[l].a=20,data[l].b=200。指针p 指向结构体数组的第2个元素,那么p.a 的值为20, p.b 的值为200, 所以输出结果为21。

2. 有以下程序:

程序运行后的输出结果是( )。 A.3344 B.2050 C.3040 D.0304 【答案】C

第 2 页,共 38 页

【解析】本题中main 函数的主体是一个for 循环语句,for 循环中包含一个switch 语句,如果判断条件为0,则进入第二个switch 语句,如果为1, 则执行一。执行过程如下所示,

最后将数组顺序输出。程序将

数组中的奇数项置为0, 偶数项位置,如果对应的元素为偶数则加1,如果对应的元素为奇数则减

3. 有如下程序:

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

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

判断字符串中字符是否为

时,结束循环,返回字符

NAME0。

4. 有以下程序

程序运行后的输出结果是( )。 A.2,3,1 B.2, 3, 2

第 3 页,共 38 页

不是的

则输出字符,

否则结束循环。当

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

C.2, 3, 3 D.2, 2, 1 【答案】A

【解析】对于表达式改成

,赋值运算符的优先级高于逗号运算符的优先级,可

然后从左向右先计算表达式

因为

先使用后自增,所以

的值为2。最后

此时y 的值为1,

z 的值为1,x 的值为2。再计算逗号表达式第二个表达式y 的值为3。 计算第三个表达式

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

A.C 程序可以由一个或多个函数组成 B.C 程序可以由多个程序文件组成 C. 一个C 语言程序只能实现一种算法

D. —个C 函数可以单独作为一个C 程序文件存在 【答案】C

【解析】一个C 语言程序可以实现任意多种算法,并没有数量限制

6. 有以下程序:

程序的运行结果是( )。 A.a=l, b=0 B.a=2, b=2 C.a=l, b=l D.a=2, b=l 【答案】D

【解析】x=l,因此外层switch 语句是首先执行case1:后面的语句,进入内层的switch 语句;y=0,执行case0:后面的语句,得a=l,遇到break 语句后退出嵌入的switch 语句。由于外层switch 语句的easel :后面没有break 语句,因此继续执行case2:后面的语句,得a=2,b=l,遇到break 语

第 4 页,共 38 页