2017年北京联合大学智能交通工程803软件基础之C程序设计考研冲刺密押题
● 摘要
一、选择题
1. 为了建立如图所示的存储结构(即每个结点含两个域,data 是数据域,next 是指向结点的指针域),则在处应填入的选项是( )。
【答案】C
【解析】结构体中的成员可以是各种类型的指针变量。当一个结构体中有一个或多个成员的基类型是本结构体类型时,称为“引用自身的结构体”。题目中next 指针指向struct 自身结点。
2. 有以下程序:
当执行程序时从键盘上输入HelloBeijing<回车>,则程序的输出结果是( )。
A.helloBeijing
B.HelloBeijing
C.HELLOBEIJING
D.hELLOBeijing
【答案】C
fun 函数的功能是将字符串中的小写字母转换为对应的大写字母。【解析】所以程序输出的结
果是HELLOBEIJING 。
3. 以下叙述中正确的是( )。
A. 不同函数的形式参数不能使用相同名称的标识符
B. 用户自己定义的函数只能调用库函数
C. 实用的C 语言源程序总是由一个或多个函数组成
D. 在C 语言的函数内部,可以定义局部嵌套函数
【答案】C
【解析】C 项正确,一个实用的C 语言源程序总是由许多函数组成,这些函数都是根据实际任务,由用户自 己来编写。A 项错误,形参的作用域只在本函数内部,不同函数的形参标识符互不影响;B 项错误,可以调用C 提供的库函数,也可以调用由用户自己或他人编写的函数;D 项错误,C 语法规定,不能在函数内部定义其他函数。
4. 设变量已正确定义并赋值,以下正确的表达式是( )。
A.x=y*5=x+z
B.int (15.8%5)
C.x=y+z+5,++y
D.x=25%5.0
【答案】C
【解析】赋值运算左边必须是单一变量名。A 项错误,“y*5=x+z”部分是非法赋值。BD 两项错误,求余运算中的操作对象只能是整型。C 项,为逗号表达式。
5. 有以下程序:
程序运行后的结果是。
A.0
B.1
C.2
D.3
【答案】A
【解析】运算符“/”
6. 有以下程序
的优先级高
于
程序运行后的输出结果是( )。
A.-1
B.0
C.1
D.7
【答案】A
【解析】当a 为0时,a-表达式为0, 条件为假,循环结束,执行判断条件后a 为-1。
7. 以下选项中不能作为C 语言合法常量的是( )。
【答案】A
【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项,O.le+6是指数形式的常量,是合法的;C 项,是字符串常量;D 项,\011是表示八进制数整型常量。A 项错误,单引号表示字符常量,不能包含字符串,若要包含字符串,需用双引号。
8. 设a , b ,c 是整型变量且均已赋值,则以下选项中错误的赋值语句是( )。
A.a=(b=3)=1;
B.a=(b=2)+c;
C.a=b=c+10;
D.a=l+(b=c=2):
【答案】A
【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。A 项中,赋值运算(b=3)=1, 左值为表达式,不是变量不能被赋值,A 项错误。B 项运算过程为,先赋值b=2, 再计算b+c,将结果赋给a ,是正确的赋值语句。C 项运算过程为,先计算c+10将结果赋给b , 再将b 赋给a ,是正确的赋值语句。D 项运算过程为,先将2赋给c , 再将c 赋给b , 然后计算1+b, 将结果赋给a , 是正确的赋值语句。
9. 下列叙述中正确的是( )。
A. 两个连续的双引号(“”)是合法的字符串常量
B. 两个连续的单引号(“)是合法的字符常量
C. 可以对字符串进行关系运算
D. 空字符串不占用内存,其内存空间大小是0
【答案】A
【解析】A 项正确,两个连续的双引号:"" 也是一个字符串常量,称为“空串”。B 项错误,