试卷代号:1075 座位号■☐ 中央广播电视大学2011-2012学年度第二学期“开放本科”期末考试 C十+语言程序设计试题 2012年7月 题 号 二 三 四 五 总分 分】 数 得 分 评卷人 一、单选题(每小题2分,共20分) 1.在C十十程序中相对独立的功能模块为( )。 A.表达式 B.标识符 C.语句 D.函数 2.存储以下数据,占用存储字节最多的是( )。 A.0 B.0’ C."o” D.八n' 3.在下面的一维数组定义中,有语法错误的是()。 A.inta[]={1,2,3}; B.inta[10]={0}; C.int a[]; D.int a[5]; 4.若整型变量x的值为25,则x/6的值为( )。 A.3 B.4 C.5 D.1 5.C+十语言中的每条简单语句以( )作为结束符。 A.逗号 B.分号 C.空格 D.换行符 547
试卷代号 座位号 中央广播电视大学 11 2012 学年度第二 开放 考试 语 言 设计 2012 年7 总分 分数 得分|评卷人 一、单选题(每小题 2分,共 0分) 1.在 + + 模块 )。 A. 表达式B. 识符 c.语句 2. 用存 节最多 )。 A. 0 B. '0' C. "0" D. '\n' 3. 下 面 定义 有语 错误 )。 A. jnt a[]={1 ,2 ,3}; B. jnt a[lO]={O}; C. jnt a[]; D. jnt a[5]; 4. 量x 为25 则x/6 )。 A. 3 B. 4 C. 5 D. 1 5.C++ )作为结束符。 A. 逗 号 B. c.空格D.换行符 547
6.随机函数表达式rand()%20的值在( )区间内。 A.119 B.1≈20 C.0~19 D.0≈20 7.当处理一个循环次数已知的问题时,则通常采用( )循环来解决。 A.for循环 B.while C.do循环 D.任何种 8.在下面for循环语句中,循环体S语句的执行次数为()。 for(int i=0;i<=20;i++)S; A.19 B.20 C.21 D.10 9.若函数声明为int*fun(),则该函数的返回值类型为( )。 A.整数型 B.字符型 C.逻辑型 D.整数指针型 10.假定m是一个整型变量,则下面定义的正确语句为( )。 A.int p=&m; B.int¥p=&m; C.int &p=*m; D.int p=m; 得 分 评卷人 二、填空题(每小题2分,共20分) 11.C++语言中每条复合语句以左花括号开始,并以 结束。 l2.假定-个字符数组的定义为“char a[l0]="abcdefg”;”,则a[5]的值为 13.十进制数25表示成符合C十十语言规则的八进制数为 14.表达式x=x十y表示成复合赋值表达式为 15.若x=5,则x>5的逻辑值为 16.假定一个一维数组的定义为“char¥a[8];”,则该数组占用 个字节的存储空间。 17.假定×的值为10,则表达式2+x+十的值为 18.假定p所指对象的值为25,p+1所指对象的值为46,则*+十p的值为 l9.假定要动态分配一个类型为int的具有n个元素的数组,并由r指向这个动态数组,则 使用的语句为intr 20.设px指向一个类的动态分配的对象,则执行“delete px;”语句时,将自动调用该类的 函数。 548
6. 表达式rand() %20 A. 1~19 C. 0~19 )区间内。 B. 1~20 D. 0~20 7. 处理一个 的 问 )循环来解决。 A. for while C. do 循环 D. 一种 8. 面for 执行次数 )。 for(int i=O; i<=20; 十 十 S; A. 19 B. 20 C. 21 D. 10 9. 为int* fu () )。 A. B. c.逻辑型D.整数指针型 10. 一 个整型变 则 下 面定 义 句 为 )。 A. int p=&m; C. int &p= 祷m; 得分 B. int 提p=&m; D. int 祷p=m; 结束。 个字节的存储空间。 二、填空题(每小题 2分,共 0分) 11. C++ 号 开 12. 一个字符 定 义 为"char a[10]= 飞bcdefg" 则a[5] 13. 成符 十 十 八进 14. 式x=x+y 达式 15. 若x=5 则x>5 16. 一个一 为"char 祷a[8] 数组 17. 定x 为10 式2+x+ 18. 定p 所 指 对 为25 , p+ 所 指 对 为16 十p 19. 定要 个类 为int 有n 由r 动 态 使用的语句为 20. 设px 个类 对象 行"dElete pxf' 动 调 用 函数。 548
得分 评卷人 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 21.include<iostream.h> void main()( int sl=0; for(int i=1;i<=5;i++)s1+=2*i; cout<<“sl=”<<sl<<endl; 输出结果: 22.#include<iostream.h> void main(){ inta[6]={6,9,12,18,15,20}; int c=0; for(int i=0;i<6;i++) if(a[i门%2==0)c++; cout<<"c="<<<<endl 输出结果: 23.include<iostream.h> void main(){ inta[3][4]={1,2,7,8},{5,6,32,15},{9,20,3,4}; int m=afo]o]; for(int i=0;i<3;i++) for(int j=0;j<4;j++) if(ati]j]>m)m=a[i]j]; cout<<m<<endl; 输出结果: 549
得分|评卷人 三、写出下列每个程序运行后的输出结果{每小题 1. 丰include<io5tream. h> void main() { int51=0; for(int i=l; i<=5; sl+ =2 祷i F cout<<"51 = "<<sl< <end!; 输出结果: 22. # include<iostream. h> void mainO { int a[6]={6 ,9 ,12 ,18 ,15 ,20}; int c=O; {or(int i=O; i<6; if(a[i] %2= =0) 十 十 cout« 飞=FF《c《endl; 输出结果: 23. 1:1: include<iostream. h> void mainO { int a[3][4]={ {1 ,2 ,7 ,{5 ,6 ,32 ,15} ,20 ,3 ,1}}; int m=a[O][O]; forCint i=O ;i<3;i 十 + {orCint 士O;j<4;j f(a[i][j丁>m) m=a[i][j]; cout«m«end!; 输出结果: 54.9
24.#include<iostream.h> void main(){ inta=10,b=15,c; c=a+b; int b=a+2; c+=b; cout<<<c+a+b<<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>=20)s十=米p; cout<<s<<endl; 输出结果: 得分 评卷人 四、写出下列每个函数的功能(每小题8分,共24分) 26.int FI(int n){ //n为大于等于1的整数 int x,y=0; do{ cin>>x; .y+=x米X; while(--n); return y; 函数功能: 550
24. # include<iostream. h> void mainO { int a=10 , b=15 , c; c=a十b; { int b=a+2; c+=b; cout<<c+a+b<<endl; 输出结果: 25. # 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++) f( 祷p>=20) 铃p; cout<<s<<endl; 输出结果: 得分|评卷人 四、写出下列每个函数的功能{每小题 26. int FI(int n) { int x ,y=O; do { lin 于等 cin»x; y+=x } while( 一-n) ; return y; 函数功能 550
27.bool WE(int a],int b[],int n){ for(int i=0;i<n;i++) if(aCi]!=b[i])break; if(i==n)return true;return false; } 函数功能: 28.int LK(int a],int n){ double s=0; int i,m=0; for(i=0;i<n;i++)s+=aCi]; s=s/n; for(i=0;i<n;i++)if(a[i]>=s)m++; return m; } 函数功能: 得分 评卷人 五、按题目要求编写函数(6分) 29.假定一个函数声明为“int fun(unsignedint n,unsigned int m);”,求出n和m的最大 公约数并返回。 551
27. bool WE(int int int n) { for(int i=O;i<n;i++) if(a[i]! =b[i]) break; if(i= =n) return true; r~tuin false; 函数功能: 28. int LK(int int n) { double s=O; int i.m=O; for(i= 0; i<n ;i 十)s+=a[i]; s=s/n; for(i=O;i<n;i+ if(a[i]>=s) m+ return m; 函数功能: 得分|评卷人 五、按题目要求编写函数 6分) 29. 定一 fun( unsignedint n. unsigned int m) 出n 和m 最大 公约数井返回。 551