试卷代号:1075 座位号■■ 中央广播电视大学2012一2013学年度第二学期“开放本科”期末考试 C十十语言程序设计试题 2013年7月 题 号 二 三 四 总 分 分 数 得分 评卷人 一、单选题(每小题2分,共20分) 1.下面的保留字( )不能作为函数的返回类型。 A.void B.int C.new D.long 2.在每个C十十程序中都必须包含有这样一个函数,该函数的函数名为()。 A.main B.MAIN C.name D.function 3.设x和y均为bool量,则逻辑表达式xy为假的条件是()。 A.x和y均为真 B.其中一个为真 C.x和y均为假 D.其中一个为假 4.若用数组名作为函数调用的实参,传递给形参的是( A.数组的首地址 B.数组中第一个元素的值 C.数组全部元素的值 D.数组元素的个数 5.将两个字符串连接起来组成一个字符串时,选用( )函数。 A.strlen() B.strcpy() C.strcat() D.stremp() 6.在下面的二维数组定义中,只有( )语句是正确的。 A.int a[5]; B.int a[](10); C.int a]]; D.inta[][5]={1,2,3},{4,5}: 428
试卷代号 座位号IT] 中央广播电视大学 3学年度第二学期"开放本科"期末考试 c+ 程序 设 2013 年7 |题号 - |分数 I I I I I 得分|评卷人 一、单选题{每小题 2分,共 0分) 1.下面的保留字( )不能作为函数的返回类型。 A. void B. int C. new D. long 2. 在每 + + 都必须包含 这样 )。 A. main C. name B. MAIN D. function 3. 设x 和y 为bool 逻辑表达式xlly 条件是 )。 A. C.x 假D. 4. 给形 )。 A. B. 第一个元 c.数组全部元素的值D.数组元素的个数 5. 将两 连接 个字 )函数。 A. strlenO C. strcatO 6. 在下面 组定义 A. int a[5][]; C. int a[][] ; 428 B. strcpyO D. strcmpO )语句是正确的。 B. int a[] C1 O) ; D. int a[][5]={ {l ,2 ,3} ,{4 ,5}};
7.枚举类型中的每个枚举常量的值都是一个( )。 A.整数 B.浮点数 C.字符 D.逻辑值 8.假定指针变量p定义为“int*p=new int[30];”,要释放p所指向的动态数组空间,则 使用下面的( )语句。 A.delete p; B.delete *p; C.delete &p; D.delete []p; 9.当一个字符指针指向具有个字节的存储空间时,它所能存储字符串的最大长度为 () A.n B.n+1 C.n-1 D.n-2 10.当需要使用ifstream流类定义一个流对象并联系一个磁盘文件时,应在文件开始使 用#include命令,使之包含( )头文件。 A.strstrea.h B.stdlib.h C.iostream.h D.fstream.h 得 分 评卷人 二、填空题(每小题2分,共20分) 11.C++源程序文件的缺省扩展名为 12.结束所在循环类语句或switch语句执行的中断语句的保留字为 13.假定y=8,则执行++y*4运算后,y的值为 14.每个字符指针变量占用内存 个字节。 15.关系表达式x<5的相反表达式为 16.假定整数变量x=48,则x/6的运算结果为 17.假定一个二维数组的定义语句为“inta[3[5]:”,则该数组包含有 个整型元素。 18.函数被调用时,实参向形参的传送分为引用传送和 传送两种方式 l9.假定一个结构类型的定义为“struct B{inta[4];char*b;};”,则该类型的大小为 字节。 20.在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的 使其初始化。 429
7. 枚举类 个枚 都是 )。 A. 数B.浮点 c.字符 .逻辑值 8. 假定 量p 定义为"int * p=new int[30J 要 释放p 动 态 使用下面的( )语句。 A. delete p; C. delete &. p; B. delete 骨p; D. delete [Jp; 9. 指针指 字节 字符 最大 ( ) A. n C. n-1 B. n+1 D. n-2 10. 用ifstream 定义一 象并联 个磁盘文件 文件 用# include 之包含 )头文件。 A. strstrea. h C. iostream. h 得分|评卷人 B. stdlib. h D. fstream. h 二、填空题{每小题 2分,共 0分} 11. 12. 束所 环类 或switch 执行 断语 13. 执行 11. 针变 一一 个字节 15. 表达式x<5 表达 16. 假定 量x=48 则x/6 算结果 17. 假定 个二维数组 为"int a[3J[5J;" 该数 有一一 18. 被调用时 送分 19. 假定 个结 定 义 为"struct B{int a [4J; char 祷b;};",则该类型的大小为 字节。 20. 执 行 每个对 象 过 程 调 用 使其初始化。 429
得分 评卷人 三、写出下列每个程序的运行结果(每小题6分,共36分) 21.include<iostream.h void main(){ int s1=0; for(inti=1;i<=4;i++)s1+=2*i; cout<<"s1="<<s<<endl; } 运行结果: 22.include<iostream.h> void main()( int n=5,sum=0; while(n){ sum+=n米n; n-一; } cout<<”sum=”<<sum<<endl; 运行结果: 23.include<iostream.h> void main()( inta[3][4]={1,2,7,8},{5,6,11,15},{9,21,3,4}}; int m=a[O][0]; for(int i=0;i<3;i++) for(int j=0;j<4;j++) if(a[i]j>m)m=aLi]j]; cout<<m<<endl; } 运行结果: 430
得分|评卷人 三、写出下列每个程序的运行结果(每小题 21. :# include<iostream. h> void mainO { int s1=0; for Cint 口1;i<=4; i++) s]+=2 势i; cout<<"s1 = "<<s]«endl; 运行结果: 22. :# include<iostream. h> void mainO { int n=5 , sum=O; while(n) { sum+=n 旋n; n--; cout<<"sum="<<sum<<endl; 运行结果: 23. :# include<iostream. h> void mainC) { int a[3J[4J= {{ 1. l, 21, int m=a[O][O]; forCint i=0;i<3;i++) forCint j=O;j<4;j++) if(a[iJ[j]>m) m'=a[iJ[j cout<<m<<endl; 运行结果: 430
24.include<iostream.h> void main(){ int a=1,b=2,c; c=a十b; int b=a+2; c+=a+b; } cout<<c<<endl; } 运行结果: 25.include<iostream.h> void main()( inta[8]={6,19,4,12,20,5,18,25}; int p,s=0; for(p=a;p<a+8;p++) if(*p<10)s+=*p: cout<<s<<endl; } 运行结果: 26.include<iostream.h #include<string.h> struct Worker char name[15];int age;float pay; }; void main() Worker x; strcpy(x.name,"WangRong"); x.age=45;x.pay=3275; cout<<x,name<<’’<<x.age<<’’<<x.pay<<endl; 运行结果: 431
24. :1* include<iostream. h> void main () { int a=1 ,b=2 ,c; c=a+b; { int b=a+2; 十=a十b; cout«c«endl; 运行结果: 25. :1* include<iostream. h> void mainO { int a[8]= {6 ,19 ,4,12 ,20,5,18,25}; int 铸p ,s=o; for(p=a; p<a+8;p++) if< * p<10) s+ =铸 cout<<s<<endl; 运行结果: 26. :1* include<iostream. h> :1* include<string. h> struct Worker{ char name[l5]; int age;float pay; void mainO { Worker x; strcpy( x. name ,"WangRong") ; x. age=45; x. pay=3275; cout<< x. name< <罗 age«' '«x. pay«endl; 运行结果 431
得分 评卷人 四、写出下列每个函数的功能(每小题8分,共24分) 27.int WC(int a],int n,int k)( int c=0; for(int i=0;i<n;i++) if(a[i]>=k)c++; return c; 函数功能: 28.int SC(int a,int b,int c){ if(a>b)a=b; if(a>c)a=c; return a; } 函数功能: 29.假定结构类型Worker中的name域表示姓名,age域表示年龄,pay域表示工资, void QA(Worker a[],int n) for(int i=0;i<n;i++) cin>>ali].name>>ali].age>>a[i].pay; 函数功能: 432
|得分|评卷人| I I I 四、写出下列每个函数的功能(每小题 8分,共 4分) 27. int WC (int int n , int k) { int c=O; for (int i=O;i<n;i++) if(a[i]>=k) c+ return c; 函数功能: 28. int SC(int a , int b , int c) { if(a>b) a=b; if(a>c) a=c; return a; 函数功能: 29. 定结构 型Worker 的name 域表示姓 ,age 表示年龄.pay 域表 工资 void QA(Worker ,int n) { for (int i=O;i<n;i++) cin>>a[i]. name> >a[i]. age>>a[i]. pay; 函数功能 432