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

2017年河北科技师范学院机电工程学院341农业知识综合三之C程序设计考研仿真模拟题

  摘要

一、选择题

1. 有以下程序:

以下关于程序执行情况的叙述中,正确的是( )。 A.for 循环语句固定执行8次

B. 当产生的随机数n 为4时结束循环操作 C. 当产生的随机数n 为1和2时不做任何操作 D. 当产生的随机数n 为0时结束程序运行 【答案】D

【解析】rand 〇函数是随机数函数,

返巨结果进行模5操作,得圉_

之间的随机整数,

是把随机数

之间的随机整数。case 语句标号后的语句可以省略不写,省略后,

它与下一条case 合成一条‘或’判定语句。①产生1,3时,输出n ,并跳出switch , 此时并没有跳出for 循环;②产生2, 4时,继续执行for 循环;③产生0时,结束程序,所以for 循环未必执行8次。

2. 有以下程序:

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

A.32 B.12 C.21 D.22 【答案】C

【解析】C 语言中函数参数传递有两种方式传值传递和传址传递,传址传递对应的变量在被调用函数中修改对应的参数的值,会影响调用函数中对应的变量的值,传值传递对应的变量在被调用函数中修改不会改变调用函 数中对应的变量的值。本题中采用的传值传递,fun 函数体内输出p 的值为2, 并没有影响到fun 函数外a 的值,a 的值在main 函数内依然为1。

3. 若有定义语句intkl=10, k2=20; ,执行表达式后,kl 和k2的值分别为( )。

A.0和1 B.0和20 C.10和1 D.10和20 【答案】B

【解析】在C 语言中,没有专门的“逻辑值”,而是用非0表示“真”,用0表示“假”。根据优先级,先计算括号内的。括号内先比较

和比较的结果为假,值为0, 再赋值给

可得

的大小,由于

,故左边括号中的与

的值为0,由于0与任何值相与结果都是0, 故右边

一个括号不需运算,即的值不变,仍为20。

4. 下面的函数调用语句中fimc 函数的实参个数是( )。

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

【答案】A

【解析】函数调用中实参有多个时,实参之间用逗号分隔。本题中的实参有3个,

是逗号表达式作为参数,

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

A.EOF 只能作为文本文件的结束标志,其值为-1 B.EOF 可以作为所有文件的结束标志 C.EOF 只能作为二进制文件的结束标志 D. 任何文件都不能用EOF 作为文件的结束标志 【答案】A

是函数的返回值作为参数

是逗号与函数相结合作为参数。

【解析】文件结束或者错误,则返回符EOF 是在头文件中定义的宏,一般值为在

while 循环中以EOF 作为文件结束标志,这种以EOF 作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII 代码值的形式存放,由于不可能出现-1,因此可以用EOF 作为文件结束标志。

6. 有以下程序:

程序运行的结果是( )。 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 循环的作用是将二维数组前4行的对角线元素赋

7. 若有以下函数首部

则下面针对此函数的函数声明语句中正确的是( )。 A. B. C. D. 【答案】A

【解析】函数声明应该和函数调用的参数保持一致,声明时的参数(形参)名字可以省略,数组在参数传递过程中变成指针。

8. 有如下程序:

在主函数中定义二维数组

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