2017年南昌航空大学数据库原理(同等学力加试)考研复试核心题库
● 摘要
一、选择题
1. 以下选项中叙述正确的是( )。
A. 文件指针是指针类型的变量 B. 文件指针可同时指向不同文件
C. 文件指针的值是文件在计算机磁盘中的路径信息 D. 调用fscanf 函数可以向文本文件中写入任意字符 【答案】A
【解析】文件指针,是指向一个结构体类型的指针变量,这个结构体中包含有文件的一些信息,如缓冲区的地址,在缓冲区中当前存取的字符的位置,对文件是“读”还是“写”,是否出错,是否已经遇到文件结束标志等信息。文件指针本身是指针类型的变量,A 项正确。一个指针在同一时间只能指向一个文件,B 项错误。文件指针是指针类型变量,存储的是文件缓存区首地址,而不是文件在计算机磁盘中的路径信息,C 项错误。fscanf 函数从文本文件中按格式读入到程序中,而不是向文本文件中写入数据,D 项错误。
2. 若有定义:
则正确的switch 语句是( )。
【答案】D
【解析】D 项正确,标号可以是整型表达式。A 项错误,case 是关键字,与其后面的常量表达式合称case 语句标号。常量表达式的类型必须与swicth 后圆括号中的表达式类型相同,各case 语句标号的值应该互不相同。c 是变量,不能作为表达式放在case 后面;B 项错误,switch 后面不应该有分号;C 项错误,switch 参数值类型必须是这几种类型之一:
第 2 页,共 26 页
3. 有如下定义:
若文件已正确打开,且数组x 的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是( )。
【答案】A
【解析】A 项中,因为n=l, 即每次写入1个结构体数据,x 是数组的首地址,因此,每次写入的数据都是数组的首个结构体元素,没有将整个数组写入文件中去。
4. 以下叙述中正确的是( )。
A.C 语言中的文件是流式文件,因此只能顺序存取数据
B. 打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C. 在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D. 当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失 【答案】D
【解析】D 项正确,C 语言中读写文件是通过文件缓冲区完成的,在完成了对文件的操作之后,应当关闭文件,否则文件缓冲区中的剩余数据可能丢失。A 项错误,C 程序中的输入、输出文件都以数据流的形式存储在介质上,用顺序存取和直接存取两种方式;B 项错误,可以以追加的方式写文件;C 项错误
5. 有以下程序:
程序的运行结果是( )。 A.1, 2 B.3, 6 C.4, 7
D. 变量的地址值
第 3 页,共 26 页
为读和写而打开文本文件,在读和写操作之间不必关闭文件。
【答案】B
【解析】程序的执行过程为:定义整型数组结构体数组X ,并为其初始化,则
x2的第一个元6。程序的运行结果是3,6, 故B 选项正确。
6. 有如下程序:
程序运行后的输出结果是( )。 A.15 B.0 C.1 D.10
【答案】D
【解析】static 变量编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元,即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值是上一次函数调用结束时的值。程序执行过程为:执行for 循环,i=l,调用函
数
,调用函数sum (2)
调
用
函
数
退
返回指向init 的指针,输出
7. 有以下程序
第 4 页,共 26 页
并进行初始化,两个数组长度均为2。定义
输出x[0]的成员指针b
指向的内存单元值,即数组xl 的第一个元素3, 输出x[l]的成员指针b 指向的内存单元值,即数组
调
出
for
循
环
。
调
用用
函
函
数数