2016年华东交通大学理学院C语言程序设计复试笔试仿真模拟题
● 摘要
一、选择题
1. 有以下程序:
t
程序运行后的输出结果是( )。 A.0 B.1 C.2 D.3 答:C 【解析】
和
运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以
结果为
后缀形式出现时,则先取值,再进行加一或减一操作。a 初始定义为1,b 为0, 先执行0, 即if 判断为假,执行
然后输出b 的值。即b 为2。
2. 以下叙述正确的是( )。
A. 文件指针是指针类型的变量
B. 在使用文件指针时,不需要在内存中为其分配空间 C. 文件指针变量的值是文件的当前读取位置
D. 调用fscanf 函数能向所有类型的文件中写入任意字符 答:A
【解析】A 项正确,文件指针是指向文件类型的指针变量;B 、C 项错误,文件指针指向的是文件缓冲区,而不是文件本身位置;D 项错误,fscanf ( )函数作用是从指定的文件中格式化读数据,读取数据类型由格式控制符决定。
3. 有以下函数
以下关于aaa 函数功能叙述正确的是( )。
A. 求字符串S 的长度 B. 比较两个串的大小 C. 将串s 复制到串t D. 求字符串8所占字节数 答:A
【解析】aaa ( )函数中,首先定义了一个字符指针t 指向形参s ,然后通过一个while 循环让指针t 不断递 增,直到t 指向字符串结束标志处。当t 指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,此 时t 指向字符串结束符语句让它回到结束标志处。最后返回
后面一个单元,所以接下来的
因为s 还是指向字符串第1个字符处,而t 指向字符串结
束符,故返回值为字符串的长度值。
4. 设有定义:intx=7, y=12;,则以下表达式值为3的是( )。
A. (y%=x)-(x%=5) B.y%=(x%=5) C.y%=x-x%5
D.y%=(x-x%5) 答:A
,A 项可改写成y=y%x,x=x%5,再计算y-x 计算【解析】A 项正确,a%=b表示a=a%(b )
的结果为3,满足题意;B 项为0, C 项为2, D 项等同于C 项。
5. 以下叙述中正确的是( )。
A. 不能用字符串常量对字符数组名进行整体赋值操作
B. 字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素 C. D. 答:A
【解析】A 项正确,不可以用赋值语句给字符数组整体赋一串字符,但是可以直接用字符串B 项错误,常量给一维字符 数组赋初始值。编译器会在字符串常量最后添加最近的’\0’作为其结束标志,运行时不安全;D 项错误,不能给数组str 赋值。
6. 有以下程序:
在语法上是合法的,运行也是安全的
效果是一样的
它共有6个元素;
C 项错误,在语法上是合法的,但是没有字符串尾标识符,系统将要在其后的内存中找一个距它
程序的运行结果是( )。
答:C
【解析】在funO 函数中,出
。
表示X 取值为a 的小数部分,因此,输入a 为
输
7 设有定义inta=0, b=l;, 以下表达式中,,
会产生“短路”现象致使变量b 的值不变的是( )。.:
A.
B.
C.
D. 答:D
【解析】++放在变量前面时,表示将变量+1, 再参与其他操作,D 项,值是0直接判定与运算结果为0, 忽视b++的值,因此b 值不发生改变。
8. 有以下程序:
程序运行后的输出结果是( )。
A.beijing B. china C. welcome D . tiananmen 答:C
【解析】strcmp 用于比较两字符串:当
时,返回值
当
时,返回值=0; 当
时,
返回值>0。程序主要实现的是先对前两行进行比较,将
码值大的调到后面,依次比较,即
时,由于a
“china”、“tiananmen”、“weleome”、“you”, 最后的顺序为“beijing”、最后输出即为 “weleome”。
9. 设文件指针fp 已定义,执行语句后,以下针对文本文件file 操作的叙述中正确的是( )。
A. 写操作结束后可以从头开始读