1、”,要释放p所指向的动态数组空间,则使用下面的( )语句。 A. delete p; B. delete *p; C. delete &p; D. delete p; 9. 假定要对类AB定义加号运算符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为( )。 A. AB operator +(AB& a, AB& b); B. AB operator +(AB& a); C. operator +(AB a); D. AB& operator +(); 10. 当需要使用ifstream流类定义一个流对象并联系一个磁盘文件时,应在文件开始使用#include命令
2、,使之包含( )头文件。 A. strstrea.h B. stdlib.h C. iostream.h D. fstream.h 二、填空题(每小题2分,共20分) 1. 执行“cout”x1=”18*3;”语句后得到的输出结果为_。 2. 在c+语言中,用转义字符序列_表示输出一个换行。 3int类型的大小为_个字节。 4假定y的值为5,则增量表达式+y的值为_。 5假定a的值为25,则算术表达式a%3的值为_。 6. 结束所在循环类语句或switch语句执行的中断语句的保留字为_。 7函数调用时,实参向形参的传送分为_传送和值传送两种方式。 8. 假定a是一个一维数组,则ai的指针访问方
3、式为_。 9. 假定一个结构类型的定义为 ”struct Cdouble a5; int n;”,则该类型的大小为_个字节。 10. 若要在程序中进行_的输入输出操作,则必须在开始的#inlude预处理命令中使用fstream.h头文件。 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1. #include void main() int n=5, sum=0; while(n) sum+=n; n-; cout”sum=”sumendl; 运行结果: 2. #include const int N=6; int aN=76,83,54,62,40,65; int c1, c2
4、; c1=c2=a0; for(int i=1;ic1) c1=ai; else if(aic2) c2=ai;c1 c2 3. #include int a8=4,8,15,16,20,30,48,62; int *p=a; do *p ; p+=3; while(pa+8); 4.#include int LF(int x, int y) x=x+y; y=x+y; return x+y; int x=5, y=8;LF(x,y)LF(10,6) 5. #include class A int a,b; public: A() a=b=0; A(int aa, int bb) a=aa;
5、b=bb;ab ; void main() A x,y(2,3); 四、写出下列每个函数的功能(每小题8分,共24分) 1. double FI(double n) /n为大于等于1的整数 double x,y=0; for(int i=0; ix; y+=x; return y; 函数功能: 2. int WG(int a, int b) if(ab) return 1; else if(a=b) return 0; else return -1; 3. 假定结构类型StrNode带有一个字符串域name20和一个结点指针域next。 void QB(StrNode*& f, int n)
6、/f为单链表的表头指针 if(n=0) f=NULL; return; f=new StrNode; /由f指向一个新结点f-name; StrNode* p=f; while(-n) p=p-next=new StrNode;p- p-next=NULL; 五、按题目要求编写函数(6分) 假定一个函数声明为“int fun(int n);”,要求判断出n是否为一个素数,若是则返回1否则返回0;特别地,若n小于等于1则返回-1。中央广播电视大学2007C+语言程序设计课程试卷答案及评分标准(5)(供参考)一、单选题(每小题2分,共20分)1C 2. A 3. C 4. D 5B 6D 7B 8
7、. D 9. B 10. D二、填空题(每小题2分,共20分)1. x1=54 2. n3. 4 4. 65. 1 6. break7. 引用 8. *(a+i)9. 44 10. 文件三、写出下列每个程序运行后的输出结果(每小题6分,共30分)1. sum=152. 83 40 /每个数据3分3. 4 16 48 /每个数据2分4. 34 38 /每个数据3分5. 2 3 /每个数据3分四、写出下列每个函数的功能(每小题8分,共24分)评分标准:每题与参考答案的叙述含义相同者得8分,否则酌情给分。1. 求出并返回从键盘上输入的n个实数之和。2. 比较两个整型参数a和b的大小,若ab则返回1,
8、若a=b则返回0,若ab则返回-1。3. 根据从键盘上依次输入的n个字符串建立一个具有n个结点的链表,链表的表头指针由引用变量f带回。五、按题目要求编写函数(6分)根据编程的完整程度酌情给分。 int fun(int n) if(n=1) return -1; /2分 for(int i=2;=sqrt(n); i+) if(n%i=0) break; /4分 if(i=sqrt(n) return 0; else return 1; /6分中央广播电视大学2007年秋C+语言程序设计课程试卷208年9月汶川补考 1. 枚举类型中的每个枚举常量的值都是一个( )值。 A. 整数 B. 浮点数
9、C. 字符 D. 逻辑 2设x和y均为bool量,则逻辑表达式x | y为假的条件是( )。 A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 3. 声明或定义一个内联函数时,必须在函数开始使用保留字( )。 A. static B. const C. extern D. inline 4. 在下面的函数声明中,存在着语法错误的是( )。 A. BC(int a, int); B. BC(int, int); C. BC(int, int=5); D. BC(int x; int y); 5. 假定a为一个整型数组名,则元素a4与( )的表示等价。 A. a+4 B.
10、 *a+4 C. *(a+4) D. *(a+16) 6. 循环语句“for(int i=0; i+);”执行结束后得到的i的值为( )。 A. n B. n+1 C. n-1 D. 2n 7. 将两个字符串连接起来组成一个字符串时,选用( )函数。 A. strlen() B. strcpy() C. strcat() D. strcmp() 8. C+编译预处理命令在程序中都是以( )字符开头的。 A. * B. # C. & D. 9. 假定有结构定义为“struct BOOKchar title40; double price;”,则该结构类型的长度为( )个字节。 A.28 B. 4
11、0 C. 44 D. 48 10. 假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行“delete px;”语句时,自动调用该类析构函数的次数为( )。 A. 1 B. n C. n-1 D. n+1 1执行“cout5的相反式为_。 5. 假定一个二维数组的定义为“int a36;”,则该数组含有_个整数元素。 6. 执行“typedef int ABC20;”语句把_标识符定义为具有20个整型元素的数组类型。 7假定p所指对象的值为36,p+1所指对象的值为49,则*+p的值为_。 8. 假定a是一个一维数组,则ai的指针访问方式为_。 9对一个类中的数据成员的初
12、始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的_实现。 10当一个类对象离开它的作用域时,系统将自动调用该类的_。 void SB(char ch) switch(ch) case :a优! ; break;Bb良!Cc通过! default:不通过!break; SB(A); SB(c); int a6=36,25,48,14,55,40; int x=a0;6;x) x=ai;”x=”x void main() int a6=32,53,27,19,12,45; for(int *p=a; pa+6; p+) if(*p%3=0) cout 4. #include int*
13、LG(int m) int* a=new int(m+5); return a; int n1=12; int *b=LG(n1);*b delete b; #include struct Worker char name15; int age; float pay; Worker x; strcpy(x.name, WeiRong); x.age=45; x.pay=3275;x.namex.agex.pay0) return 1; else if(a bnext; return n;假定一个函数声明为“int Sum(int n);”,要求计算并返回12+22+.+n2的值。C+语言程序设
14、计课程试卷2答案及评分标准1A 2C 3D 4D 5C6A 7C 8B 9D 10B 每题与参考答案相同者得2分,否则不得分。 1. D 2. 2(两) 3. 6.25 4. x+y=5 5. 18 6. ABC 7. 49 8. *(a+i) 9. 函数体 10. 析构函数1. 优! 通过! /每个数据占3分2. x=553. 27 12 45 /每个数据占2分4. 175. WeiRong 45 32752. 若a和b都大于0则返回1,若a和b都小于0则返回-1,其他任何情况则返回0。3. 求出并返回f单链表的长度(即结点个数)。评分标准: 根据编程完整程度酌情给分。 int Sum(int n) int i; int s=0; /1分 for(i=1;=n; s+=i*i; return s;
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2