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

2018年江西师范大学软件院868C语言程序设计[专硕]之C程序设计考研核心题库

  摘要

一、选择题

1. 以下不构成无限循环的语句或者语句组是。

A.

B.n=0:

C.n=10:

D.

【答案】A

【解析】A 项,为do-while 循环语句,首先执行do

后面的语句得n=l,while 条件表达式为假,退出循环;B 项,while 条件表达式的值始终为1,条件为真,构成无限循环;C 项,while (n ); 语句循环体为空,n 的值在循环中一直保持不变,构成无限循环;D 项,i=l,for 语句中条件判断语句为空,永远为真,构成无限循环。

2. 计算机能直接执行的程序是( )

A. 源程序

B. 目标程序

C. 汇编程序

D. 可执行程序

【答案】D

【解析】源程序是由程序设计语言构成的指令序列,需要特定的软件去执行。C 语言是一种高级语言,C 语 言源程序经过编译器编译后,生成.obj 文件,然后经过链接生成.exe 文件,所以源程序是不能直接执行的。

3.

标准库函数的功能是( )。

A. 从文件f 中读取长度不超过n-1的字符串存入指针S 所指的内存

B. 从文件f 中读取长度为n 的字符串存入指针s 所指的内存

C. 从文件f 中读取n 个字符串存入指针s 所指的内存

D. 从文件f 中读取n-1个字符串存入指针s 所指的内存

【答案】A

【解析】fgets 函数功能是从f

所指文件中读入个字符放入s 为起始地址的空间内,并在尾

端自动加一个结束标志同时将读/写位置指针向前移动字符串长度个字节。

在读出个字符之前,如遇到了换行符或EOF , 则读出结束,A 项正确。B 项中“读取长度为n ”错误。C 项与D 项中“

读取个字符串”错误,读取的是n-1个字符。

4. 以下选项中非法的C 语言字符常量是( )。

A.

B.

C. D.

【答案】D

【解析】D 项

,表示八进制数,只能出现0〜7之间的数字。A 项

,表示两位的十六进制数;B 项,表示字符9; C 项,表示十六进制数09。

5. 有以下程序:

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

【答案】D

【解析】函数f ( )的功能是给局部结构体变量t 赋值,然后将t 作为返回值返回给调用函数,main 函数中再将函数f ( )的返回值赋值给a , 因此a 的值被改变。

6. 有以下程序:

程序运行时键盘输入9〈回车>,则输出的结果是( )。

A.10

B.11

C.9

D.8

【答案】A

【解析】“++”和“一”运算,当以前缀形式出现时,贝U 先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。判断条件中if (a++<9)是先用后加,即a 的值为9,所以条件不成立,但是a 已经进行了自增1操作,a 的值此时为10。执行else 语句时,因为打印a_-,是先用后减,所以先输出10,然后a 的值变为9。

7.

若有定义语句

执行了之后,输入语句正确的是( )。

A.

B.

C. D.

【答案】C

【解析】输入函数scanf 使用的标准形式是:scanf (格式控制,地址列表),格式控制和地址列表间用逗号隔开。由题知

_即px 指向x 的地址,py 指向y 的地址。AD 两项错误,表达式中的x 和y 都需要取地址;B 项,格式控制和地址列表间用逗号隔开。

8. 以下关于C 语言函数参数传递方式的叙述正确的是( )。

A. 数据只能从实参单向传递给形参

B. 数据可以在实参和形参之间双向传递

C. 数据只能从形参单向传递给实参

D.C 语言的函数,参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用

【答案】A

【解析】数据只能由实参单向传递给形参称为“值传递”,而不能由形参传给实参,A 项正确;数组名、指针等作参数,实参传递给形参的是地址值,这样形参和实参就指向同一段内存单元,在函数体内对形参数据的改 变也将影响到实

9. 在以下程序: