2017年北京交通大学02106C程序设计考研复试核心题库
● 摘要
一、选择题
1. 有以下程序:
程序的运行结果是( )。 A.22 B.41 C.100 D.121
【答案】B
【解析】调用fun 函数,
2. 若有定义语句intkl=10, k2=20; ,执行表达式为( )。
A.0和1 B.0和20 C.10和1 D.10和20 【答案】B
【解析】在C 语言中,没有专门的“逻辑值”,而是用非0表示“真”,用0表示“假”。根据优先级,先计算括号内的。括号内先比较
和比较的结果为假,值为0, 再赋值给
可得
的大小,由于
,故左边括号中的与
的值为0,由于0与任何值相与结果都是0, 故右边
后,kl 和k2的值分别
一个括号不需运算,即的值不变,仍为20。
3. 若有定义inta=l,b=2,c=3;II ,则执行表达式(a=b+c)(++b)后a 、b 、c 的值依次为( )。
A.1、2、3 B.5、3、2 C.5、2、3 D.5、3、3
【解析】根据优先级规则,晒边都是括号,则从左至右执行括号中的表达式,将b+c的值赋值给a ,即a 为5, 不为0, 则II 右边的括号不需要再执行。
4. 以下叙述中错误的是( )。
A. 同一个数组中所有元素的类型相同
B. 不可以跳过前面的数组元素给后面的元素赋初值0 C. 定义语句D. 若有定义语句【答案】D
【解析】一维数组初始化时,不可能跳过前面的元素给后面的元素赋初值,当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0, 当所赋初值多于所定义数组的元素个数时,在编译时将给出出错信息。
5. 有以下程序:
程序运行后的结果是( )。 A.11 B.21 C.6 D.120 【答案】B
【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元,其生存周期 一直延续至整个程序结束。fim 函数被调用了 5次,第1次
,
第2次,
第3次,
第4次,
第5次,
6. C 源程序中不能表示的数制是( )。
A. 二进制 B. 八进制 C. 十进制 D. 十六进制
给a 数组中所有元素赋初值0
编译时将忽略多余的初值
【解析】C 语言中整型常量可以是十进制数、八进制数、十六进制数,虽然运行方式以二进制数运行,但整型常量不包括二进制数。
7. 以下程序段中,与语句:
【答案】A
【解析】三元运算符表达式的形式为:表达式果果
那么就执行
前面的语句
且
时,
功能相同的是( )。
表达式表达式3, 当表达式1的值为真时,
的关系:①如否则
②如
结果为表达式2的值;当表达式1的值为假时,结果为表达式3的值。首先判断
判断b 、c 的关系,如果否则
综上所述:当
与A 项语句功能相同。
8. 程序运行后的输出结果是( )。
A.14.0 B.31.5 C.7.5
D. 程序有错无输出结果
【答案】D
【解析】宏定义有两种:无参数的宏定义,即#definePT3.5; 带参数的宏定义,不能用宏来计算,宏只能做简单的代替而不能做计算,故程序会报错。
二、设计题
9. 请编写一个函数fun , 它的功能是:将SS 所指字符串中所有下标为奇数位置的字母转换为大写(若该位 置上不是字母,则不转换)。
例如,若输入“abc4Efg ”,则应输出“aBc4EFg ”。 注意:部分源程序在文件PROG1.C 中。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。
试题程序:
相关内容
相关标签