1、试卷代号:1253 座位号国家开放大学(中央广播电视大学)2017年秋季学期“开放本科”期末考试C 语言程序设计 试题2018年1月题 号二三四总 分分 数得 分评卷人一、单项选择题(把合适的选项编号填写在括号内。每小题2分,共28分)1.在每个C 语言程序中都必须包含有这样一个函数,该函数的函数名为( )。A. main B. MAINC. name D. function2. 用于输出表达式值的标准输出函数是( )。A. scanf() B. print()C. printf() D. output()3. 由C 语言源程序文件编译而成的目标文件的扩展名为( )。A. cpp B. exe
2、C. obj D. C4. 运算符优先级最高的是( )。A.() B.=C.+ D.aC. x(a) D. xa13. 标准输入设备键盘的文件流标识符是( )。A. stdin B.stdoutC. stderr D. stdio14. 从一个文本文件中读取一个字符的系统函数为( )。A. fputc() B. fgets()C. fputs() D. fgetc()728得 分评卷人二、是非判断题(根据叙述正确与否在其后面的括号内打对号“ ”或叉号“”。每小题2分,共30分)15.在 C 语言程序中,只有一种使用注释语句的方法。( )16. 常数3.26是双精度定点数。( )17. 表达式(
3、float)25/4 的值为6。( )18. 已知 x=-25, 则 fabs(x) 的值为-25.0。( )19.while 循环是先判断循环条件,当条件为真时执行循环体。( )20. 在一维数组的定义语句中,数组名后带有一对中括号。( )21. 字符串允许为空,并且其长度为0。( )22. 一个二维字符数组 a1020 中存储每个字符串的最大长度为20。( )23. 假定a 是一个一维数组,则进行a+ 运算是不允许的。( )24. 在一个函数定义中,函数体是一条简单语句。( )25. 在 C 语言程序中,对于递归函数和非递归函数,其函数头部有区别标志。( )26. 在结构类型的定义中,结构
4、类型的作用域范围,与它的定义位置有关。( )27. 在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构指针变量。( )28. 在一个磁盘数据文件的文件名中,文件主名是必须的,扩展名可任选使用。( )29. 对二进制文件进行读和写操作将使用不同的系统函数。( )得 分评卷人三、程序填空题(分析程序后把合适的内容填写在括号内。每小题6分,共30分)30. 执行下面程序的输出结果为( )。#includevoid main()int x=5,y=0;switch(2* x-3)case 4:y+=x;break;case 7:y+=2*x+1;break;729case 10:y+=3*x;
5、break;printf(y=%dn,y);31. 执行下面程序的输出结果为( )。#includevoid main()int i=0,s=0;while(s30)i+=2;s+=i*i;printf(s=%dn,s);32. 执行下面程序的输出结果为( )。#includevoid main()int a8=10,8,16,15,9,21,7,16;int i,x=a0;for(i=1;i8;i+)if(aix)x=ai;printf(x=%dn,x);33. 执行下面程序的输出结果为( )。#includevoid main()int a33=3,8,6,5,9,2,8,5,12;int
6、 i,j,s=0;for(i=0;i3;i+)for(j=0;j3;j+)if(aij%3=0)s+=aij;printf(s=%dn,s);730得 分四、编程题(按题目要求编写程序或函数。每小题6分,共12分)34. 执 行 下 面 程 序 的 输 出 结 果 为 ( )。#includevoid main()int a33=2,3,4,5,6,8,1,5,2;int *p=(int*)a;int s=0;while(p(int*)a+9)s+=*p+;printf(%dn,s);评卷人35. 按 照“int FF(int a,int n)”的函数声明,补充完整下面的递归函数的定义,求出数
7、组 a 中所有n 个元素之积并返回。int FF(int a,int n)if(n=0)printf(n 值非法n),exit(1);73136. 补充完善下面的一个主函数,假定函数体中定义的整数变量a 和 b 的取值范围分别为:6a50,10b30,求出满足不定方程3a+2b=120 的全部整数组解。如(20,30)就是其中的一组解。void main()int a,b;732试卷代号:1253国家开放大学(中央广播电视大学)2017年秋季学期“开放本科”期末考试C 语言程序设计 试题答案及评分标准(供参考)2018年1月一 、单项选择题(把合适的选项编号填写在括号内。每小题2分,共28分)
8、1.A 2.C 3.C 4.A 5.B6.D 7.A 8.D 9.D 10.B11.A 12.B 13.A 14.D二、是非判断题(根据叙述正确与否在其括号内打对号“ ”或叉号“”。每小题2分,共30 分)15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 三、程序填空题(分析程序后把合适的内容填写在括号内。每小题6分,共30分) 30.y=11 31. s=56 32. x=7 33.s=30 34.36四、编程题(按题目要求编写程序或函数。每小题6分,共12分) 评分标准:根据程序或函数编写的正确与完整程度酌情给分。 35.int FF(int a, int n)if(n=0)printf(n 值非法n),exit(1);if(n=1)return a0;/2 分else return an- 1*FF(a,n- 1);/6 分36. void main()int a,b;for(a=6;a=50;a+)/1 分for(b=10;b=30;b+)/3 分if(3*a+2*b=120)printf(%d,%d)n,a,b);/6 分733