2018年曲阜师范大学地理与旅游院341农业知识综合三[专硕]之C程序设计考研基础五套测试题
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.1
B.2
C.4
D.8
【答案】D
【解析】f (l )输出2,然后调用f (2)输出4, 再调用f (4)输出8。
2. 有语句:以下选项中,与此语句功能相同的是( )。 A. B.. .
c. D.
【答案】D
【解析】D 项正确,题中,先判断_如果为假,直接返回0, 如果为真,再判断y 3. 以下叙述中正确的是( )。 A.C 程序的基本组成单位是语句 B.C 程序中的每一行只能写一条语句 C. 简单C 语句必须以分号结束 D.C 语言必须在一行内写完 【答案】C 【解析】在C 语言中,每条语句必须以分号结束。A 项错误,C 程序的基本组成单位是函数; 第 2 页,共 43 页 BD 两项错误,C 程序一行能写多条语句,也可以将一条语句分几行书写。 4. 有以下程序: 程序的运行结果是( )。 A.1, 2 B.3, 6 C.4, 7 D. 变量的地址值 【答案】B 【解析】程序的执行过程为:定义整型数组 结构体数组X ,并为其初始化,则 x2的第一个元6。程序的运行结果是3,6, 故B 选项正确。 5. 有以下程序: 程序运行时键盘输入9〈回车>,则输出的结果是( )。 A.10 B.11 C.9 D.8 【答案】A 【解析】“++”和“一”运算,当以前缀形式出现时,贝U 先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。判断条件中if (a++<9)是先用后加,即a 的值为9,所以条件不成立,但是a 已经进行了自增1操作,a 的值此时为10。执行else 语句时,因为打印a_-,是先用后减,所以先输出10,然后a 的值变为9。 6. 以下叙述中错误的是( )。 A. 用户定义的函数中可以没有return 语句 第 3 页,共 43 页 并进行初始化,两个数组长度均为2。定义输出x[0]的成员指针b 指向的内存单元值,即数组xl 的第一个元素3, 输出x[l]的成员指针b 指向的内存单元值,即数组 B. 用户定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值 C. 用户定义的函数中若没有return 语句,则应当定义函数为void 类型 D. 函数的return 语句中可以没有表达式 【答案】B 【解析】用户定义的函数有两种:①void 函数,可以没有return 语句,如果有return 语句,也不可以返回任何表达式;②指定返回类型函数,至少有一个返回语句。在一个函数内,可以根据需要在多处出现return 语句,但无论有多少个return 语句,return 语句只会被执行一次然后退出函数,并且只能返回一个函数值。 7. 有以下程序: 程序的运行结果是( )。 【答案】C 【解析】调用f 函数时,将结构体数组名作为实参传给了形参指针,使结构体指针a 指向了结构体C 的首地址。因此,在f 函数中,对指针所指结构体中的成员的赋值就是对数组c 中元素的赋值,故返回主函数之后,数组c 中 8. 若变量已正确定义 A. 执行无限次 B. 执行3次 C. 执行4次 D. 执行次数不定 【答案】C 第 4 页,共 43 页 成员的值已被更新, 最终输出结果为for (x=0, y=0; (y!=99&&x<4); x++)则以上for 循环( )。