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

2017年南京大学0217软件基础(程序设计C语言与数据库)之程序设计(C语言)复试仿真模拟三套题

  摘要

一、选择题

1. 若变量己正确定义并赋值,则错误的赋值语句是( )。

A.a=a+l;

B.a=sizeof(double ); C.a=dllc; D.a+l=a; 【答案】D

【解析】赋值号的左边必须是一个代表某个存储单元的变量名,赋值号的右边必须是C 语言 中合法的表达式。赋值运算的功能是先求出右边表达式的值,然后把此值赋给赋值号左边的变量。

2. 以下选项中非法的字符常量是( )。

A. B. C. D. 【答案】D

【解析】字符常量有两种表示方法:一种是用该字符的图形符号。另外还可以用字符的ASCII 码表示,即用反斜符

开头,后跟字符的

码,这种方法也称为转义序列表示法,具体方

这里ddd 是八进制值(0可以省略)。这里hh 是两位十六进制值。D 项

法有两种形式,一种是字符的八进制ASCII 码,表示为另一种使用字符的十六进制ASCII 码值,表示为

使用的是八进制表示,不应该出现9, 所以错误。

3. 有如下嵌套的if 语句:

以下选项中与上述if 语句等价的语句是。 A. B. C. D. 【答案】C

【解析】三目运算符

的条件表达式为:表达式1? 表达式2:表达式3。当表达式1的值

第 2 页,共 15 页

为真时,取表达式2的值作为整个条件表达式的值;否则,取表达式3的值作为整个条件表达式

的值。条件表达式的结合顺序为从右到左。

4. 有以下程序:

程序运行后的输出结果是( )。 A.3,5,5,3 B.3,5,3,5 C.5,3,3,5 D.5,3,5,3 【答案】B

【解析】在C 语言中,函数参数的传递是“传值”的,即形参和实参是两个没有关系的变量,本题函数的形参虽然为指针变量,但是函数内部交换的是地址值,并没有交换主函数中变量x 与y 的值。函数内对地址值的交换不会传递给实参,因此,交换函数并没有交换p 、q 所指向的值。

5 若有定义语句:.

误的是( )。

【答案】C

【解析】:数组的下标从零开始,数组m 中有5个元素,所以数组m 即

C 项,

但是数组下标范围是

6. 有以下程序:

第 3 页,共 15 页

则下面对m 数组元素的引用中错

引用数组元素为

所以溢出引用错误。

程序运行后的输出结果是( )。 A.1, 2 B.3, 4 C.5, 6

D.123, 456 【答案】C

【解析】程序中首先定义一个一维数组,然后将数组中的值写入到5和6。

7. 有以下程序:

己知字母A 的ASCII 码值为65, 程序运行后的输出结果是( )。 A.E , 68 B.D , 69 C.E , D D. 输出无定值 【答案】A

【解析】C 语言中,字符型可以作为整型用,可以出现在任何需要整型的表达式中。该题中c2, 然后将cl 按字母格式输出,c2按整型格式输出。 的main 函数将字符A 经过运算分别赋值给cl 、

8. 设有定义:

则以下赋值语句中错误的是( )。 A.data2=datal;

B.data2=(2,6); C.data2.real=datal.real; D.data2.real=datal.unreal; 【答案】B

【解析】B 项错误,对结构体进行初始化时,应该用花括号括起来的一组值,而不是用小括

第 4 页,共 15 页

中,然后再从中

读出数组中的元素,每次读出2个元素,分别赋值给k 和n , 循环执行3次,故最终k 和n 的值为