2017年西南财经大学程序设计(C语言)考研复试核心题库
● 摘要
一、选择题
1. 以下选项中合法的C 语言赋值语句是( )。
【答案】A
【解析】B 项和C 项缺少分号,不合法。D 项类型转换不合法,应为
2. 若已有定义语句:inta ,b ,c ; ,且变量已正确赋初值,则以下选项中正确的赋值表达式是( )。
A.a=(b=c)+8;
B. (a=b)=c=9;
C.a=(b==c)=‘A ’;
D.a+b=c+l;
【答案】A
【解析】A 项正确,将c 赋值给b 后又加上8,然后再赋值给a ; B 、D 项错误,赋值运算符左边必须是一个变量;C 项错误,(b==c)是个表达式,语法错误。
3. 有以下程序:
执行时如输入:
A.
B.
C. ^
D.
【答案】A 则输出结果是( )。
【解析】程序执行过程为:读入一个字符存入缓存区,判断字符是否为如不是,继续读入字符,直到读入的字符是“#”,存入缓存区,退出循环,将缓冲区字符一个个输出,
结果为
4. 以下不能正确表示代数式
【答案】D 的C 语言表达是( )。
【解析】与/优先级相同,所以采用左结合的方式。D 项若改为:
5. 有以下定义和语句:
在VC6平台上编译运行,程序运行后的输出结果是( )。
A.3,4
B.4,4
C.4,8
D.10,6
【答案】C
【解析】整型数据占4个字节,而双精度型数据占8个字节。
6. 关于“while (条件表达式)循环体”,以下叙述正确的是( )。
A. 循环体的执行次数总是比条件表达式的执行次数多一次
B. 条件表达式的执行次数总是比循环体的执行次数多一次
C. 条件表达式的执行次数与循环体的执行次数一样
D. 条件表达式的执行次数与循环体的执行次数无关
【答案】D 则为正确。
【解析】一般来说,while 循环是先判断条件,满足条件后执行循环体,执行完后接着判断条件,执行,直到最后一次判断条件后不成立,跳出循环,所以最后一次执行了条件表达式,但是没有执行循环体。
但是while 循环体中有break 时,条件表达式的执行次数与循环体的执行次数一样。比如:
应该说条件表达式的执行次数不会比循环体的执行次数多。
7. 设有定义:
以下语句中执行效果与其他三个不同的是( )。
A.
B.
C.
D.
【答案】A
【解析】执行if 语句时,首先计算紧跟在if 后面一对圆括号中的表达式的值。如果表达式的值为非零(“真”),则执行其后的if 子句,然后去执行if 语句后的下一条语句;如果表达式的
A 项中if 子句只有c=a, BCD ,值为零(“假”)则跳过if 子句,直接执行if 语句后的下一条语句。
三项中if 子句包括c=a; a=b; b=c;
8. 若变量均已正确定义并赋值,以下合法的c 语言赋值语句是( )。
【答案】A
【解析】A 项正确,
C 项错误,
返回0或者1, 然后赋值给x 。B 项错误,浮点数不能参与模运算; 是右值,不能给它赋值;D 项错误,5是常量,不能被赋值。
二、设计题
9. 请编写一个函数fun , 它的功能是:将SS 所指字符串中所有下标为奇数位置的字母转换为大写(若该位 置上不是字母,则不转换)。
例如,若输入“abc4Efg ”,则应输出“aBc4EFg ”。
注意:部分源程序在文件PROG1.C 中。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。
试题程序: