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 页
相关内容
相关标签