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

2016年杭州师范大学阿里巴巴商学院程序设计基础复试笔试最后押题五套卷

  摘要

一、选择题

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. 在switch 语句中,不一定使用break 语句 B. 在switch 语句中,必须使用default

C.break 语句必须与switch 语句中的case 配对使用 D.break 语句只能用于switch 语句 答:A

【解析】break 语句放入功能是跳出正在执行的条件语句或循环语句,switch 语句中可以根据需要选择是否使用break 语句,A 项正确;default 语句在switch 语句中可以省略,因此B 项错误;switch 语句中并非每个case 后都需要使用break 语句,因此C 项错误;break 语句还可以用于for 等循环结构中,因此D 项错误。

3. 有以下程序:

程序运行后的输出结果是( )。 A.6, 1 B.1, 1 C.7, 1 D.1, 2 答:C

【解析】表达式

. 中,>>是右移符号,数字13换算成二进制后右移1位,再和

中,首先判断13是否大于1,此时条件成立

1进行按位或运算,结果为7; 表达式

返回1后,再和1进行或运算,结果为1,因此答案为C 选项。

4. 有如下程序:

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

答:A

【解析】可用以下3种形式来引用结构体变量中的成员:①结构体变量名. 成员名;②指针变量名>成员名;③(*指针变量名). 成员名。数组名是指向数组首地址,也可以当做指向数组的指

针来使用。

元素

5. 有以下程序:

指向数组第三个元素

运行后的输出结果是

为字符串

A 项正确。

指向数组第一个

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

A.beijing B. china C. welcome D . tiananmen 答:C

【解析】strcmp 用于比较两字符串:当

时,返回值

时,返回值=0; 当

时,

返回值>0。程序主要实现的是先对前两行进行比较,将

码值大的调到后面,依次比较,即

即为 “weleome”。

“china”、“tiananmen”、“weleome”、“you”,最后的顺序为“beijing”、最后输出

6. 在C 语言程序中,下列说法中正确的是( )。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和调用均不可以嵌套 D. 函数的定义和调用均可以嵌套 答:B

【解析】C 语言规定,不能在函数的内部定义函数,但函数的调用可以嵌套。

7. 有以下程序

执行后的输出结果是( )。 A.5, 11 B.5, 5 C.11, 11 D.11, 5 答:A

【解析】fun 函数中m 和i 是静态变量,退出函数以后,下次再进入该函数时,m 和i 仍然保持上一次的数 值。第一次调用

返回11。

8. 有以下程序:

时,返回5; 第二次调用时