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

2016年安徽中医药大学医药信息工程学院C程序设计考研复试题库

  摘要

一、选择题

1. 阅读以下程序:

该程序在编译时产生错误,其出错原因是( )。 A. 定义语句出错,case 是关键字,不能用作用户自定义标识符 B. 定义语句出错,printF 不能用作用户自定义标识符 C. 定义语句无错,scanf 不能作为输入函数使用 D. 定义语句无错,printf 不能输出case 的值 答:A

【解析】在C 语言中,关键字又称保留字,它是系统预先定义的,具有特定含义的标识符, 故不允许用户重新定义。case 为C 语言中的关键字,因此用户不能再定义标识符为case 的变量。

2. 设有如下程序段:

语句后,以下叙述正确的是( )。 表示

则执行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 所指空间。

3. 对于一个正常运行的C 程序,以下叙述中正确的是( )。

A. 程序的执行总是从程序的第一个函数开始,在main 函数结束 B. 程序的执行总是从main 函数开始

C. 程序的执行总是从main 函数开始,在程序的最后一个函数中结束

D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 答:B

【解析】一个正常运行的C 程序总是从main 函数开始执行,最后返回到main 函数结束。

4. 若变量已正确定义为int 型,要通过语句给a 赋值1,给b 赋值2, 给C 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。

A. B. C. D. 答:B

【解析】格式化输入函数scanf ,每个输入格式说明之间加一个逗号作为通配符,要求除格式控制符以外的字符都要原样输入,逗号为非格式符,需要原样输入,否则就不能正确读入数据。

5. 以下叙述中正确的是( )。

A. 赋值语句是一种执行语句,必须放在函数的可执行部分 B.scanf 和printf 是C 语言提供的输入和输出语句 C. 由printf 输出的数据都隐含左对齐

D. 由printf 输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的 答:A

【解析】A 项正确,赋值语句是一种可执行语句,应当出现在函数的可执行部分。但需要注意,不要把变量定义时的赋初值和赋值语句混为一谈。B 项错误,C 语言本身没有提供输入输出功能,scanf 和printf 属于标准库函数;C 项错误,数据都隐含右对齐,如果想左对齐,可以在格式控制中的“%”和宽度之间加一个号来实现;D 项错误,若给出的总宽度nl 小于n2加上整数,则自动突破nl 的限制。 位数和小数点(e 或E 格式还要加上指数的5位)

6. 有以下程序

程序运行后的输出结果是( )。 A.15 B.21 C.20 D.31 答:C

【解析】函数的嵌套调用,fim 函数的作用是计算两个整数的和,

7. 有以下程序:

程序的运行结果是( )。 A.10 B.20 C.14 D.16 答:C 【解析】

8. 有以下程序:

程序运行的结果是( )。 A.*7 B.*3*5 C.*5 D.*2*6 答:A

系统默认为指针指向数组中第

执行的是将数组

然后执行

等于7,

等价于

个元素,因此,在for 循环中

累加后赋值给n , 最后输出,值为14。

【解析】程序的功能时输出从5开始的第一个除以3的余数为1,除以5的余数为2的数。在do-while 循环中,总是先执行后判断,即至少会执行一次。在循环中,如果满足(i%3==l)&&(i%5==2), 那么输入i 的值,退出循环。