2017年北京市培养单位生命科学学院864程序设计考研强化模拟题
● 摘要
一、选择题
1. 若有以下程序段
则以下选项中值为6的表达式是( )。
【答案】C
【解析】定义长度为3的struct 数组a , a 中每个元素的next 值是指向下一个元素,实际上数组a 的元素构成了一条单链表,指针p 指向单链表的头部项返回的都是的值5。
2. 以下选项中合法的C 语言赋值语句是( )。
【答案】A
【解析】B 项和C 项缺少分号,不合法。D 项类型转换不合法,应为
3. 以下程序:
程序运行后的输出结果是( )。
等于指向三
A.abc B.28c C.abc28
D. 因类型不一致而出错 【答案】C
【解析】
程序一开始以只写方式打开文件
以附加方式打开,
接着写入字符串中,最后输出str 的值。
4. 有以下程序:
执行时如输入为:A.abcdefg B.
c. D.bcdefgh 【答案】D
则输出结果是( )。
然后写入字符串
文件关闭后再
然后把文件指针移到开头位置,再读入整个字符串到str
【解析】题目中for 语句含义是,每次将函数getchar ( )的输入值赋给变量c ,如果不等于‘#’,则执行putcbar (++c), 即将当前变量c 值的ASCII 码+1后,再输出改变后的变量c 的值。当变量c 的值等于‘#’,则终止循环,所以输出应该是bcdefgh ,答案为D 选项。
5. 有以下程序:
程序运行以后的输出结果是( )。 A.7 B.8 C.9 D.10
【答案】C
【解析】如果函数的定义在调用之后,则必须要在调用之前声明函数。静态局部变量,在整
个程序的运行期 间均有效。函数f 将整型变量a 定义为静态变量,所以每次调用函数f 时不再为a 重新赋值。第一次调用f 后,n=4, a=2,第二次调用时,a 已经变成了 2, 所以结果为4+5=9。
6. 有以下程序段
当执行上述程序段,从键盘上输入555667777123后,y 的值为( )。 A.566.0 B.55566.0 C.7777.0 D.566777.0 【答案】A
【解析】本题考查的是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其中的格式命令可以说明最大域宽。在百分号(%)与格式码之间的整数用于限制从对应域读入的最大字符数。因此j 的值为55,y 的值为566.0,字符数组name 的值为7777123。
7. 已知大写字母A 的ASCII 码是65, 小写字母a 的ASCII 码是97。以下不能将变量c 中的大写字母转换为对应小写字母的语句是( )。
B.c=c+32
【答案】A
【解析】A 项,模26运算后得到0~25之间的数,再与V 相减结果是负数。B 项,ASCII 码表中,同一字母的小写码比大写码数值上大32;C 项,
D 项,
取值在0~26, 等价
于C 项。
8. 为了避免在嵌套的if-else 语句中产生二义性,C 语言规定与else 子句配对是( )。
A. 与其在同一行上的if 子句 B. 在其之后最近的不带else 的if 子句 C. 与其缩排位置相同的if 子句
D. 在其之前最近的不带else 的同层if 子句 【答案】D
【解析】if 总是与它上面最近的、未配对的else 配对。
9. 有以下程序:
相关内容
相关标签