试卷代号: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 int WF(int x,int y){ x=x+y; y=x十y: return x+y;) void main(){ coutb1)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 int WF(int x ,int y) { x=x y; y=x+y; return x+ y; } void mainO{ cout void main () { int a[6]= {36 ,25 ,48 ,14 ,55 ,40}; int b1=a[0]; for(int i=1;ibl) b1 =a[i]; cout 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 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;im)m=aCi]]; cout void main(){ char af5]={"student","worker","cadre","soldier","apen"); unsigned int n=strlen(a[O]); for(int i=1;in)n=strlen(afi]); } cout<<n<<endl; } 运行结果: 26.#include<iostream.h 327
case 1: il + + ; break; case 2: i2 + + ; cout 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 ;irn) rn=a[i][j]; cout # include void rnainO { char a[5] = {" student" • "worker" • "cadre" • "soldier" .飞pen"}; unsigned int n=strlen(a[O]); for(int i=1 ;in) n=strlen(a[i]); cout 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=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=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
函数功能: 29,假定结构类型DNode中的data域为结点值域,next域为结点指针域,f指向单链表的 表头结点。 void QB(DNode f) if(f==NULL)return; while(f!=NULL){ coutdatanext; } } 函数功能: 329
函数功能 29. 假定结构类型 DNode 中的 data 域为结点值域 .next 域为结点指针域 .f 指向单链表的 表头结点。 void QB(DNode 祷。 if(f= =NULL) return; whileU! = NULL) { 函数功能 coutdatanext; 329
试卷代号:1075 国家开放大学(中央广播电视大学)2015年春季学期“开放本科”期末考试 C十十语言程序设计试题答案及评分标准 (供参考) 2015年7月 一、单选题(每小题2分,共20分)】 1.C 2.C 3.A 4.D 5.D 6.C 7.B 8.B 9.C 10.D 二、填空题(每小题2分,共20分】 11.1 12.假(false或0) 13.10 14.6 15.析构函数 16.E 17./ 18.20 19.18 20.构造函数 三、写出下列每个程序运行后的输出结果(每小题6分,共36分)】 21.31 22.b1=55 23.424(答对一个给2分) 24.20 25.7 26.Apple 四、写出下列每个函数的功能(每小题8分,共24分) 评分标准:每题与参考答案的叙述含义相同者得8分,否则酌情给分。 27.统计出数组a中大于等于其平均值的元素个数并作为函数值返回。 28.若a和b都大于0则返回1,若a和b都小于0则返回一1,其他任何情况则返回0。 29.遍历输出f链表中的所有结点的值。 330
试卷代号 :1075 国家开放大学(中央广播电视大学 )2015 年春季学期"开放本科"期末考试 c++语言程序设计试题答案及评分标准 (供参考) 一、单选题{每小题 分,共 20 分) 1. C 2. C 3. A 6.C 7. S- 8.B 二、填空题{每小题 分,共 20 分} 11. 1 12. (false 0) 13. 10 14.6 15. 析构函数 16. E 17.// 18.20 19.18 20. 构造函数 4.D 9.C 三、写出下列每个程序运行后的输出结果{每小题 分,共 36 分) 21. 31 22.b1=55 23.4 2 4( 答对一个给 分) 24. 20 25. 7 26. Apple 四、写出下列每个函数的功能(每小题 分,共 24 分} 5.D 10. D 评分标准 每题与参考答案的叙述含义相同者得 分,否则酌情给分。 27. 统计出数组 中大于等于其平均值的元素个数并作为函数值返回。 2015 28. 都大于 则返回 ,若 都小于 则返回一 ,其他任何情况则返回 29. 遍历输出 链表中的所有结点的值。 330