2017年内蒙古师范大学程序设计之C程序设计教程考研复试核心题库
● 摘要
一、选择题
1. 有以下程序
程序运行后输出结果是( )。
A.0, 2
B.0, 3
C.1, 3
D.1, 2
【答案】D 【解析】
话,则是与逻辑操作符,两侧都为真,结果为真,否则结果为假;如果前面为0的. 后面的不予判定,这是逻辑操作符的短路特性。
的执行顺序是,先判定a 是否等于0, 如果等于0, 执行a++,跳出循环(短
;如果a 不等于0, 执行a++,然后执行++b,再判定b 是否等于0, 根据判定结果决定是否进路性)
行下一次循环。
第一次循环,a 等于-2, 执行a++; b 等于0, 执行++b,得到a 等于-1,b 等于1;
第二次循环,a 等于-1,执行a++; b 等于1, 执行++b, 得到a 等于0, b 等于2;
⑦第三次循环,a 等于0, 执行a++, 不满足条件,跳出循环,得到a 等于1,b 仍然是2。
2. 以下选项中叙述正确的是( )。
A. 复杂任务可以分解成简单子任务
B.C 语言程序中的所有函数必须保存在同一个源文件中
C. 全部三种基本结构都包含的才是结构化程序
D.C 语言程序可以定义多个不同内容的main 函数
【答案】A
【解析】结构化程序设计把一个复杂的问题的求解过程分成阶段进行,即复杂任务可以分解成简单的任务,A 项正确。C 语言程序中的函数不一定要保存在同一个源文件中,外部函数可以
B 项错误。被同程序中其他源文件中调用,结构化程序主要由3种基本控制结构组成,循环结构、
选择结构、顺序结构,它们组成的算法结构可 以解决任何复杂的问题。算法不一定要包含所有三种基本结构,也可以只包含一种或两种,C 项错误。C 程序由 一个或若干个函数构成,程序中有且只能有一个主函数,即main 函数,D 项错误。
3. 在以下给出的表达式中,与while (E )中的(E )不等价的表达式是( )。 A. B. C. D.
【答案】C
【解析】ABD 三项都是E 不等于零时执行while 循环,C 项是E 等于零时执行while 循环。
4. 下面选项中关于位运算的叙述正确的是( )。
A. 位运算符都需要两个操作数
B. 位运算的对象只能是整型或字符型数据
C. 左移运算的结果总是原操作数据2倍
D. 右移fe 算时,尚位总是补0
【答案】B
【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整数,高位补1。
5. 设有定义intx=2;,以下表达式中,值不为6的是( )。
A.x*=x+l
B.x++, 2*x
C.x*=(1+x)
D.2*x, x+=2
【答案】D
,此时为3, 然后做x*=3, 【解析】AC 两项,赋值运算优先级最低,所以先做x+1或(1+x)
即x=x*(x+l)=6;B 项,做x++运算后得到3, 然后做2*x运算得6, ;D 项,2*x虽然结果为4, 但此时x 的值仍为2, 所以最终为4。
6. 若有定义语句A. B. C. D.
【答案】C
列表间用逗号隔开。由题知_执行了 之后,输入语句正确的是( )。,格式控制和地址【解析】输入函数scanf 使用的标准形式是:scanf (格式控制,地址列表)即px 指向x 的地址,py 指向y 的地址。AD 两项错误,表达式中的x 和y 都需要取地址;B 项,格式控制和地址列表间用逗号隔开。
7. 有以下程序
执行后的输出结果是( )。
A.5, 11
B.5, 5
C.11, 11
D.11, 5
【答案】A
【解析】fun 函数中m 和i 是静态变量,退出函数以后,下次再进入该函数时,m 和i 仍然保持上一次的数 值。第一次调用
返回11。
8. 设变量均已正确定义,若要通过
( )(口代表空格字符)。 A. B. C. D.
【答案】A
【解析】scanft 函数是C 语言提供的标准输入函数,作用是接收在终端设备(或系统隐含指
;
定的输入设备)上输入的数据。scanf ( )函数的一般形式为:scanft (格式控制,输入项表)
本题中的格式控制字符串是
均插入空格,均不正确。
其中表示要输入的是整数;则表示输入的是字符,且各控制符之间无任何分隔字符,故要求输入的数据之间也不能分开。而BCD 三项在10和X 之间语句为时,返回5; 第二次调用时
,变量al 和a2赋数值10和20, 为变量cl 和c2赋字符X 和Y 。以下所示的输入形式中正确的是
二、设计题
9. 函数fun 的功能是:将8所指字符串中除了下标为奇数、同时ASCII 值也为奇数的字符之外,其余的所 有字符都删除,串中剩余字符所形成的一个新串放在t 所指的数组中。。
例如,若s 所指字符串中的内容为
但所在元素
其中字符A 的ASCII 码值虽为奇数,