2018年广东工业大学计算机院831数据结构与C语言[专硕]之C程序设计考研仿真模拟五套题
● 摘要
一、选择题
1. 以下不能对文件进行输出的库函数是( )。
A.fwrite
B.fputs
C.fpout
D.fprintf
【答案】C
【解析】fwrite 函数的功能是用来向文件写数据块。fputs 函数的功能是用来向指定文件输出一个字符串。fprintf 函数按照格式向文本文件中输出数据。这三者都是库函数,而fpout 不是库函数。
2. 若程序中有宏定义行:
#defineN100
则以下叙述中正确的是( )。
A. 宏定义行中定义了标识符N 的值为整数100
B. 在编译程序对C 源程序进行预处理时用100替换标识符N
C. 上述宏定义行实现将100赋给标识符N
D. 在运行时用100替换标识符N
【答案】D
【解析】D 项正确,预处理程序对源程序中所有使用宏名的地方进行直接替换。A 项错误,宏定义没有类型限制;B 项错误,预处理程序进行宏替换,而非编译程序;C 项错误,宏定义不是赋值操作,而是进行在预编译时进行替换。
3. 有以下程序:
程序运行后的输出结果是( )。
A.32
B.12
C.21
D.22
【答案】C
【解析】C 语言中函数参数传递满足“单向传递”,实现传递值的功能,实参能传给形参,形参却不能传回 给实参。fun 函数体内输出p 的值为2,并不影响到fun 函数外a 的值,a 的值在main 函数内依然为1。
4. 设有定义:
【答案】A 以下选项中,表达式值与其他三个不同的是( )。
【解析】赋值运算结合性为由右向左结合,成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A 项,逻辑表达式
值给b , 再将b 赋给a ,
D 项,逻辑表达式
5. 有如下程序:
程序运行后的输出结果是( )。
A.8, 0
B.4, 0
C.4, 1
D.8, 1
【答案】A 【解析】右移运算符,按位右移运算规则是将一个操作数先转换成二进制数,然后将二进制数各位右移若干位,移出的低位舍弃,并在高位补位。若为无符号数,右移时左边高位移入0。a=8=01000, 执行后,a=000l0=2, b=2%2=0, 输出a ,b 为8,0,故A 项正确。
6. 以下使指针指向一个字符串的选项错误的是( )。 A. B.
不成立,则表达式值为0; B项,将C 赋成立,则表达式值为1; 表达式值为1; C项,逻辑表达式成立,则表达式值为1。A 项与其他项不同。
C.
D.
【答案】A
表示指针ps 指向地址的内容,而不是地址,无【解析】A 项中定义了指针ps 后,
法将str 的首地
址赋给一个常量,语法错误。
7. 有以下程序:
程序的运行结果是( )。
A.21
B.6
C.123456
D.11
【答案】A
【解析】程序执行过程为:以读/写方式打开一个新的二进制文件从地址为a 的数据块开始,一次输出一个整型字节的数据,只输出一次,将1写入文件中;执行for 循环,将文件指针移到文件开头,将文件第一个数值读出赋给k ,再将指针移动到开头,
向文件内输入
循环实现将a 数组中元素累加,结果21存放在文件中。调用rewind 将文件指针移
动到开头,调用fread 函数从文件中读出一个整型数据赋给k=21,调用fclose 函数关闭文件,打印k 值,故A 项正确。
8. 有如下程序:
相关内容
相关标签