2016年上海理工大学光电信息与计算机工程学院C程序设计及操作系统原理之C程序设计复试笔试仿真模拟题
● 摘要
一、选择题
1. 有以下程序
程序的输出结果是( )。
A.7 1
B.4 3
C.3 4
D.0 0
答:A
【解析】main 函数中变量c 和d 以传地址的方式传递参数,形参的改变会导致实参的改变。
2. 有以下程序:
»
程序运行后的输出结果是。
A.9, 18
B.8, 11
C.7, 11
D.10, 14
答:D
【解析】for 循环语句中令变量a 自増1, 而在循环语句中又令a 自增了2, 所以可看作每次循环a 自增3。第一次循环,a=l,b=b+a=3, a=a+2=3; 第二次循环,a=4,b=b+a=7a=a+2=6; 第二次循环,a=7,b=b+a=14, a=a+2=9; 所以最后退出循环体时a=10,b=14。
3. 有如下程序:
程序运行后的输出结果是( )。
A.124,124,
B.123,124,
C.124,123,
D.123,123
答:A
【解析】本题程序执行过程为:调用change 函数,将变量data 地址传入函数,返回当前指针指向的变量值123,之后此变量加一,data=124。输出data=124。再次调用函数,返回当前指针指向的变量值124,然后此地址内存中变量加一,data=125,然后将返回值124赋给变量data=124,最后输出data=124。A 项正确。
4. 有如下程序:
程序运行后的输出结果是( )。
答:C
【解析】程序执行过程为:判断
先取值,
是否成立,前置运算先加1,则后置运算
则也即是判断
5. 有如下程序:
成立,输出T , 之后输出故C 选项正确。
程序运行后的输出结果是( )。
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 选项正确。
故