2017年宁波大学计算机网络之C程序设计复试仿真模拟三套题
● 摘要
一、选择题
1. 以下关于C 语言数据类型使用的叙述中错误的是( )。
A. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型
B. 若要保存带有多位小数的数据,可使用双精度类型
C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D. 整数类型表示的自然数是准确无误差的
【答案】A
【解析】A 项错误,C 语言中没有逻辑类型,在中才引入的;B 项正确,float 类型称为单精度类型,double 类型称为双精度类型,一般系统中,为float 类型的变量分配4个字节的存储单元,为double 类型的变量分配8 个字节的存储单元。C 项正确,struct 结构体,可以用来描述包含多种基本类型的复杂对象。
2. 若变量已正确定义,则以下for 循环( ):
A. 执行4次B. 执行3次
C. 执行次数不确定
D. 执行123次
【答案】C
【解析】
优先级低于
逻辑与表达式。规则为:对expl 求值,若为0, 则表达式为0, 则不计算exP2; 若expl 非0, 则求exP2值,作为表达式值。本题计算过程为:先判断a>b为假,m=0, 整个逻辑表达式为假,不计算右表达式,n=2。故C 选项正确。
3. C 语言程序中,若函数无返回值,则应该对函数说明的类型是( )。
A.int
B.double
C.char
D.void
【答案】D
【解析】A 项,int 表示返回值是整型;B 项,double 表示返回值是双精度型;C 项,char 表示返回值是字符型;D 项,void 表示无返回值。
4. 有以下程序:
程序运行时,输入的值在范围才会有输出结果( )。
A. 不等于10的整数
B. 大于3且不等于10的整数
C. 大于3或等于10的整数
D. 小于3的整数
【答案】B
【解析】else 总是和其上面最近的if 相匹配,对于第一个if ,只有一个else 语句,所以,若if 为真,表示不做任何处理,只有为假时才进入else 语句中,在else 语句中,若只有一个if 语句,只有其为真才输出。
5. 有以下程序
程序运行后的输出结果是( )。
A.24
B.28
C.32
D.36
【答案】A
【解析】第一次循环返回12, 第二次循环返回12, 累加结果为24。
6. 表达式:(int )((double )9/2)—9%2的值是( )。
A.4
B.0
C.3
D.5
【答案】C
【解析】(int )((double )9/2)值为4,9%2值为1,相减值为3。
7. 以下可以将任意一个两位整数n 的个位数与十位数对换的表达式为( )。
A. (n-n/10×10)×10+n/10
B.n-n/l0×l0+n/10
C.n/10+(n-n/10)
D. (n-n/10)×10+(n/10)
【答案】A
A 项n/10得到十位数字,n-n/10得到个位数字,【解析】将个位数乘以10加上十位数字,(n-n/10
×10)×l0+n/10实现将任意一个两位整数个位数与十位数对换,A 项正确。B 项n-n/10×10得到个位数字,n/10为十位数字,n-n/10×l0+n/10实现两位整数个位数与十位数之和,B 项错误。C 项n/10+(n-n/10)=n, 不能实现题目中要求,C 项错误。D 项n/10是十位数字,n-n/10为原两位整数减去十位数字,不是个位数字,D 项错误。
8. 有以下程序
执行程序时,给变量x 输入10, 程序的输出结果是( )。
A.55
B.54
C.65
D.45
【答案】A
【解析】一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的fun ( )函数在n 等于1时返回1,而在其余情况下返回所以本题的递归算法可以这样来表示:
此时不难看出,该递归算法实现的是计算
而且n 必须大于0, 否则会陷入死循环。故题目输出的结果是