2018年南京师范大学文院803程序设计语言之C程序设计考研仿真模拟五套题
● 摘要
一、选择题
1. 若有以下程序段:
输出结果是。
A.16
B.8
C.4
D.2
【答案】C
【解析】C 语言中,右移运算符是将变量转换成二进制,然后右移相应位数,将移出的位信息舍去,并在高位补0, 将所得的结果再赋值给变量。本题十进制数8转换为二进制数为00001000, 右移一位得到00000100, 再转换成十进制数就是4。
2. 设有以下程序段:
要引用结构体变量Std 中的color 成员,下列写法中错误的是( )。
【答案】C
【解析】在使用结构体变量引用结构体中的成员变量时,可以使用来引用,使用结构体指针引用结构体中的成员变量是,可以使用来指向结构体中的成员。
3. 设a ,b ,C 是整型变量,且已正确赋初值,以下选项中错误的赋值语句是( )。
【答案】D
【解析】D 项,具有最高优先级,b 先赋值9, 再根据赋值运算符号自右向左进行赋值,
再给b 赋
值为1,再计算
4. 有以下程序段:
赋值运算符左边必须是一个变量,但数值2是常量,语法错误。
该程序段的功能是( )。
A. 输出a 、b 、c 中的最小值
B. 输出a 、b 、c 中的最大值
C. 输出a 的原始值
D. 输出a 、b 、c 中值相等的数值
【答案】A
【解析】程序执行过程为:从键盘读入三个整型数据,依次赋给a ,b , c , 判断a>b,若成立将较小的值b 赋值给较大的值a ,判断a>c,若成立将较小的值c 赋值给较大的值a ,实现了将从键盘读入的数据中最小值赋给a 的功能,最后输出a ,即输出最小值。
5. 有以下程序:
程序运行后的输出结果是( )。
A.0
B.10
C.30
D.64
【答案】D
【解析】静态局部变量只在定义它的函数内有效,程序仅分配一次内存,函数返回后,该变量不会消失,下 一次依据上一次的结果值。此题中第一次循环时,调用fim 函数后x 的值为2, s的值为2; 第二次循环时,调用 fun 函数后x 的值为4,s 的值为8; 第三次循环时,调用fun 函数后x 的值为8,s 的值为64。
6. 设有如下程序段:
以下叙述正确的是( )。
A. 只有a ,b ,c 的定义是合法的
B.a , b ,c ,d 的定义都是合法的
C. 只有a , b 的定义是合法的
D. 只有c 的定义是合法的
【答案】C
【解析】在对数组进行初始化时,如果对数组的全部元素赋以初值,定义时可以不指定数组长度,如果被定义数组的长度与初值个数不同,则数组长度不能省略;如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值。定义整型数组a ,长度为8, 并且其每个元素赋初值0, a 定义是合法的。定义整型数组b , 没有指定长度,但为1个元素赋值0,所以自动指定数组长度为1,b 定义是合法的。定义字符型数组c ,长度为2, 应对其元素赋值字符型常量,而“A ”与“B ”均为字符串,c 定义不合法。定义字符d ,赋初值字符串“AB ”,这是不合法的定义,若要定义数组,必须要
有下标运算符。可知,ab 定义合法,cd 定义不合法,C 项正确。
7. 若有定义:
则正确的switch 语句是( )。
【答案】D
【解析】D 项正确,标号可以是整型表达式。A 项错误,case 是关键字,与其后面的常量表达式合称case 语句标号。常量表达式的类型必须与swicth 后圆括号中的表达式类型相同,各case 语句标号的值应该互不相同。c 是变量,不能作为表达式放在case 后面;B 项错误,switch 后面不应该有分号;C 项错误,switch 参数值类型必须是这几种类型之一:
相关内容
相关标签