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

2016年福州大学福建省空间信息工程研究中心数据结构与程序设计(C语言)之C语言程序设计考研复试题库

  摘要

一、选择题

1. 若变量均已正确定义并赋值,以下合法的c 语言赋值语句是( )。

答:A

【解析】A 项正确,返回0或者1, 然后赋值给x 。B 项错误,浮点数不能参与模运算;C 项错误, 是右值,不能给它赋值;D 项错误,5是常量,不能被赋值。

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

A. 文件指针是指针类型的变量

B. 文件指针可同时指向不同文件

C. 文件指针的值是文件在计算机磁盘中的路径信息

D. 调用fscanf 函数可以向文本文件中写入任意字符

答:A

【解析】文件指针,是指向一个结构体类型的指针变量,这个结构体中包含有文件的一些信息,如缓冲区的地址,在缓冲区中当前存取的字符的位置,对文件是“读”还是“写”,是否出错,是否已经遇到文件结束标志等信息。文件指针本身是指针类型的变量,A 项正确。一个指针在同一时间只能指向一个文件,B 项错误。文件指针是指针类型变量,存储的是文件缓存区首地址,而不是文件在计算机磁盘中的路径信息,C 项错误。fscanf 函数从文本文件中按格式读入到程序中,而不是向文本文件中写入数据,D 项错误。

3. 有以下程序

程序的运行结果是( )。

A.1

B.0

C.2

D.3

答:A

【解析】只有i=3时,才能进入内部循环。

4. 有以下程序:

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

A.2,6

B.0,0

C.2,4

D.1,2

答:B

【解析】程序执行过程为:定义数组调用函数fun ,将数组地址传人函数,指针pi 指向a ,s 指向b ,定义指针t 并使其指向开辟的两个整型内存,为第一个内存赋值为数组a 第一个元素的2倍,即2,然后指针pi 指向a 数组第二个元素,为第二个内存赋值为数组a 第二个元素的2倍,即4,最后使指针s 指向动态开辟的两个内存的首地址。整个过程中数组b 没有发生变化,依次输出b 中元素为0,0,故B 项正确。

5. 以下程序:

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

A.1 3 7

B.7 3 1

C.7 3

D.3 7

答:D

【解析】函数fun 是递归函数,递归终止条件是x 小于等于4, 当大于等于4是递归调用第一次循环调用跳出if 循环,执行输出x=3, 然后回到第一次循环,执行if 循环的语句,输出x=7。

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

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

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

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

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

答:A

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

7. 阅读以下程序:

该程序编泽时产牛错误,其出错原因是( )。

A. 定义语句出错,case 是关键字,不能用作用户自定义标识符

B. 定义语句出错,printf 不能用作用户自定义标识符

C. 定义语句无错,scarlf 不能作为输入函数使用

D. 定义语句无错,printf 不能输出case 的值

答:A

【解析】C 语言中,关键字又称保留字,它是系统预先定义的、具有特定含义的标识符,不能用作用户自定义的标识符在程序中使用。

8. C 语言主要是借助以下( )功能来实现程序模块化的。

A. 定义函数

B. 定义常量和外部变量

C. 三种基本结构语句