试卷代号:1075 座位号■■ 中央广播电视大学2009一2010学年度第二学期“开放本科”期末考试 C十十语言程序设计 试题 2010年7月 题号 一 二 三 四 五 总分 分 数 得 分 评卷人 一、单选题(每小题2分,共20分) 1.C十十可执行文件的默认扩展名为( )。 A.cpp B.exe C.obj D.lik 2.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符号作为分 隔符。 A.空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车 3.在每个C十十程序中都必须包含有这样一个函数,该函数的函数名为()。 A.main B.MAIN C.name D.function 4.假定一个循环语句为“for(inti=0;i<n;i++)S;”,从循环头部可以看出,循环体S 语句将被执行( )次。 A.1 B.n-1 C.n D.n+1 5.假定a为一个短整型(short int)数组,则元素a[8]的地址比该数组的首地址大() 个字节。 A.4 B.8 C.16 D.32 544
试卷代号 7 5 座位号 中央广播电视大学 00 2010 年度 学期 期末考试 c+ 2010 年7 题号 总分 分数 得分|评卷人 一、单选题(每小题 2分,共 0分} I. 行文件 扩展 )。 A. cpp B. exe C.obj D.lik 2. 运行 盘上 个数 据之 应使 )符号作为分 隔符。 A. B. 号或 C. 号D. 3. 个C+ 这样 )。 A. main C. name B. MAIN D. function 4. 定一个循 为"forOnt i=O; i<n; 十 十 S;" 环体S 语句将被执行( )次。 A.l C. n B. D. n+l 5. 定a 个短整 型(short int) 数组 素a[8] 地址 该数 址 大 ) 个字节。 544 A.4 C. 16 13. 8 D.32
6.求一个字符串长度的标准函数为()。 A.strlen() B.strcap() C.strcat() D.strcmp() 7.若用数组名作为函数调用的实参,传递给对应形参的是该数组的()。 A.首地址 B.第一个元素的值 C.全部元素的值 D.所含元素的个数 8.假定a为一个数组名,则下面的( )表达式表示有语法错误。 A.ai] B.*a+十 C.*a D.¥(a+1) 9.假定AB为一个类,则执行“ABa(4),b[4],¥p[5];”语句时,自动调用该类构造函数 的次数为()。 A.4 B.5 C.8 D.13 l0.当需要对标准输入/输出设备进行输人/输出操作时,应在文件开始使用#include预 处理命令,使之包含( )头文件。 A.iostream.h B.stdlib.h C.fstream.h D.strstrea.h 得 分 评卷人 二、填空题(每小题2分,共20分)】 1.若需要定义一个标识符常量,并且使C十十能够进行类型检查,则应在定义语句的开始 使用保留字 2.算术表达式2x对应的C十十表达式为 ,已知pow(a,b)的值为a。 3.逻辑表达式x>y&&x!=10的相反表达式为 4.每个字符指针变量占用内存的 个字节的存储空间。 5.执行“typedef int DataType;”语句后,在使用int定义整型变量的地方都可以使用标识 符 来定义整型变量。 6.对于在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它赋予的初值为 7.假定p所指对象的值为25,p十1所指对象的值为46,则执行“*(p十1);”语句后,p所 指对象的值为」 545
6. )。 A. strlenO B. strcapO C. strcatO D. strcmpO 7. 数组 对应形参 该数组 )。 A.首地址 .第一个元素的值 C. 值D. 8. 个数 则下 )表达式表示有语法错误。 A. a[iJ B.铃 + + C. D. 铃 1) 9. 定AB 行"AB a( b[4J 祷 p 调用 的次数为( )。 A.4 C.8 B. 5 D.13 10. 需要 标准 进行 在 文 :j:j: include 处理命令,使之包含( )头文件。 A. iostream. h C. fstream. h 得分!评卷人 B. stdlib. h D. strstrea. h 二、填空题(每小题 ,已知 p o a,怕的值为 1.若需要定义一个标识符常量,并且使 +能够进行类型检查,则应在定义语句的开始 使用保留字 2. 式2x 对应 的c++ 表达 3. 表达式x>y &.&. x! =10 相反表达式 4. 字符 针变量 字节 5. 行"typedef int DataType;" 用int 义整 地方都 符一一一一来定义整型变量。 6. 对于在 7. 定p 对象 为25.p+1 所指 为46. 铃(p+ 1) ,p 指对象的值为 545
8.假定一个结构类型的定义为“struct A{inta;double b;A.*c;};”,则该类型的大小 为 字节。 9.假定一维数组的定义为“inta[8];”,则该数组所含元素的个数为 10.若while循环语句的头部为”while(i++<=10)”,若i的初值为0,同时在循环体中 不会修改i的值,则其循环体将被重复执行次后正常结束。 得 分 评卷人 三、写出下列每个程序运行后的输出结果(每小题6分,共30分)》 1.include<iostream.h void main(){ int s=0; for(int i=1;i<=8;i=+2) s+=i*i; cout<<s="<<<<endl; } 输出结果: 2.include<iostream.h void main(){ int i=1,s=0; while(s<15)s+=i++; cout<<<<,<<<<endl; } 输出结果: 3.#include<iostream.h void main()( inta[8]={36,25,48,14,55,20,47,82}; int c1=0,c2=0; for(int i=0;<8;+) if(a[i]<50)c1++;else c2++; cout<<c<<'<<c2<<endl; 输出结果: 546
8. 定义为"struct A{int a; double 字节。 b; ;} 该类 大小 9. 一维 a[8]; 该数 含元 10. 若while 为"whileCi 十<=10)" 若i 为0 不会修改 体将 执行 得分评卷人 次后正常结束。 三、写出下列每个程序运行后的输出结果{每小题 1. # include<iostream. h> void mainO { int s=O; for Cint i=1;i<=8;i=十2) 十=i 铃iF cout<<"s= "<<s<<endl; 输出结果: 2. # include<iostream. h> void mainO { int i= 1,s = O; whileCs<15) s+ =i cout«i«' , '«s«endl; 输出结果: 3. # include<iostream. h> void main () { int a[8]={36 ,25 ,48 ,14 ,55 ,20 ,47 ,82}; int c1 = 0 , c2=0; for(int i=O; i<8; 十 十 if(a[i]<50) c1十十; else c2 cout« c1 « ' '«c2«endl; 输出结果: 546
4.include<iomanip.h int LB(int *a,int n)( int p=1; for(int i=0;i<n;i++) p*=米a;a十十; } return p; void main(){ inta[5]={1,2,3,4,3}; cout<<LB(a,5)<<endl; 输出结果: 5.include<iostream.h struct Worker char name[15]; //姓名 int age; /年龄 float pay; /工资 }; void main(){ Worker x={"wangfong",46,1640); Worker y,米p; y=xi p=&x; cout<<y.age+10<<’’<<p->pay¥2<<endl; 输出结果: 得 分 评卷人 四、写出下列每个函数的功能(每小题8分,共24分) 1.double FI(int n){ /n为大于等于1的整数 double x,y=0; do cin>>x; y十=x*X; while(--n); return y; 函数功能: 547
4. # include<iomanip. h> int LB(int 兴a int n) { int p= 1; for(int i=O;i<n;i+ { 十 十 return p; void mainO { int a[5]= {l ,2 ,3 ,4,3}; cout<<LB(a,5)<<endl; 输出结果: 5. 拌include<iostream.h> struct Worker { char name[15 mt age; float pay; II II 年龄 II void mainO { Worker x = {"wangfong" , 46 , 1640 }; Worker 讲p; y=x; p=&x; cout«y. age+10«' '«p一>pay 祷2«endl; 输出结果: 得7t if 四、写出下列每个函数的功能(每小题 1. double FICint n) { double x ,y=O; do { cin»x; y+=x 祷x; } while( 一-n) ; return y; 函数功能: lin 547
2.bool WE(int a[],int b[],int n){ for(int i=0;i<n;i++) if(ai]!=bCi])break; if(i==n)return true;return false; } 函数功能: 3.int LK(int a[],int n){ double s=0; int i,m=0; for(i=0;i<n;i++)s+=ali]; s=s/n; for(i=0;i<n;i++)if(ai]>=s)m++; return m; 函数功能: 得分 评卷人 五、按题目要求编写函数(6分) 假定一个函数声明为“int FF(inta[],intn);”,要求递归求出数组a中所有n个元素之 积并返回。 548
2. bool WE(int int int n) { for(int i=O;i<n;i+ if(a[i]! =b[i]) break; if(i= = n) return true; return false; 函数功能: 3. int LK(int int n) { double s=O; int i ,m=O; for (i=O;i<n;i s+ =a[i]; s=s/n; for (i=O;i<n;i+ if(a[i]>=s) m+ return 函数功能: 得分|评卷人 五、按题目要求编写函数 6分) 假定一个函数声明为 FF(int int n) 要求递 组a 所有n 个元素 之 积并返回。 548