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

2016年济南大学网络计算重点实验室C语言程序设计考研复试题库

  摘要

一、选择题

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

A.C 程序的基本组成单位是语句

B.C 程序中的每一行只能写一条语句

C. 简单C 语句必须以分号结束

D.C 语言必须在一行内写完

答:C

【解析】在C 语言中,每条语句必须以分号结束。A 项错误,C 程序的基本组成单位是函数;BD 两项错误,C 程序一行能写多条语句,也可以将一条语句分几行书写。

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

A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句

B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环

C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语句

D. 只要适当地修改代码,就可以将do-while 与while 相互转换

答:D

【解析】D 项正确,C 语言中do-while 语句和while 语句作用是等价的,二者可以经过适当的修改互换。A 项错误,do-while 和for 循环也能写成死循环;B 项错误,for 循环首先执行表达式1; C 项错误,for 循环体经过适当的修改都可以转换成while 语句。

3. 设有n 个数按从大到小的顺序存放在数组x 中,以下能使这n 个数在x 数组中的顺序变为从小到大的是( )。

答:A

【解析】本题使用for 循环实现数组元素首尾倒置。A 项中控制变量上限为n/2, 用变量t 实现数组下标值i 与的元素交换,使数组元素首尾倒置,从而实现从小到大排列,A 项正确。B 项控制变量上限为m 用变量t 实现数组下标值i 与n-i-1的元素交换,当i=n/2时,已经实现数组首尾倒置,而继续运行至i=n,将再次将新的数组首尾倒置,与原数组相比没有发生变化,依然是从大到小排列,B 项错误。C 项数组越界,i=0时x[n+ll不存在,C 项错误。D 项控制变量每次加2, 实现数组偶数下标值的元素首尾倒置,奇数下标值元素不变,不能实现整个数组从小到大排列,D 项错误。

4. 以下程序的功能是:通过调用calc 函数,把所求得的两数之和值放入变量add 中,并在主函数中输出。

calc 函数中下划线处应填入的是( )。

答:A

【解析】程序的执行过程为:从键盘读入两个float 类型数据,分别赋给x ,y ,调用函数calc 将x 与y 的值与add 变量地址传入函数,地址赋给指针sum ,函数体中将两数之和放入指针指向

,这表示变量,可以被赋值。所以横线处填写*sum,故的地址,指针正确的引用形式为(*SUm)

A 选项正确。

5. 针对简单程序设计,以下叙述的实施步骤正确的是( )

A. 确定算法和数据结构、编码、调试、整理文档

B. 编码、确定算法和数据结构、调试、整理文档

C. 整理文档、确定算法和数据结构、编码、调试

D. 确定算法和数据结构、调试、编码、整理文档

答:A

【解析】简单程序设计的步骤是首先要确定算法和数据结构,然后编码、调试,最后整理相

关文档。

6. 设有以下函数:

则下面对函数指针的定义和赋值均是正确的是( )。

A. B. C. D.

答:D

【解析】函数指针的一般定义形式为:数据类型(*指针变量名)( )。定义函数指针时,对应的类型名以及 返回值类型都要和对应函数的参数列表以及返回值类型一致。在给函数指针赋值时,可以直接将函数名赋值给对 应的函数指针,也可以将函数名取地址后在赋值给对应的函数指针。ABC 三项中函数指针的定义均是错误的, 参数列表和fun 函数的参数列表不一致。

7. 有如下程序:

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

A.4, 5, 2, 4

B.4,4, 2,1

C.5,5,3,3

D.4, 5, 2, 3

答:A

【解析】strlen 函数统计字符串长度,遇到

由于字符串有效字符之后有一个

字节数为

正确。

8. 设有以下程序段:

则变量y 的取值范围是( )。

统计结束。sizeof 用来获取类型或数据对象之前有效字符有4个,a 数组的长度,也即是一个这种数据类型的变量在内存中所占字节数。也会被放入数组,char 类型占一个字节,所以数组a 所占为指向字符串的指针,字符串长度为2, 指针类型变量所占字节数为4。故A 项