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

2017年青海大学程序设计之C程序设计复试实战预测五套卷

  摘要

一、选择题

1. 以下叙述中正确的是( )。

A.C 程序中的注释只能出现在程序的开始位置和语句的后面 B.C 程序书写格式严格,要求一行内只能写一个语句 C.C 程序书写格式自由,一个语句可以写在多行上 D. 用C 语言编写的程序只能放在一个程序文件中 【答案】C

【解析】C 程序的注释可以出现在C 程序的任何位置,注释符号:“//”或“/*•••*/”。C 程序中,一行内可写多个语句,每条语句用分号“;”结束。用C 语言编写的程序可以放在多个程序文件中,用#indude命令行实现文件包含功能。

2. 有以下程序

程序运行后的输出结果是( )。 A.99 B.68 C.60 D.108 【答案】C

【解析】定义了二维数组a ,p 是指针,它指向长度为4的int 数组,初始化时,p

执行

当于函数的作用是计算数组a 中前两列的和,结果是60。

3. 以下不是合法C 语言转义字符的是( )。

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

【解析】C 语言中,

表示响铃,

表示退格,

表示回车不换行,故答案为A 选项。

4. 有如下程序:

程序运行时,输入A.DCDC B.DCBA C.BABA D.ABCD 【答案】B

则输出结果是( )。

【解析】本题考查了函数的递归调用,进入件,函数进行输出,依次输出

5 若主函数中有定义语句.则

以下选项中错误的调用语句是( )。

A. B. C. D. 【答案】D 【解析】D 项错误,一个数组。

6. 有以下程序:

函数后,字符变量ch 每次保存读进来的字

后,下一次读取不满足if 条

答案为B 选项。

符,如果不是换行符,则继续读取下一个字符常量,当ch 保存完

在主函数前定义的fun 函数首部为

首先数组访问越界,其次是一个整数型,而函数fun 的参数是

程序运行时,输入的值在范围才会有输出结果( )。 A. 不等于10的整数 B. 大于3且不等于10的整数 C. 大于3或等于10的整数 D. 小于3的整数 【答案】B

【解析】else 总是和其上面最近的if 相匹配,对于第一个if ,只有一个else 语句,所以,若if 为真,表示不做任何处理,只有为假时才进入else 语句中,在else 语句中,若只有一个if 语句,只有其为真才输出。

7. 有以下定义inta ;longb ;doublex , y ;,则以下选项中正确的表达式是( )。

D.y=x+y=a 【答案】A

【解析】%运算是取两整数相除后余数的运算符,它只适用于整数的运算。A 项正确,x-y 结果为double 型,但是通过强制类型转换将其转换为int 型;B 项错误,

中==和!=是同一

个优先级的,先运行a==x,而因为double 是占8位的,不能自动转换,必须要强制类型转换

才是正确的;C 项错误,(a*y)%b中的(a*y)为double 型;D 项错误,x+y不

能作为左值。

8. 若有定义语句

A.char B.int C.double D.float 【答案】c

则表达式值的类型是( )。

【解析】在多目运算符相关联的运算数中,如果类型不一致,系统将自动进行类型转换,使两边的类型达到一直后,再进行运算,转换的规则是由“低到高”。double 型,即选择答案C 。

是字符型,a 是整型,b

是double 型。字符型数据占1个字节,整型占2个字节,double 型占8个字节,故三者相加后为

二、设计题

9. 学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun , 它 的功能是:按分数的高低排列学生的记录,高分在前。

注意:部分源程序存在文件语句。

中。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干