2018年南京师范大学文院803程序设计语言之C程序设计考研强化五套模拟题
● 摘要
一、选择题
1. 有以下函数:
函数的功能是( )。
A. 查找x 和y 所指字符串中是否有
B.x 、y 所指字符串最前面连续相同的字符个数
C. 将y 所指字符串赋值给x 所指存储空间
D. 统计x 和y 所指字符串中相同的字符个数
【答案】B
【解析】由程序可知,定义语句中的x 和y 是用户标识符,在每个变量前的是一个说明符,循环执行只有在x 和y 所指字符串中最前面连续相同,并统计其个数,一旦不满足,则终止循环而返回相同个数II 。
2. 以下叙述中正确的是( )。
A. 函数的形参类型不能是指针类型
B. 函数的类型不能是指针类型
C. 设有指针变量为
【答案】C
【解析】C 项正确,一般情况下,double 类型的变量长度为8个字节,对指针进行加、减运算时,数字“1”指1个存储单元长度。A 项错误,函数的形参可以是数值类型,也可以是指针类型;B 项错误,C 语言中有指向函数的指针,称为函数指针;D 项错误,int 类型的指针只能指向int ,不能指向double ,指针变量不能混用。
3. 有以下程序:
第 2 页,共 42 页 则p+1将指针p 移动8个字节 D. 基类型不同的指针变量可以相互混用
程序运行后的输出结果是( )。
A.6 1
B.7 0
C.6 3
D.7 1
【答案】B 【解析】这时分配的内存就是7个字节,包括结束字符
第一个遇到结束字符
求的是字符串的个数,为0。
4. 以下函数findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。
造成错误的原因是( )。
A. 定义语句
B. 赋值语句
C. 语句
D. 赋值语句
【答案】D
【解析】本题中for 循环中首先将MIN 值赋值给max , 然后用
将MIN 值与
值进行比较,所以无论
先执
5. 有以下程序:
第 3 页,共 42 页
无论之后如为空
,何赋值,都不会改变,sizeof 是计算字符串所占存储空间的大小,因
此结束赋值,这时中max 未赋初值 中,不应给max 赋MIN 值 中判断条件设置错误 放错了位置 与max 的值比较。每次都是始终执行。的值是什么,都不会影响if 的判断语句,所以函数返回的是数组中最后一个元素的值。本题的错误在于的位置,for 循环之前应
程序运行后的输出结果是( )。
A.13.700000
B.14.000000
C.15.400000
D.14.900000
【答案】A
sqrt 为平方根计算函数,【解析】
6. C 语言中,最基本的数据类型包括( )。‘
A. 整型、实型、逻辑型
B. 整型、字符型、数组
C. 整型、实型、字符型
D. 整型、实型、结构体
【答案】C
【解析】C 语言中,最基本的数据类型包括整型、实型、字符型,答案为C 选项。
7. 有以下程序
程序运行后输出结果是( )。
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;
第 4 页,共 42 页
格式输出后为13.700000。