logo资料库

2016年浙江宁波大学C程序设计考研真题.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
2016 年浙江宁波大学 C 程序设计考研真题 一、单项选择题: 本大题共 30 小题,每小题 3 分,共 90 分。在每小题列出的四个选项中只有一 个是符合题目要求的。错选、多选或未选均不得分。 1. 关于C语言中的函数,下列说法中错误的是___________ A) 函数定义可以分为两个部分,即函数说明部分和函数体 B) 主函数可以调用非主函数 C) 某个非主函数可以调用其它非主函数 D) 程序可以从任何函数开始执行 2. C 语言中 while 和 do-while 循环的主要区别是___________ A) do-while 的循环体至少无条件执行一次 B) while 的循环控制条件比 do-while 的循环控制条件严格 C) do-while 里面不允许使用 break D) do-while 里面不允许使用 continue 3. 在 C 语言程序中,以下说法正确的是___________ A) 函数的定义可以嵌套,但函数的调用不可以嵌套 B) 函数的定义不可以嵌套,但函数的调用可以嵌套 C) 函数的定义和函数的调用都不可以嵌套 D) 函数的定义和函数的调用都可以嵌套 4. 下列字符列中,能作为某个变量的标识符是___________ A) ?a B) a=2 C) a.3 D) a_3 5. 在以字节存储字符的系统中,字符‘\n ’在内存占用的字节数是___________ A) 1 B) 2 C) 3 D) 4 6. 下面的数字中,合法的长整型常数是___________ A) 0L B) 4962710 C) 0.054838743 D) 2.1869e10 7. 下面正确表示字符常量的是___________ A) "\n" B) '\t' C) "0" D) 65 8. 输出字符型变量 x 与整型变量 y,下列 printf 语句使用正确的是___________ A) printf ("%f%s", x, y); B) printf ("%lf%c", x, y) ; C) printf ("%c%d", x, y);
D) scanf ("%f%c", x, y) ; 9. 为表示关系 x≥y≥z,应使用 C 语言表达式___________ A) (x>=y>=z) B) (x>=y) AND (y>=z) C) (x>=y) && (y>=z) D) (x>=y) & (y>=z) 10. C 语言对 if 嵌套语句的规定 else 总是与___________配对。 A) 第一个 if B) 之前最近的且尚未配对的 if C) 缩进位置相同的 if D) 之前最近的 if 11. 已知整数变量 a 为 10,b 为 3,则 a&b 的值为___________ A) 1 B) 0 C) 13 D) 2 12. 设有定义:char s[12]={“string”};则 printf(“%d\n”, strlen(s));的输出是 ___________ A) 6 B) 7 C) 11 D) 12 13. 设有定义:int a[6]={1,2,3,4,5,6}; 则 a[6]的值为___________ A) 4 B) 5 C) 6 D) 已经超出范围 14. 若有说明语句“int a[10], *p=a;”,对数组元素的正确引用是___________ A) a[p] B) p[a] C) *(p+2) D) p+2 15. 以下定义数组的语句错误的是___________ A) int num[]={1, 2, 3, 4, 5, 6}; B) int num[][3]={{1, 2}, 3, 4, 5, 6}; C) int num[2][4]={{1, 2}, {3, 4}, {5, 6}}; D) int num[][4]={1, 2, 3, 4, 5, 6}; 16. 若有定义:“int a[2][3];”,则对 a 数组的第 i 行第 j 列元素的正确引用为 ___________ A) *(*(a+i)+j) B) (a+i)[j] C) *(a+i+j) D) *(a+i)+j 17. 两个指针变量不可以___________
A) 相加 B) 相减 C) 比较 D) 指向同一个地址 18. 以下对枚举类型名的定义中,正确的是___________ A) enum a ={one, two, three}; B) enum a{a1, a2, a3}; C) enum a ={‘1’, ‘2’, ‘3’}; D) enum a {“one”, “two”, “three” }; 19. 在下列代码中,正确的 C 代码是___________ A) # define MYNAME=“ABC” B) # include string.h C) for (i=0; i<10; i++); D) struct int stu { int name; }; 20. 假设 var1, var2, var3, var4, var5 是 5 个整形变量,有如下函数调用语句: func(var1, var2+var3, var4, var5);该函数调用语句中,含有的实参个数是___________ A) 3 B) 4 C) 5 D) 6 21. 下列语句中,将 c 定义为文件型指针的是___________ A) FILE c; B) FILE *c; C) file c; D) file *c; 22. 函数 fseek(pFile,0L,SEEK_CUR)中的 SEEK_CUR 代表的起始点是___________ A) 文件开始 B) 文件末尾 C) 文件当前位置 D) 以上都不对 23. 设有定义 struct {int x, y;} d[2] = {{1,3},{2,7}}; 那么 printf(“%d\n”, d[0].y/d[0].x*d[l].x); 的输出是___________ A) 0 B) 1 C) 3 D) 6 24. 关于链表,下面说法正确的是___________ A) 链表不能在表头插入元素或者删除元素 B) 链表支持随机存取 C) 链表中各元素的物理地址连续 D) 链表属于动态数据结构 25. 若 k 是 int 类型变量,有以下 for 语句:
for(k=-1; k=1; k++) printf("OK\n"); 下面关于语句执行情况的叙述中正确的是___________ A) 循环体执行两次 B) 循环体执行一次 C) 循环体一次也不执行 D) 构成无限循环 26. 设 a=15; 则执行 a += a -= a *= a 以后,a 的值为___________ A) 15 B) 30 C) 0 D) 225 27. 设 x, y, tmp 均为整形变量,则以下语句: tmp = x; x = y; y = tmp; 的功能是___________ A) 按从小到大排列 B) 按从大到小排列 C) 无确定结果 D) 交换 x 与 y 的值 28. 下面的程序 #include void main() { int a = 3; switch (--a) { case 2: printf("2"); case 3: printf("3"); } } 输出的结果是___________ A) 2 B) 23 C) 3 D) 32 29. 下面的程序 #include #define ABC(x) x * x void main(){ int a = 3; printf("%d\n", ABC(a + 1)); } 输出的结果是___________ A) 7 B) ABC C) 4
D) 16 30. 下面的程序 #include void main() { int a = 4; int b = a++; int c = a; printf("%d, %d, %d\n", a, b/2, c/2); } 输出的结果是___________ A) 5, 2, 2 B) 4, 2.5, 2.5 C) 4, 2.5, 2 D) 5, 2, 2.5 二、 编程题: 本大题共 4 小题,每小题 15 分,共 60 分。 1、这门课程的总评成绩。 【问题描述】 你这学期计算机应用基础课程的总评成绩=10%平时+40%上机实验+50%期末卷面考试;成 绩由优、良、中、及格、不及格五个等级来表示,其中: 总评成绩>=90,优 90>总评成绩>=80,良 80>总评成绩>=70,中 70>总评成绩>=60,及格 其他,不及格 【输入】 输入一个学生的平时成绩、上机实验成绩、期末卷面成绩(整型); 【输出】 请你输出该学生的成绩等级。 【样例输入】 80 90 85 【样例输出】 良 2、根据年龄计算生肖。 【问题描述】 在东南亚的很多国家,都有十二生肖的说法。以中国为例,2000 年为龙年(Dragon),接下 来依次是蛇(Snake),马(Horse),羊(Sheep),猴(Monkey),鸡(Cock),狗(Dog),猪(Boar), 鼠(Rat),牛(Ox),虎(Tiger),兔(Hare)。今年是 2015 年,请根据用户输入的年龄,输出 他(她) 的生肖。 【输入】 第一行的数字为测试数据的组数 N,接下来是 N 个人的年龄。 【输出】 相应的生肖。
【样例输入】 2 14 109 【样例输出】 Snake Horse 3、各位数字和。 【问题描述】 小明今年 4 岁了,正读幼儿园小班呢。老师为了测试孩子对加法的掌握程度,在黑板上随 手写了一些数字,让孩子们把各个位上的数字加一起,看看答案正确与否。 【输入】 第一行的数字为测试数据的组数 N,接下来每行有两个数字,前面的数字代表老师写下的 整数,后面的数字代表孩子运算的结果。 【输出】 如果正确输入 Right, 如果错误输出 Wrong。 【样例输入】 2 123 6 7890 20 【样例输出】 Right Wrong 4、复数的乘积。 【问题描述】 复数可表示成 a+bi,其中 a,b 都是实数, i*i = -1。现有 N 个复数,请计算它们的乘积。 输入复数的个数 N 及每个复数,输出它们的乘积。保留两位小数。 复数乘法公式:(a+bi)*(c+di)=(ac-bd)+(bc+ad)i 【输入】 N 个复数 【输出】 它们的乘积 【样例输入】 2 0.5 1 1 -0.5 【样例输出】 1.00 0.75
分享到:
收藏