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

2017年中南财经政法大学1098数据库原理、程序设计之C语言程序设计复试仿真模拟三套题

  摘要

一、选择题

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

A.C 语言中的文件是流式文件,因此只能顺序存取数据

B. 打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖

C. 在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据

D. 当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失

【答案】D

【解析】D 项正确,C 语言中读写文件是通过文件缓冲区完成的,在完成了对文件的操作之后,应当关闭文件,否则文件缓冲区中的剩余数据可能丢失。A 项错误,C 程序中的输入、输出文件都以数据流的形式存储在介质上,用顺序存取和直接存取两种方式;B 项错误,可以以追加的方式写文件;C 项错误

2. 以下不能正确表示代数式

【答案】D 【解析】与/优先级相同,所以采用左结合的方式。D 项若改为:

3. 有以下程序

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

A.2,3,1

B.2,3,2

C.2,3,3

第 2 页,共 15 页 为读和写而打开文本文件,在读和写操作之间不必关闭文件。 的C 语言表达是( )。

则为正确。

D.2,2,1

【答案】A

【解析】对于表达式“z=x++,y++,++y; ”,赋值运算符的优先级高于逗号运算符的优先级,可改成“(z=x++),(y++),(++y)”。然后从左向右先计算表达式z=x++,因为x++先使用后自増,所以z 的值为1,x 的值为2。再计算逗号表达式第二个表达式y++,此时y 的值为1,y++的值为2。最后计算第三个表达式++y,y 的值为3。

4. 有以下程序

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

【答案】A

【解析】将结构体变量的地址作为实参传递,函数调用可以修改实参结构体中成员的值。函数f 的作用是,把p 指向的struct 中的数组a 的元素按照从小到大的方式排序。

5. 以下选项中表示一个合法的常量是(说明:符号表示空格)( )。

【答案】B

【解析】十六进制数用数字0和字母x (或大写字母X )开头。

法的常量。

6. 有如下程序:

第 3 页,共 15 页 是指十六进制数,是合

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

A.8, 0

B.4, 0

C.4, 1

D.8, 1

【答案】A 【解析】右移运算符,按位右移运算规则是将一个操作数先转换成二进制数,然后将二

后,a=000l0=2, b=2%2=0, 输出a ,b 为8,0,故A 项正确。

以下叙述正确的是( )。 进制数各位右移若干位,移出的低位舍弃,并在高位补位。若为无符号数,右移时左边高位移入0。a=8=01000, 执行 7. 若有说明语句

A.ptr 是一个具有10个指针元素的一维数组,每个元素都只能指向整型变量

B.ptr 是指向整型变量的指针

C.ptr 是一个指向具有10个整型元素的一维数组的指针

D.ptr 是一个指向10个整型变量的函数指针

【答案】A

【解析】A 项正确,定义一个指针数组。ptr 是指针数组不是指针,B 项错误;定

C 项错误;函数指针是指向义指向具有10个整型元素的一维数组的指针格式为:

函数的指针,不会指向整型数组,D 项错误。

8. 关于C 语言中数的表示,以下叙述中正确的是( )。

A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差

B. 只要在允许范围内整型和实型都能精确表示

C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差

D. 只有八进制表示的数才不会有误差

【答案】A

【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以 表示任意一个整数。

二、设计题

9. 请编写一个函数,用来删除字符串中的所有空格。例如,输入asdafaaz67, 则输出为asdafaaz67。注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干

第 4 页,共 15 页