2016年浙江师范大学数理与信息工程学院C程序设计(同等学力加试)考研复试题库
● 摘要
一、选择题
1. 若有定义语句intx=12,y=8,z ;,
其后执行语句
A.1.9
B.1
C.2
D.2.4
答:B
由于z 定义为整型,故最终结果为1。
2. 若有函数声明
:
A. 函数参数array ,ptr 都是指针变量
B. 函数参数array 不是指针变量,ptr 是指针变量
C. 调用函数时,实参数组的值将一一复制给array 数组
D. 调用函数时,array 是按值传送,ptr 是按地址传送
答:A
【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。
3. 设已有定义: float x;
则以下对指针变量p 进行定义且赋初值的语句中正确的是( )。
A. B. C. D.
答:A
【解析】A 项正确,p 是float 类型的指针,指向x 的存储单元;B 项错误,p 是int 类型的指针,只能指向 int 变量的存储单元;C 项错误,p 的float 类型的变量,是取变量x 的地址,不能把地址赋值给float 类型变量;D 项错误,p 是指向float 类型的指针,不能使用常整型赋值。
4. 以下选项中正确的定义语句是( )。
A.doublea ;b ;
B.double3,-b-l ;
C.doublea=7,b-1;
则z 的值为。 【解析】根据优先级先计算x/y, 即12/8,由于是整型,故x/y的值为1,接着计算0.9+1=1.9,以下叙述正确的是( )。
D.double ,a ,b ;
答:c
【解析】定义同一类型的变量时,不同变量之间需要用“,”分隔。A 项错误,a 和b 之间缺少逗号而用分号,是不正确的,分号是语句结束标志;B 项错误,定义变量的同时为变量初始化赋值不能用连等;D 项错误,在double 和a 之间多了一个逗号,变量类型说明后面不应用逗号,应用空格分离。
5. 有语句
:
A.
B..
c.
D.
答:D 以下选项中,与此语句功能相同的是( )。
.
_如果为假,直接返回0, 如果为真,再判断y 为真返回为1,否则返回0, 综合所知,只有时返回1,否则返回0。 6. 对于一个正常运行的C 程序,以下叙述中正确的是( )。 A. 程序的执行总是从程序的第一个函数开始,在main 函数结束 B. 程序的执行总是从main 函数开始 C. 程序的执行总是从main 函数开始,在程序的最后一个函数中结束 D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 答:B 【解析】一个正常运行的C 程序总是从main 函数开始执行,最后返回到main 函数结束。 7. 以下叙述中正确的是( )。 A. 在算法设计时,可以把复杂任务分解成一些简单的子任务 B. 在C 语言程序设计中,所有函数必须保存在一个源文件中 C. 只要包含了三种基本结构的算法就是结构化程序 D. 结构化程序必须包含所有的三种基本结构,缺一不可 答:A 【解析】A 项正确,模块化的程序设计方法;B 项错误,C 语言中,函数可以放在不同的源文件中;CD 两项错误,由三种基本结构所构成的程序称为结构化程序,三种基本结构可以任意组合。 8. 表达式: A.4 B.0 C.3 D.5 的值是( )。 答:C 【解析】 9. 有如下程序: 程序运行时,从键盘输入2<回车>,输出结果是( )。 A.ykpf B.wind C.xjoe D.2222 答:A 【解析】程序执行过程为:定义字符数组str 并且初始化为:“wind”,定义password 并通过scanf 函数从 键盘为其赋值2。定义指针p 并使其指向字符串。通过while 循环,将字符数组中每一个字符的码加2, 并且按字符格式输出每一个字符。程序运行后输出结果是:ykpf 。 10.以下选项中,合法的一组C 语言数值常量是( )。 答:A 【解析】A 项,C 语言中小数必须要有小数点,但是小数部分可以省略,12. 是合法的常量;C 语言中十六进制数以或开头,表示是指十六进制数在C 语言中,或后跟一个整数来表示以10为底的幂数,面的数字只能在0~7之间。C 项,B 项,028表示的是八进制,以0开头,0后值为4, 值为1,相减值为3。 e 后面只能跟整数,Oabc 表示八进制,0后面的数字只能在0~7之间;D 项,10, 000中不能有逗号。 二、设计题