2016年南京大学地理与海洋科学学院2703C语言(笔试与上机考试)之C语言程序设计复试笔试最后押题五套卷
● 摘要
一、选择题
1. 以下程序的功能是判断输入的一个整数是否能被3或7整除,若能整除,输出YES , 否则输出NO 。在下划线处应填入的选项是( )。
A.
B.
C.
D.
A 选项正
答:A 【解析】求余运算符为%,是否能被3或7整除表达式为
B 选项确。C 选项中为赋值运算符,D 选项为除号,错误。不是逻辑运算符“==”,错误。
为逻辑与,本题应该为逻辑或错误。
2. 设有定义以下选项中能够使字符型指针c 正确指向一个字符串的是( )。
A. B. C. D.
答:A
【解析】scanfO 函数是将C 定义为一个字符数组的数组名,选项C 是将c 定义为一个字符型变量,选项 D 应该是在指针的定义同时为它赋值,否则是不合法的。选项A 中定义字符数组str ,再将字符数组stt 的首地址 赋给字符型指针C 。
3. 若有说明语句
:则变量c 中存放的是( )。
A.2个字符
B.1个字符
C.3个字符
D. 说明语句不合法
答:B
【解析】用一对单引号括起来的单个字符为字符常量,以“\”开头的转义字符也是字符常量。“\”后可以为某些单个字符,也可以为八进制或十六进制数字,故变量c 中存放的是一个字符。
4. 有以下程序:
程序的运行结果是。(口代表一个空格)
A.10,12,a
B. □□0,012,a
C.010,12,a
D. □□10,12,a
答:D
【解析】%4d 表示先输出十进制,共占4个字符,而10已占2个字符,故先输出2个空格,然后输出10; %0表示输出八进制,10的八进制为12; 表示输出十六进制,即a 。
5. 以下叙述中正确的是( )。
A. 在复合语句中不能定义变量
B. 对于变量而言,“定义”和“说明”这两个词实际上是同一个意思
C. 全局变量的存储类别可以是静态类
D. 函数的形式参数不属于局部变量
答:C
【解析】C 项正确,对于全局变量可使用extern 和static 两种说明符。A 项错误,在复合语句中定义的变量 是局部变量;B 项错误,“定义”(definition )是指给变量分配确定的存储单元,“说明”(dedaratkm )只是说 明变量的性质,而并不分配存储空间;D 项错误,函数的形式参数只能在函数内部被识别,属于局部变量。
6. 下列函数的功能是( )。
A. 将a 所指字符串赋给b 所指空间
B. 使指针b 指向a 所指字符串
C. 将a 所指字符串和b 所指字符串进行比较
D. 检查a 和b 所指字符串中是否有
答:A
【解析】题中a 和b 是两个字符型指针,在while 语句的表达式中将指针a 所指向的字符赋给指针b 所指向的内存单元,再判断指针b 所指向的字符是不是字符串中的结尾符,若不是,则字符指针a 和b 的值分别自增,再执行循环语句,直至b 所指向的字符为字符串中的空字符。
7. 若变量x 、y 已正确定义并赋值,以下符合C 语言语法的表达式是( )。
A.x+l=y
B.++x, y=x--
C.x=x+10=x+y
D.double (x )/10
答:B
【解析】B 项正确,++x是前缀表达式,y=x--是复合语句,先进行x--, 然后把自减后的值赋给y 。A 项错误,x+1是右值,不能被赋值;C 项错误,x+10是右值,不能被赋值;D 项错误,应改成(double )x/10, double (x )/10是表示声明了一个double 变量,它名字是(x )A0,显然不符合C 语言语法。
8. 有如下程序:
程序运行后的输出结果是( )。
A.FDBXX
B.FFFXX
C.FDBBB
D.ABCDE
答:A
【解析】对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值,即
相关内容
相关标签