2017年西北农林科技大学程序设计(机试2小时)复试实战预测五套卷
● 摘要
一、选择题
1. 以下叙述中错误的是( )。
A. 用户定义的函数中可以没有return 语句
B. 用户定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值 C. 用户定义的函数中若没有return 语句,则应当定义函数为void 类型 D. 函数的return 语句中可以没有表达式 【答案】B
【解析】用户定义的函数有两种:①void 函数,可以没有return 语句,如果有return 语句,也不可以返回任何表达式;②指定返回类型函数,至少有一个返回语句。在一个函数内,可以根据需要在多处出现return 语句,但无论有多少个return 语句,return 语句只会被执行一次然后退出函数,并且只能返回一个函数值。
2. 有以下程序
程序运行后的输出结果是( ) A.6,4,3,2, B.6,2,1,1, C.1,1,2,6, D.2,3,4,6, 【答案】A
【解析】第一个嵌套的for 循环功能将对角线上的数据从大到小排序,其他数据不变,排序 值为6,输出第一行为6 4 3 2。 完成后,
3. 有以下定义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不
能作为左值。
4. 若有定义
执行
语句时,若从键盘输人 876543.0
则a 和b 的值分别是( )。 A.87和6.0 B.876和543.0 C.87和543.0 D.76和543.0 【答案】A
【解析】scarlf ( )函数的一般形式为:scanf (格式控制,地址表列)。其中,“格式控制”是用双引号括起来的字符串,也称“转换控制字符串”,它包括两种信息:①格式说明,由“%”和格式字符组成;②普通字符,即需要原样输入的字符。“地址表列”是需要接收输入数据的一系列变量的地址。本题中的“格式控制”是“%所以scanf ( )函数将87赋给a , 6赋给b 。
5. 有以下程序段
以下选项中表达式的值为11的是( )。
【答案】A
【解析】pt_>x值为10,_>优先级高于++,前置++表达式的值为加1之后的值,所以A 项结
其中%2d 的意思是要输入一个整
数,但该整数最宽只占2个字符,而%f 是要输入一个浮点数。而题目要求输入的是876和543.0,
果为11。
6. 有以下程序
执行后的输出结果是( )。 A.32 B.24 C.5 D.40
【答案】A
【解析】自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算分量加1之后的值,而后缀形式表达式的值为运算分量加1之前的值。题目中使用了一个for 循环,循环变量i 从1递增到40。在循环体中有两条嵌套的if 语句,首先判断i++%5==0,即判断i++的值(i 加1,然后再判断++i的值(i 加1之后的值)是否能被之前的值)是否能被5整除(判断后i 被加1)
8整除(判断后i 被加1),若两个条件都满足了,就输出i 的值,只有i=30时,满足i++%5==0,此时i=31,++i%8==0成立,此时i=32。
7. 有以下程序
程序的输出结果是( )。
A. B. C. D. 【答案】C
【解析】在格式控制中用%%表示,将输出一个%符号。
8. 有以下程序: