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
相关内容
相关标签