2017年郑州大学面向对象的程序设计(笔试+上机操作)复试仿真模拟三套题
● 摘要
一、选择题
1. 以下叙述中正确的是( )。
A. 赋值语句是一种执行语句,必须放在函数的可执行部分
B.scanf 和printf 是C 语言提供的输入和输出语句
C. 由printf 输出的数据都隐含左对齐
D. 由printf 输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的
【答案】A
【解析】A 项正确,赋值语句是一种可执行语句,应当出现在函数的可执行部分。但需要注意,不要把变量定义时的赋初值和赋值语句混为一谈。B 项错误,C 语言本身没有提供输入输出功能,scanf 和printf 属于标准库函数;C 项错误,数据都隐含右对齐,如果想左对齐,可以在格式控制中的“%”和宽度之间加一个号来实现;D 项错误,若给出的总宽度nl 小于n2加上整数位数和小数点(e 或E 格式还要加上指数的5位),则自动突破nl 的限制。
2. 以下叙述中正确的是( )。
A.C 程序的基本组成单位是语句
B.C 程序中的每一行只能写一条语句
C. 简单C 语句必须以分号结束
D.C 语言必须在一行内写完
【答案】C
【解析】在C 语言中,每条语句必须以分号结束。A 项错误,C 程序的基本组成单位是函数;BD 两项错误,C 程序一行能写多条语句,也可以将一条语句分几行书写。
3. 有以下程序:
程序运行的结果是( )。
【答案】D
【解析】外层主循环从3减到1执行了 3次,嵌套的循环j 从1增到2, 每轮执行2次。每次输出的值,就可以得到每次换行发生在外循环完成一次循环之后。
4. 为了建立如图所示的存储结构(即每个结点含两个域,data 是数据域,next 是指向结点的指针域),则在处应填入的选项是( )。
【答案】C
【解析】结构体中的成员可以是各种类型的指针变量。当一个结构体中有一个或多个成员的基类型是本结构体类型时,称为“引用自身的结构体”。题目中next 指针指向struct 自身结点。
5. 有以下程序
程序的输出结果是( )。
A.0 9
B.0 0
C.9 0
D.9 9
【答案】C
【解析】main 函数中变量a 和b 以传地址的方式传递参数,形参的改变会导致实参的改变。fun 函数的作用是交换两个指针的指向的值,所以a 和b 的值发生互换。
6. 下列选项中,能正确定义数组的语句是( )。
A ) B )
【答案】C C )
D )
【解析】一维数组定义格式是:类型名数组名[整型常量表达式]。C 项正确,它使用预处理宏定义,N 可以看做是常量。A 项错误,数组长度不能由变量指明;B 项错误,没有指明数组的长度;D 项错误,数组长度应该整型常量表达式。
7. 有以下程序:
程序运行后的输出结果是( )。
A.10,9
B.11,10
C.010,9
D.9,10
【答案】D
【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自増和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。x=010=8,y=10,++x先自加后取值,输出9,y--先取值输出10,再自减y=9,故D 选项正确。
8. 有以下程序: