试卷代号:1075 座位号■■ 中央广播电视大学2010一2011学年度第二学期“开放本科”期末考试 C十十语言程序设计试题 2011年7月 题 号 二 三 四 五 总分 分 数 得 分 评卷人 一、单选题(每小题2分,共20分) 1.枚举类型中的每个枚举常量的值都是一个( )值。 A.整数 B.浮点数 C.字符 ID.逻辑 2.设x和y均为bool量,则逻辑表达式xI|y为假的条件是()。 A.它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假 3.声明或定义一个内联函数时,必须在函数开始使用保留字()。 A.static B.const C.extern D.inline 4.在下面的函数声明中,存在着语法错误的是( )。 A.BC(int a,int); B.BC(int,int); C.BC(int,int b=5); D.BC(int x;int y); 5.假定a为一个整型数组名,则元素a[4]与( )的表示等价。 A.a+4 B.*a+4 C.x(a+4) D.*(a+16) 546
试卷代号 7 5 座位号, 中央广播电视大学 1学年度第二学期"开放本科"期末考试 2011 年7 得分|评卷人 一、单选题(每小题 1. 枚举 每个 )值。 l\. C. 符I). 2. 为booI 表 达 II )。 A. B. C. I). 3. 义 一 须在 始使 )。 A. static C. extern B. const D. inline 4. 错误 )。 A. BC(int a , int); B. BC(int , int); C:. BC(int , int b==5); D. BC(int X; int y); 5. 定a 数组 素a[4] )的表示等价 A. B. C/O D. 关(a+16) 546
6.循环语句“for(i=0;i<n;i++);”执行结束后得到的i的值为( )。 A.n B.n+1 C.n-1 D.2n 7.将两个字符串连接起来组成一个字符串时,选用( )函数。 A.strlen() B.strcpy() C.strcat() D.stremp() 8.C十十编译预处理命令在程序中都是以( )字符开头的。 A. B.# C.& D.@ 9.假定有结构类型的定义为“struct BOOK{char title[I0];double price;};”,则该结构 类型的长度为( )个字节。 A.9 B.12 C.16 D.18 10.假定AB为一个类,Px为指向该类动态对象数组的指针,该数组长度为n,则执行 “delete]px;”语句时,自动调用该类析构函数的次数为()。 A.1 B.n C.n-1 D.n+1 得 分 评卷人 二、填空题(每小题2分,共20分) 11.执行“cout<<"x1="<<12*4;”语句后得到的输出结果为 12.在c十+语言中,用转义字符序列 表示输出一个换行。 13.int类型的大小为 个字节。 14.假定y的值为8,则增量表达式++y的值为 15.假定a的值为整型数值25,则算术表达式a%3的值为 16.结束所在循环类语句或switch语句执行的中断语句的保留字为 17.函数调用时,实参向形参的传送分为 传送和值传送两种方式。 18.假定a是一个一维数组,则a[i门的指针访问方式为 19.假定一个结构类型的定义为"struet C{double a[5];intn:};",则该类型的大小为 个字节。 20.若要在程序中进行 的输入输出操作,则必须在开始的共inlude预处理命令 中使用fstream.h头文件。 547
6. 句"forCi=O; i<n; ;"执行结束后得到的i的值为( )。 A. n c. n-l B. D. 2n 7. 连 接 来组 一个字 符 )函数。 A. strlen() c. streat() AMh ••‘ B.DSSCC 8. 十 十 译预 程序 都是 )字符开头的。 A. 铃R.# c. &.. f). @ 9. 义 为 . , struct BC)OK {char title[ 10]; double price; }户,则该结构 类型的长度为〈 A.9 c. 16 〉个字节 B. 12 D. 18 10. ,px 象 数 组 指 针 数 组 长 执 行 "delete 〔]pxg" 调 用 次数 )。 A. 1 B. n c. n-l I). 得分|评卷入 二、填空题(每小题 11. 行"cout<<"xl =="< <12 后 得 12. 用 转 个换 13. int 大 小 14. 为8 则 增 15. 定a 整 型 值25 算 术表达式a%3 16. 结束 循 环 或switch 语句执行的中断语句的保留字为 17. 值传 18. 定a 数组 则afi] 19. 假 定 飞trl川C(double,45];im m};" !J 大 小 20. 的输入输出操作,则必须在开始的兰 ude 处理 中使用 e a 547
得分 评卷人 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 21.include0){ sum十=n; n--; cout const int N=6; void main(){ inta[N]=(76,83,54,62,40,65}: int max=a[0]; for(int i=1;i<N;i++) if(a[i]max)max=ai]; cout<<"max="<<max<<endl; 运行结果: 548
得分|评卷人 三、写出下列每个程序运行后的输出结果(每小题 21. # include void main() { int n==5 , sum==O; while(n>O) { sum+==n; n- cout« 飞um=="«sum«endl; 运行结果: 22. # include const int N ==们 void main() { int a[N]=={76 ,83,54,62,40,65}; int max==a[O]; for(int i== 1; imax) max==a[i]; cout« 飞nax=="< <max<<endl; 运行结果: 548
23.include int LF(int x,int y) x=x+y;y=x+y; return x-+y; void main() int x=2,y=3; cout<<LF(x,y)<<endl; } 运行结果: 549
23. # include void main() { int a[8J=={4,8 ,20 ,30 ,48 int 关p==a s==O; while(p int LF(int x , int y) { x==x 十y; y==x 十y; return x+y; void rnain() int x==2 , y==3; cout<<L.F(x ,y)<<endl; 运行结果: 549
25.include class A{ int a,b; public: A(){a=b=0;} A(int aa,int bb)(a=aa;b=bb;} int Sum()(return a+b;) void main(){ Ax,y(3,4); cout=k)c十+; return c; } 函数功能: 27.bool SG(intx){//x为大于等于2的整数 for(int i=2;i<x;i++) if(x%==0)break; if(i==x)return true;else return false; 函数功能: 550
25. include class A { int a ,b; .. .LU'14 •..lJ EA ,,‘ l\() {a=b=O;} A (in t aa , int b b) {a == aa; h = bb; } int Sum() {return 十b \ .j' r{t ma•• , I n --,, A rt ·-'A A x ,yC3 , 4 ) ; cout«x. Sum()«' '«~yo Sum()«endl; 运行结果: 四、写出下列每个函数的功能(每小题 得分!评卷人 1K n..... • ,, -7 ···An +t n 1lJ , E ezka ·· , ' t \ .,n +L V S A intc==O; for(int i=O;i==k) ret urn c; 函数功能: 27r boolSC;Cint\x) { Ilx 等 于 for(int i==2; i<x; i+ if ( x ~~ i= == 0) bre ak ; if(i:::::: :=:: x) ret urn true; else ret urn false; 函数功能: 550
28.假定结构类型Worker中的name域表示姓名,age域表示年龄,pay域表示工资。 void QA(Worker a],int n){ for(int i=0;i>a[i].name>a[i].age>>a[i].pay; } 函数功能: 得分 评卷人 五、按题目要求编写函数(6分) 29.假定一个函数声明为“int FF(inta[门],intn);”,要求递归求出数组a中所有n个元素 之积并返回。 551
28. 型Worker 的name 表 示 姓 ,age ,pay 示 工 资 void QA(Worker int n) { for(int i=O; i>a[i]. name> >a[i]. age>>a[i]. pay; 函数功能: 得分|评卷入 五、按题目要求编写函数 F n a nn a n n rr 551
试卷代号:1075 中央广播电视大学2010一2011学年度第二学期“开放本科”期末考试 C++语言程序设计试题答案及评分标准 (供参考) 2011年7月 一、单选题(每小题2分,共20分) 1.A 2.C 3.D 4.D 5.C 6.A 7.C 8.B 9.D 10.B 二、填空题(每小题2分,共20分) 11.x1=48 12.八n 13.4 14.9 15.1 16.break 17.引用 18.(a+i) 19.44 20.文件 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 21.sum=15 22.max=83 23.68 24.13 25.07 /每个数据3分 552
试卷代号..: 1075 中央广播电视大学 1学年度第二学期"开放本科"期末考试 分标 (供参考) 2011 年7 一、单选题(每小题 2 0 1. A 6. A 2. C 7. C 3. D 8. B 4. D 9.0 5. C 10. B 二、填空题(每小题 11. xl == 48 12. '\n' 13. 4 14. 9 15. 1 16. break 17. 18. 19. 44 20. 三、写出下列每个程序运行后的输出结果(每小题 21. sum== 15 22. max==83 23. 68 24. 13 25. 0 7 552 //每个数据
四、写出下列每个函数的功能(每小题8分,共24分) 评分标准: 每题与参考答案的叙述含义相同者得8分,否则酌情给分。 26.统计出数组a的n个元素中大于等于参数k的值的元素个数并返回。 27.判断x是否为一个素数(或质数),若是则返回真,否则返回假。 28.从键盘上输人n个Worker结构类型的记录依次保存到一维数组a的对应元素中。 五、按题目要求编写函数(6分)】 29.评分标准: 根据编程的完整情况酌情给分。 int FF(int a],int n) { if(n==1)return a[n-1]; else return a[n-1]*FF(a,n-1); //或者if(n==0)return 1; / else return a[n-1]*FF(a,n-1); 553
四、写出下列每个函数的功能(每小题 8分,共 4分) 评分标准: 每题与参考答案的叙述含义相同者得 8分,否则酌情给分。 26. 个元 于等 于参数 27. 否 为 质数 ,若是则返回真,否则返回假。 28. 入n 个Worker 依次 组a 对应元 五、按题目要求编写函数 6分) 29. 根据编程的完整情况酌情给分 int FF(int int n) if(n=== === 1) return a[n-1J ; else return a[n 头:F'f'(a n-1) ; II (n === === 0) ret urn 1; I I else return a[ 头Ff"'(a ,n-l); 553