2017年杭州师范大学杭州国际服务工程学院826计算机基础之C程序设计考研仿真模拟题
● 摘要
一、选择题
1. 有以下程序:
程序运行的结果是( )。
【答案】D
【解析】外层主循环从3减到1执行了 3次,嵌套的循环j 从1增到2, 每轮执行2次。每次输出
的值,就可以得到
每次换行发生在外循环完成一次循环之
后。
2. 有以下程序:
程序运行后的输出结果是( )。 A.1, 2 B.4, 1 C.3, 4 D.2, 3 【答案】D
【解析】题目中定义了一个包含两个整型元素的结构体数组,其
中
指针p 指向结构体数组的第1个元素,那么
的值为2, 所以输出的结果为2, 3。
3. 有以下程序:
程序运行的结果是( )。 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行的对角线元素赋
给
在主函数中定义二维数组
为
所以可以看出对角线元素为1、0、7、0。
4. 表达式:(int )((double )9/2)—9%2的值是( )。
A.4 B.0 C.3 D.5
【答案】C 【解析】(int )((double )9/2)值为4,9%2值为1,相减值为3。
5. 设有定义:
的值为
若变量均已正确赋初值,则以下语句中错误的是( )。
【答案】A
【解析】A 项错误,struct 中的mark 成员是数组,数组一旦定义,不能直接赋值。B 项正确,numl 是int 变量,可以直接赋值。C 项正确,C 语言中struct 变量可以直接赋值,实际操作是内存拷贝;D 项正确,num2是int 变量,可以直接赋值;C 语言中,数组不能直接赋值,但是把数组包装在struct 中,就可以实现直接赋值。
6. 有以下程序:
程序运行后的输出结果是( )。 A.0
B. 变量无定义,输出不确定 C.-1 D.1
【答案】A
【解析】NULL 是包含在头文件stdiah 中的宏定义,其数值由编译器确定,一般情况下是0。
7. 有以下程序:
程序的运行结果是( )。 A.4 B.5 C.6 D.7
【答案】C
【解析】fun 函数是递归函数,用来计算从0到n 的整数和。调用fun 函数,n=3,
返回
【程序有错,
应为】