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

2017年天津工业大学085212软件工程(专业学位)高级语言程序设计复试实战预测五套卷

  摘要

一、选择题

1. 有如下程序:

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

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 选项正确。

2. 若有定义:inta=0,b=0, c=0, d=0; ,有C 语言表达式

行顺序的叙述正确是( )。

A. 先执行a++, 表达式a++的值为0,短路,得a++,执行它

B. 先执行a++,表达式a++的值为0; 再执行b++,表达式b++的值为0,由此可确定

值为0,因此执行d++

C. 先执行a++,表达式a++的值为1; 再执行b++,表达式b++的值为1, 由此可确定

值为1, 因此执行C++

D. 先执行b++,表达式b++的值为1; 再执行a++,表达式a++的值为1,由此可确定

值为1,因此执行C++

【答案】A

【解析】表达式1? 表达式2:表达式3, 若表达式1为真,则执行表达式2, 否则执行表达式3。逻辑与运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式>中,左操作数a++的值为0, 已经可以确定整个逻辑表达式的结果为0, 因此右操作数b++不再求解,直接执行表达式3, 即d++, A 项正确。

3. 关于“while (条件表达式)循环体”,以下叙述正确的是( )。

A. 循环体的执行次数总是比条件表达式的执行次数多一次

B. 条件表达式的执行次数总是比循环体的执行次数多一次

C. 条件表达式的执行次数与循环体的执行次数一样

D. 条件表达式的执行次数与循环体的执行次数无关

【答案】D

【解析】一般来说,while 循环是先判断条件,满足条件后执行循环体,执行完后接着判断条件,执行,直到最后一次判断条件后不成立,跳出循环,所以最后一次执行了条件表达式,但是没有执行循环体。

但是while 循环体中有break 时,条件表达式的执行次数与循环体的执行次数一样。比如:

应该说条件表达式的执行次数不会比循环体的执行次数多。

以下关于其执

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

A. 在复合语句中不能定义变量

B. 对于变量而言,“定义”和“说明”这两个词实际上是同一个意思

C. 全局变量的存储类别可以是静态类

D. 函数的形式参数不属于局部变量

【答案】C

【解析】C 项正确,对于全局变量可使用extern 和static 两种说明符。A 项错误,在复合语句中定义的变量 是局部变量;B 项错误,“定义”(definition )是指给变量分配确定的存储单元,“说明”(dedaratkm )只是说 明变量的性质,而并不分配存储空间;D 项错误,函数的形式参数只能在函数内部被识别,属于局部变量。

5. 在以下给出的表达式中,与while (E )中的(E )不等价的表达式是( )。

A.

B.

C.

D.

【答案】C

【解析】ABD 三项都是E 不等于零时执行while 循环,C 项是E 等于零时执行while 循环。

6. 有以下程序

程序的输出结果是( )。

A.7 1

B.4 3

C.3 4

D.0 0

【答案】A

【解析】main 函数中变量c 和d 以传地址的方式传递参数,形参的改变会导致实参的改变。

7. 在C 语言中,以下选项中不能正确表示10X1000之值的是( )。

【答案】A