2016年山东财经大学计算机科学与技术学院数据库系统原理与程序设计之C程序设计复试笔试最后押题五套卷
● 摘要
一、选择题
1. 设有定义:
紧接着的赋值语句正确的是( )。
A. B. C. D.
答:A
【解析】指针赋值的正确写法:表示p 指向x 的存储单元;表示p 是空指针。
2. 下面关于编译预处理的命令行,正确的是( )。
答:A
,A 项满足宏定义用法;C 语言【解析】宏定义用法一般表达式为“#define宏名替换文本”
中是区分大小写的,define 属于C 语言的关键字,不可以大写,B 、C 项错误;D 项中,int 是代表整数类型,不满足define 用法,D 项错误。
3. 有以下程序:
程序运行的结果是( )。
A.40
B.16
C.8
D.4
答:C
【解析】左移一位相当于原数乘以二,右移相当于除以二,结果为4X2=8。没有超过char 的类型表示范围,所以输出8。C 语言中字符型变量可以用在任何整型变量可以使用的地方。
4. 以下选项中,能用作用户标识符的是( )。
答:C
【解析】标识符是由若干个字符组成的字符序列,用来命名程序的一些实体。C 语言定义标识符应遵循以下六种规则:①标识符由字母、数字或下划线组成;②第一个字符必须是字母或下划线;③标识符最多由274个字 符组成;④在标识符中严格区分大小写字母;⑥关键字不能作为自定义的标识符在程序中使用。
5. 设有定义:intx=ll,y=12,z=0; ,以下表达式值不等于12的是( )。
A. (z ,x ,y )
B. (z=x,y )
C.z=(x ,y )
D.z=(x==y)
答:D
【解析】逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。D 选项逻辑表达式x==y不成立,则z=0,表达式值为0。B 选项逗号表达式X ,y 取y 值为表达式值,然后赋值给z=12,表达式值为12。C 选项逗号表达式(x ,y )取y 值为表达式值,然后赋值给z=12,表达式值为12。A 选项逗号表达式(z ,x ,y )取y 值为表达式值12。故选择D 选项。
6 设变量己正确定义, 以下不能统计出一行中输入字符个数(不包含回车符)的程序段是( )。.
A )
C )
答:D
【解析】要统计一行中输入字符个数(不包含回车符)的程序实现,首先定义一个用作统计的变量m 因为用作统计,所以需要赋初值为0; 因为字符结束要加换行符,故判断该行字符没有结束的程序实现应为
getohar
7. 已定义以下函数
fun 函数返回值是( )。
A. —个整数
B. 不确定的值
B )D ) 由此具体实现语句用for 循环应
为
C. 形参p 中存放的值
D. 形参p 的地址值
答:A
【解析】题目中fun ( )函数的返回表达式是是形参p 所指内容的值,因为p 为int 型指针,所以该值是一个整数。
8. 有以下程序
执行程序时,给变量x 输入10, 程序的输出结果是( )。
A.55
B.54
C.65
D.45
答:A
【解析】一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的fun ( )函数在n 等于1时返回1,而在其余情况下返回所以本题的递归算法可以这样来表示:
此时不难看出,该递归算法实现的是计算而且n 必须大于0, 否则会陷入死循环。 故题目输出的结果是
9. 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是( )。
A. 三种基本结构不可以嵌套使用
B. 顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移
C. 选择结构是根据不同的条件执行不同分支中的语句
D. 循环结构是根据条件决定是否重复、重复执行多少次循环体语句
答:A