试卷代号:1075 座位号■■ 国家开放大学(中央广播电视大学)2015年春季学期“开放本科”期末考试 C十十语言程序设计试题 2015年7月 题 号 二 三 四 总 分 分 数 得 分 评卷人 一、单选题(每小题2分,共20分) 1.循环体至少被执行一次的语句为( )语句。 A.for循环 B.while循环 C.do循环 D.任一种循环 2.假定a为一个整型数组名,则元素a[4]与()的表示等价。 A.a+4 B.0a十4 C.*(a+4) D.*(a+16) 3.由C十+源程序文件编译而成的目标文件的缺省扩展名为( )。 A.obj B.lik C.exe D.cpp 4.在下面的二维数组定义中,只有( )语句是正确的。 A.int a[5]] B.inta[](10); C.int a[]]; D.inta[][5]=({1,2,3},{4,5}; 5.程序运行中需要从键盘上输人多于一个数据时,各数据之间应使用( )符号作为分 隔符。 A.空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车 6.设x是一个bool型的逻辑量,y的值为10,则表达式×&&y的值为()。 A.1 B.0 C.与x值相同 D.与x值相反 324
试卷代号 :1075 座位号 国家开放大学(中央广播电视大学 )2015 年春季学期"开放本科"期末考试 c+ 十语言程序设计试题 题号|一|二|三|四|总分| |分数 |得分|评卷人| | ,-1 一、单选题{每小题 分,共叫 1.循环体至少被执行一次的语句为( )语句。 A. for 循环 B. while 循环 C. do 循环 D. 任一种循环 2. 假定 为一个整型数组名,则元素 a[4J 与( )的表示等价。 A. a+4 c.铃 (a+ 4) D.祷 (a+16) 3. c+ 十源程序文件编译而成的目标文件的缺省扩展名为( )。 A.obj B. lik C. exe D. cpp 4. 在下面的二维数组定义中,只有( )语句是正确的。 A. int a[5J[]; B. int a[] (lO); 2015 C. int 口口 D. int a[J[5J = { {1 , 2 , 3} ,{ 4 , 5} } ; 5. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符号作为分 隔符。 A. 空格或逗号 c.逗号或分号 B. 逗号或回车 D. 空格或回车 6. 是一个 bool 型的逻辑量, 的值为 10 ,则表达式 x&.&.y 的值为( )。 A.1 B.O C 与 值相同 D.与 值相反 324
7.若函数声明为double*function(),则该函数的返回值为( )。 A.实数型 B.实数指针型 C.函数指针型 D.数组型 8.假定变量m定义为“intm=7;”,则定义变量p的正确语句为( )。 A.int p=&m; B.int p=&m; C.int &p=*m; D.int p=m; 9.假定AB为一个类,则执行“ABa(4),b[5],*p[5]:”语句时,自动调用该类构造函数 的次数为( )。 A.4 B.5 C.6 D.14 10.当需要使用ifstream流类定义一个流对象并联系一个磁盘文件时,应在文件开始使用 #include命令,使之包含()头文件。 A.strstrea.h B.stdlib.h C.iostream.h D.fstream.h 得 分 评卷人 二、填空题(每小题2分,共20分)】 ll.假定一个枚举类型的定义为“enum RA{ab,ac,ad,ae};”,则ac的值为 12.若x=5,y=15,则x>y的逻辑值为 13.假定x=7,则表达式3十x十+的值为 14.假定一维数组定义为“inta[6];”,则该数组所含元素的个数为 15.设p指向一个类的动态分配的对象,则执行“delete p;”语句时,将自动调用该类的 l6.执行“cout<<char(’A’十4);”语句后得到的输出结果为 17.在C十十每个程序行的后面或单独一行的开始使用注释的标记符为 l8.假定一个结构类型的定义为“struct A{double a,b;A*c;};”,则该类型的大小为 字节。 19.假定一个二维数组的定义为“inta[3][6];”,则该数组含有 个元素。 20.在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的 使其初始化。 325
7. 若函数声明为 double functionO ,则该函数的返回值为( )。 A. 实数型 B. 实数指针型 c.函数指针型 D. 数组型 8. 假定变量 定义为"intm=7;" ,则定义变量 的正确语句为)。 A. int p= &.m; C. Ìnt &.p= m; B. int p=&.m; D. int p=m; 9. 假定 AB 为一个类,则执行 "AB a(4) , b[5] ,替 p[5];" 语句时,自动调用该类构造函数 的次数为( )。 A.4 B.5 C. 6 D.14 10. 当需要使用 ifstream 流类定义一个流对象并联系一个磁盘文件时,应在文件开始使用 # include 命令,使之包含( )头文件。 A. strstrea. h B. stdlib. h C. Ìostream. h D. fstream. h 二、填空题(每小题 分,共 20 分} 1.假定一个枚举类型的定义为"enum RA{ab ,缸, ad ae} 户,则 ac 的值为 12. x=5 y=15 ,则 x>y 的逻辑值为 13. 假定 x=7 ,则表达式 十十的值为 14. 假定一维数组定义为"Ìnt a[6] 户,则该数组所含元素的个数为 15. 指向一个类的动态分配的对象,则执行 "delete p;" 语句时,将自动调用该类的 16. 执行"cout< <char(' A' 十的"语句后得到的输出结果为 17. c++ 每个程序行的后面或单独一行的开始使用注释的标记符为一一一一 18. 假定一个结构类型的定义为 "struct A {double a , b; c; }户,则该类型的大小为 字节。 19. 假定一个二维数组的定义为"int a[3][6];" ,则该数组含有 个元素。 20. 在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的 使其初始化。 325
得分 评卷人 三、写出下列每个程序的运行结果(每小题6分,共36分) 21..#include<iostream.h> int WF(int x,int y){ x=x+y; y=x十y: return x+y;) void main(){ cout<<WF(8,5)<<endl; 运行结果: 22.#include<iostream.h void main(){ inta[6]={36,25,48,14,55,40}, int b1=a[0]; for(int i=1;i<6;++) if(a[i]>b1)b1=a[i]; cout<<“bl=”<<bl<<endl; } 运行结果: 23.include<iostream.h void main(){ inta[10]={12,39,26,41,55,63,72,40,83,95}; inti0=0,il=0,i2=0; for(int i=0;i<10;i++) switch(ai]3){ case 0:i0++;break; 326
|得分|评卷人| | 三、写出下列每个程序的运行结果{每小题 分,共 36 分} 21. . # include<iostream. h> int WF(int x ,int y) { x=x y; y=x+y; return x+ y; } void mainO{ cout< <WF( 8 ,5) < <endl; 运行结果= 22. # include<iostream. h> void main () { int a[6]= {36 ,25 ,48 ,14 ,55 ,40}; int b1=a[0]; for(int i=1;i<6;i++) if(a[i]>bl) b1 =a[i]; cout<<"b1="<<b1<<endl; 运行结果 23. # include<iostream. h> void mainO { 326 int a[10]= {12 ,39 ,26 ,41 ,55 , 63 ,72 ,40 ,83 ,95}; int iO=0 ,i1=0 ,i2=0; for(int i=0 ;i<10;i++) switch(a[i] %3) { case 0: iO + + ; break;
case 1:i1++;break; case 2:2++; } cout<<i0<<’’<<il<<’’<<i2<<endl; } 运行结果: 24.#include<iostream.h> void main(){ inta[3][4]={{1,2,7,8},{5,6,11,15},{9,20,3,4}); intm=a[0][0]; for(int i=0;i<3;i++) for(int j=0;j<4;j++) if(aCi]j]>m)m=aCi]]; cout<<m<<endl; } 运行结果: 25.include<iostream.h #include<string.h> void main(){ char af5]={"student","worker","cadre","soldier","apen"); unsigned int n=strlen(a[O]); for(int i=1;i<5;i++) if(strlen(a[i])>n)n=strlen(afi]); } cout<<n<<endl; } 运行结果: 26.#include<iostream.h 327
case 1: il + + ; break; case 2: i2 + + ; cout<<iO<<' '<<il<<' '<<i2<<endl; 运行结果 24. # include<iostrearn. h> void rnainO { int a[3][4]={{1.2.7. 剖, {5.6.11.1 .{9.20.3. 的}; int rn=a[O][O]; for(int i=O ;i<3;i++) for Cint j=O;j<4;j++) if( a[i][j]>rn) rn=a[i][j]; cout<<rn<<endl; 运行结果 25. include<iostrearn. h> # include<string. h> void rnainO { char a[5] = {" student" • "worker" • "cadre" • "soldier" .飞pen"}; unsigned int n=strlen(a[O]); for(int i=1 ;i<5;i++){ if(strlen(a[i])>n) n=strlen(a[i]); cout< <n< <endl; 运行结果 26. # include<iostrearn. h> 327
struct AB{ char aa[15]; int bb; ; void main(){ ABa[4]={"Apple",25},{"Peach",40},{"Pear",36},{"Tomato'",62}}: for(int i=0;i<4;++) if(a[i].bb<35)cout<<ali].aa<<' cout<<endl; } 运行结果: 得分 评卷人 四、写出下列每个函数的功能(每小题8分,共24分) 27.int Fun(int at],int n)( double s=0; int i,m=0; for(i=0;i<n;i++)s+=a[i门; s=s/n; for(i=0;i<n;i++)if(ati]>=s)m++; return m; } 函数功能: 28.int WG(int a,int b){ if(a>0&&b>0)return 1; else if(a<o&&b<<o)return-1; else return 0; } 328
struct AB{ char aa[15]; int bb; void mainO { AB a[4J={{"Apple" 日,{ "Peach" ,40}. {"Pear" ,36} , {"Tomato" , 62}}; for(int i=0;i<4;i 十十) if( a[i]. bb<35) cout< <a[iJ. aa< <' , cout< < endl; 运行结果= |得分|评卷人| | 四、写出下列每个函数的功能(每小题 分,共 24 分} 27. int Fun(int 口, int n) { double s=O; int i,m=O; for(i=O ;i<n;i++) =a[iJ; s=s/ for(i=O;i<n;i++) if(a[i]>=s) m+ 十; return 1; 函数功能: 28. int WG( Înt a , int b){ if(a>O &'&'b>O) return 1; else if(a<O &. &. b<O) return ; else return 0; 328