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

2018年西安建筑科技大学信息与控制工程院869C程序设计考研核心题库

  摘要

一、选择题

1. 以下不能将键盘输入的字符串:This is a string〈回车〉读入到str 中的程序段是( )。

A.

B.

C. D.

【答案】A

【解析】在使用scanf 函数时,在输入数据时,遇到空格,或按“回车”键或按“跳格”(Tab )键时该数据 认为结束。A 项中输入This 后有一个空格,认为数据输入结束,以后的数据不能再读入到str 中,故选择A 项。 B 项用getchar 读人字符,键盘输入的所有字符均被认为是有效字符读入,用while 循环控制读入,当读入字符为 回车时结束读入,字符串被正确的读入到str 中。C 项用gets 函数读入字符串,它读入键盘输入的所有字符,遇到回车自动结束读入,所以也能正确读入字符串到str 中。D 项用do...while 和指针循环控制字符输入,依次判断输入字符是否为回车符,若不是回车符则放人字符数组中,直到读入回车符,结束循环,数组str 中正确存放人指定的字符串。

2. 有以下程序:

程序运行的结果是( )。 A.1, 2, 3, 4 B.1, 0, 7, 0 C.1, 4, 5, 9 D.3, 4, 8, 0 【答案】B

【解析】由二维数组x 的定义知,数组x 为4行4列。fun 函数中for 循环的作用是将二维数

第 2 页,共 43 页

组前4行的对角线元素赋

3. 以下选项中合法的C 语言赋值语句是( )。

【答案】A

在主函数中定义二维数组

所以可以看出对角线元素为1、0、7、0。

【解析】B 项和C 项缺少分号,不合法。D 项类型转换不合法,

应为

4. 下列叙述中错误的是( )。

A.C 程序在运行过程中所有的计算都以二进制方式进行 B.C 程序在运行过程中所有的计算都以十进制方式进行 C. 所有的C 程序都需要在连接无误后才能运行

D.C 程序中整型变量只能存放整数,实型变量只能存放浮点数 【答案】B

【解析】在C 程序运行过程中,编译器的作用是将程序转换为目标代码,目标代码都是二进制的。

5. 表达式:(int )((double )9/2-(9)%2)的值是( )。

A.0 B.3 C.4 D.5

【答案】B

【解析】运算符“/”,“%”的优先级高于“-”故先进行除法和求余运算,再进行减法运算。强制类型转换表达式的形式为:(类型名)(表达式)。“9/2”转换成double 类型,再转换成int 类型,结果为4, 减号后面的结果为1,故结果为3。

6. 有以下程序:

第 3 页,共 43 页

程序运行后的输出结果是( )。 A.= B.XXX C.=XX D.X=

【答案】A

【解析】

主函数首先为结构体定义两个变量

分别使用字符串拷贝函数strcpy ( )

因此输出为

项正确。

为si 和s2的成员name 赋值,

再将

中的成员信息赋值给

7. 有以下程序

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

【答案】B 【解析】函数

'

有两个形参,第一个形参是传值,第二个形参是传引用,在

函数fun 内部改变s 的值,则在函数fun 外部也会发生相应改变。f 是函数内部的局部变量,递归调用时,把局部变量f 以指 针的形式传入,在下一层函数中会对f 进行修改,当下一层函数返回后,再把当前局部变量f 赋值给形参s 。函 数调用过程如下表所示。

第 4 页,共 43 页