试卷代号:1075 座位号■ 中央广播电视大学2007一2008学年度第一学期“开放本科”期末考试 机械等专业C十十语言程序设计试题 2008年1月 题 号 二 三 四 五 总 分 分 数 得 分 评卷人 一、单选题(每小题2分,共20分)》 1.由C十十源程序文件编译而成的目标文件的缺省扩展名为()。 A.obj B.lik C.exe D.cpp 2.程序运行中需要从键盘上输人多于一个数据时,各数据之间应使用( )符号作为分 隔符。 A.空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车 3.设x是一个bool型的逻辑量,y的值为10,则表达式x&&.y的值为()。 A.1 B.0 C.与x值相同 D).与×值相反 4.or语句能够被改写为( )语句。 A.复合 B.if C.switch D.while 5.在下面的do循环语句中,其循环体被执行的次数为()。 int i=0;doi;while(i*i<10); A.4 B.3 c.5 D.2 523
试卷代号 :1075 座位号〔工 口 中央广播电视大学2007-2008学年度第一学期“开放本科”期末考试 机械等专业 C-}+语言程序设计 试题 2008}} 1月 题 号 四 五 总 分 分 数 得 分 评卷人 一、单选题 (每小题 2分,共 20分 ) 由 C十十源程序文件编译而成的目标文件的缺省扩展名为( ohj ex e Iik cpp .程序运行中需要从键盘上输人多于一个数据时,各数据之间应使用 ( )符号作为分 隔符。 空格或逗号 逗号或分号 逗号或回车 空格或 回车 3.设x是一个bool型的逻辑量,Y的值为l0,则表达式xw.}-Y的值为( A.1 13. 0 C.与 X值相同 I).与 x值相反 4. for语句能够被改写为( )语句。 八.复合 B.if C. switch D. while 5.在下面的d。循环语句中,其循环体被执行的次数为( )。 int i= U;do i十一十一;while( i*i<'10); A.4 B. 3 C. S D.2 523
6.在下面的一维数组定义中,()语句有语法错误。 A.inta[]={l,2,3}; B.inta[10]={0}; C.int a[]; D.int a5]; 7.下面的( )保留字不能作为函数的返回类型。 A.void B.int C.new D.long 8.下面的函数声明中,( )是“void BC(inta,intb);”的重载函数。 A.int BC(int x,int y); B.void BC(int a,char b); C.float BC(int a,int b,int c=0); D.int BC(int a,int b=0); 9.当类中一个字符指针成员指向具有个字节的存储空间时,它所能存储字符串的最大 长度为()。 A.n B.n+1 C.n-1 D.n-2 10.假定AB为一个类,则该类的拷贝构造函数的声明语句为( A.AB&.(AB x); B.AB(AB x); C.AB(AB*x); D.AB(AB&); 得 分 评卷人 二、填空题(每小题2分,共20分) 1.执行“cout5的相反表达式为 5.假定一个二维数组的定义为“inta[3][6];”,则该数组含有 个元素。 6.执行“typedef int ABC[20];”语句把ABC定义为具有20个整型元素的 7.假定p所指对象的值为36,p十1所指对象的值为49,则+十p的值为 8.假定a是一个一维数组,则a[门的指针访问方式为 9.对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构 造函数中的 实现。 10.当一个类对象离开它的作用域时,系统将自动调用该类的 524
6.在下面的一维数组定义 中,( )语句有语法错误 。 A. int a仁〕={1,2,3}; 13. int a[10]={0}; C. int a[]; D. int a仁5]; 7.下面的( )保留字不能作为函数的返回类型。 A.void B. int C. new D. long 8.下面的函数声明中,( )是“void BCGnt a, int b) ;”的重载函数。 A. int BC(int x, int y); C. float BC(int: a,int b,int c=0); B. void BC(int a, char b) D. int BC(int a, int b=0) 9.当类中一个字符指针成员指向具有 n个字节的存储空间时,它所能存储字符串的最大 长度为( )。 A. n B. n十1 C. n一 1 D. n- 2 10.假定 AB为一个类 ,则该类的拷贝构造函数的声明语句为( )。 A. A33乙(AB x); 13. Al3(Al3 x); C. AB(AB } x); D. AB(AB乙); 得 分 评卷人 二、填空题 (每小题 2分 ,共 20分 } 1.执行“cout+ char('A’十3);”语句后得到的输出结果为__ 。 2.在 C十+每个程序行的后面或单独一行的开始使用注释的标记符为 3.表达式 float(25)/4的值为 4.关系表达式 x-i- y} 5的相反表达式为 5.假定一个二维数组的定义为“int a [3][6];",则该数组含有 个元素。 6.执行“typedef int A13C [ 20 ] ;”语句把 A13C定义为具有 20个整型元素的 7.假定P所指对象的值为36,p}-1所指对象的值为49,则‘}- + P的值为_ 8.假定 a是一个一维数组,则 a[i]的指针访问方式为 9.对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构 造函数中的 实现。 10.当一个类对象离开它的作用域时,系统将自动调用该类的 524
得分 评卷人 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.include #include int SD(int a,int b,char op){ switch(op){ case'+':return a++b; case’-’:return a--b; default:{cout include void main(){ char *a5]=("student","worker","cadre","soldier","apen"); char pl; pl=a[0]; for(int i=1;i0)p1=ai]; cout<<pl<<endl; } 运行结果: 525
得 分 评卷人 三、写出下列每个程序运行后的输出结果(每小题 6分,共 30 1.#include #include int SD(int a, int b,char op){ switch(op){ case’+’:return a-I-b ca se return a一 b default; {cout #include void main(){ char二a仁5]={”student“,“workerl ,“cadre“,‘,soldier, apen char p1= * p1; a[0]; for(int i=1;t0) pl=a[i] coot<<pl+ endl 运行结 果 :
3.include int WF(int x,int y) x=x十y; y=x+y; return x+y; void main(){ cout void main(){ int d=new int[5]; int i; for(i=0;i<5;i++){ d[i]=2*i+1; cout<<d[i]<<’’: cout<<endl; delete]d; } 运行结果: 526
3.#include int WF(int x, int y) x 二二 Y- x牛y; x十y; return x+y; void main() cout+ F(8,5) void main(){ int*d=new int仁J]; mt t; fore=0;i<};i+十){ d仁i〕二2‘i十1; cout+ d仁1]+ ’ } coutC < endl; delete仁]d; } 运行结果 526
得分 评卷人 四、写出下列每个函数的功能(每小题8分,共24分) 1.float FI(int n)( //n为大于等于1的整数 float x,y=0; do{ cin >>x; y十=x*x; while(--n>0); return y; 函数功能: 2.bool WE(int a],int b],int n)( for(int i=0;i=s)m++; 函数功能: 得 分 评卷人 五、按题目要求编写函数(6分)】 假定一个函数声明为“void AD(inta[],intn);",要求把数组a中的n个元素值按相反 的次序仍保存在数组a中。 527
得 分 评卷人 四、写出下列每个 函数的功能(每小题 8分 ,共 24分 ) 1. float FL(int n){ float x,y = 0 do{ 刀n为大于等于 1的整数 cin> > X; y+=x * x; }while(一一n}0); return y; } 函数功能 : 2. bool WE=s ) m-1-+ } 函数功能 : 得 分 评卷人 五 、按题 目要求编写函数(6分) 假定一个函数声明为“void AD(int a[], int n);",要求把数组 a中的 n个元素值按相反 的次序仍保存在数组 a中。 527
试卷代号:1075 中央广播电视大学2007一2008学年度第一学期“开放本科”期末考试 机械等专业C十十语言程序设计 试题答案及评分标准 (供参考) 2008年1月 一、单选题(每小题2分,共20分) 1.A 2.D 3.C 4.D 5.A 6.C 7.c 8.B 9.C 10.D 二、填空题(每小题2分,共20分)》 评分标准:每题与参考答案相同者得2分,否则不得分。 1.D 2./1 3.6.25 4.x+y<=5 5.18 6.数组类型 7.49 8.*(a+i) 9.函数体(或定义体) 10.析构函数 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.2614 //每个数据3分 2.worker 3.31 4.24 5.13579 /每个数据1分,全对给6分 528
试卷代号:1075 中央广播电视大学2007-200$学年度第一学期“开放本科”期末考试 机械等专业 C -}-+语言程序设计 试题答案及评分标准 (供参考) 2008年 1月 一、单选题(每小题 2分,共20分》 1.A 2.U 6. C 7.C 3. C 4. D 5_A S.B 9.C 1 a. n 二、填空题 (每小题 2分,共 20分) 评分标准 :每题与参考答案相同者得 z分 ,否则不得分 。 }. n 2.// 3. 6. 25 4, x+y<=5 5. 18 6.数组类型 7. 49 8 ‘(a十i) 函数体(或定义体) 析构函数 三、写出下列每个程序运行后的输出结果(每小题 6分 ,共 30分) 1. 26 14 //每个数据 3分 2. worker 3. 31 4. 24 5.13579 528 //褥个数据 1分,全对给 6分
四、写出下列每个函数的功能(每小题8分,共24分) 评分标准:每题与参考答案的叙述含义相同者得8分,否则酌情给分。 1.求出从键盘上输人的n个整数的平方和并返回。 2.判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则 返回假。 3.统计出数组a的前n个元素中大于等于其平均值的元素个数并由引用参数m带回。 五、按题目要求编写函数(6分) 评分标准:按照编程的完整程度酌情给分。 void AD(int an],int n) for(i=0;i<n/2,i++){ int x=ati];afi]=a[n-1-i];a[n-1-i]=x; 529
四、写出下列每个函数的功能(每小题 8分,共 24分) 评分标准:每题与参考答案的叙述含义相同者得 8分,否则酌情给分。 1.求出从键盘上输人的n个整数的平方和并返回。 2.判断具有 n个元素的两个数组a和 b中对应元素值是否全部相等,若是则返回真,否则 返回假 。 3.统计出数组 a的前 n个元素中大于等于其平均值的元素个数并由引用参数 hl带回。 五、按题 目要求编写函数(6分) 评分标准 :按照编程的完整程度酌情给分 。 void AD(int a[],int n) for(i=0;iGn/2;i+_}){ int x = a[i];a仁i]=a[n一1一i];a[n一1一i]=x; 529