2017年江西农业大学食品科学与工程学院341农业知识综合三之C程序设计考研题库
● 摘要
一、选择题
1. 以下叙述中正确的是( )。
A.C 程序中的注释只能出现在程序的开始位置和语句的后面
B.C 程序书写格式严格,要求一行内只能写一个语句
C.C 程序书写格式自由,一个语句可以写在多行上
D. 用C 语言编写的程序只能放在一个程序文件中
【答案】C
【解析】C 程序的注释可以出现在C 程序的任何位置,注释符号:“//”或“/*•••*/”。C 程序中,一行内可写多个语句,每条语句用分号“;”结束。用C 语言编写的程序可以放在多个程序文件中,用#indude命令行实现文件包含功能。
2. 设有以下程序段:inty :
y=rand( )%30+1;
则变量y 的取值范围是( )。
A.0≤y ≤30
B.0 C.l D.l 【答案】B 【解析】本题考点为“%”求余符号。rand ( )产生随机整数,任何整数对30求余得到的整数范围为0〜29,则y 的取值范围为 3. 有如下程序: 第 2 页,共 37 页 或者说故B 选项正确。 程序运行后的输出结果是( )。 A.min=l, max=9 B.min=0, max=9 C.min=l, max=4 D.min=0, max=4 【答案】B 【解析】在对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么c 语言将自动对余下的元素赋初值0, 则 程序的执行过程为:调用函数将数组array 首地 址传人函数,定义结构体变量res ,并为其成员赋值。for 循环查找数组array 数组的最小值0,将其赋值给res 的成员first , 查找数组最大值9, 赋值给res 的成员second 。最后返回结构体变量res , 则输出故 B 选项正确。 4. 以下叙述中正确的是( )。 A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句 B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环 C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语句 D. 只要适当地修改代码,就可以将do-while 与while 相互转换 【答案】D 【解析】D 项正确,C 语言中do-while 语句和while 语句作用是等价的,二者可以经过适当的修改互换。A 项错误,do-while 和for 循环也能写成死循环;B 项错误,for 循环首先执行表达式1; C 项错误,for 循环体经过适当的修改都可以转换成while 语句。 第 3 页,共 37 页 5. 设有如下函数定义: 若执行调用语句: A.2 B.3 C.4 D.5 【答案】B 会返 回 即则函数fun ( )总共被调用的次数是( )。 【解析】函数fun 为递归函数,递归结束条件是k 为小于等于1的数。执行fun (3)语句时执 行时会返 回 即执 行 时会返回1,所以函数fun 总共被调用3次。 6. 有以下程序: 程序的运行结果是( )。 A.22 B.41 C.100 D.121 【答案】B 【解析】调用fun 函数, 7. 有以下程序: 第 4 页,共 37 页