2017年中国人民公安大学C语言程序设计(同等学力加试)复试实战预测五套卷
● 摘要
一、选择题
1. 以下叙述中正确的是( )。
A. 在scanf 函数的格式串中,必须有与输入项一一对应的格式转换说明符
B. 只能在printf 函数中指定输入数据的宽度,而不能在scanf 函数中指定输入数据占的宽度 C.scanf 函数中的字符串是提示程序员的,输入数据时不必管它 D. 复合语句也被称为语句块,它至少要包含两条语句 【答案】C
【解析】C 项正确,scanf 函数中的字符串是为了増加程序的可读性,并不影响数据的输入。A 项错误,可以在%和格式字符之间加入
号,作用是跳过对应的输入数据;B 项错误,可以
在格式字符前加入一个正整数指定输入数据所占的宽度;D 项错误,用一对花括号把若干语句括 起来构成一条复合语句。一个复合语句在语法上视为一条语句,在一对花括号内的语句数量不限。
2. 有以下程序
程序执行后的输出结果是( )。 A.lbc ,a23 B.abc ,123 C.123,abc D.321,cba 【答案】A
si 应该指向的是数组的首地址,【解析】字符串是一个特殊的数组,按照数组的规则,即“abc ”的第一个字符的地址。s2指向的是“123”的第一个字符的地址。调用swap 函数之后交换的是两个字符串的第一个字符W 和T 的内容,因此打印输出为A 。
3. 下面是有关C 语言字符数组的描述,其中错误的是( )。
A. 不可以用赋值语句给字符数组名赋字符串 B. 可以用输入语句把字符串整体输入给字符数组
C. 字符数组中的内容不一定是字符串 D. 字符数组只能存放字符串 【答案】D
【解析】字符数组可以用来存放单个的字符或者字符串。
4. 若有以下定义和语句:
则输出结果是( )。 A.5 5 B.10 5 C.10 7 D.5 8 【答案】A
【解析】strlen 函数是测试字符串长度的函数,求字符串的实际字符个数,不包括字符内,
在字符义字符
,
之后的所有字符均不计入长度中。所以的含义是一个字符【程序有错,
应为
而以】
所以s2
所指向的内容实际上是
在所以
开头的字符序列是转
5. 设有chars[5],c ;, 则调用函数scanf 能正确给s 和c 读入数据的是( )。
A. B. C. D. 【答案】D
【解析】
中放的是字符串,故输入的类型应该是
c 中放的是字符,故输入的是
要
正确读入数据必须要正确指向S 和C 的地址。
6. 若变量已正确定义为int 型,要通过语句
给a 赋
值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。
【答案】B
【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要原样输入,否则就不能正确读入数据。B 项前两个数据后面没有紧跟一个逗号,格式不匹配所以输入形式错误。
7. 若有以下程序段
不能正确引用字符串的选项是( )。 A. B. C. D. 【答案】D
【解析】strp 是char *类型、长度为4的数组,4个指针分别指向字符串数组str 中的4个字符串。D 项错误,step 是char*的数组,不能引用字符串。A 项正确,引用strp 数组中第一个指针指向的内容,gpaa”; B 项正确,str 是字符串数组,引用数组中的”aa”; C 项正确,于
访问strp 中第四个指针指向的内容,即 ”d”。
8. 有如下程序:
程序运行后的输出结果是( )。 A.2, B.2, 3, C.3, D.1, 【答案】A
【解析】在输出函数中,调用了
函数。
函数作用是定义一个静态变量
对
变量init 进行叠加形参data 的值,并将结果作为函数的返回值。在main ( )函数中,实参i=l传递给sum ( )函数的形参data ,因此输出为2。
等价
二、设计题
9. 函数fun 的功能是:将8所指字符串中除了下标为奇数、同时ASCII 值也为奇数的字符之外,其余的所 有字符都删除,串中剩余字符所形成的一个新串放在t 所指的数组中。。
例如,若s 所指字符串中的内容为
其中字符A 的ASCII 码值虽为奇数,