C++程序设计2009-2010-1-A

更新时间:2024-05-22 06:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

试卷编号: ( A )卷 课程编号: T61050004 课程名称: C++程序设计 考试形式: 闭卷 适用班级: 非计算机专业 姓名: 学号: 班级: 学院: 专业: 考试日期: 2010、1、22 题号 题分 得分 考生注意事项:1、本试卷共8页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 一 30 二 10 三 20 四 20 五 20 六 七 八 九 十 总分 100 累分人 签名 南昌大学 2009~2010学年第一学期期末考试试卷

一、 单项选择题(每小题2分,共30分) 得分 评阅人 说明:请将前面4个大题的答案写到答题卡上 1、 C++程序从上机到得到结果的几个操作步骤依次是________。 A. 编译、编辑、连接、运行 B. 编辑、编译、连接、运行 C. 编译、运行、编辑、连接 D. 编辑、运行、编辑、连接 2、 设int a=15,b=26;,则cout<<(a,b);的输出结果是________。 A. 15 B. 26,15 C. 15,26 D. 26 3、 x>0 && x<=10的相反表达式为 ________。 A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10 4、 在下面循环语句中循环体执行的次数为________。 int i=0,s=0; while(s<20) {i++; s+=i;} A. 4 B. 5 C. 6 D. 7 5、 在下面的二维数组定义中,正确的是________。 A. int a[5][ ]; B. int a[ ][5]; C. int a[ ][3]={{1,3,5},{2}}; D. int a[ ](10);

第 1 页 共 8页

6、 以下叙述中不正确的是________。 A. 在一个函数中,可以有多条return语句 B. 函数的定义不能嵌套,但函数的调用可以嵌套 C. 函数必须有返回值 D. 不同的函数中可以使用相同名字的变量 7、 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择________。 A.内联函数 B.重载函数 C.递归函数 D.函数模板 8、 若用数组名作为函数调用的实参,传递给形参的是________。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组全部元素的值 D. 数组元素的个数 9、 类的构造函数是在定义该类的一个________时被自动调用执行的。 A. 成员函数 B. 数据成员 C. 对象 D. 友元函数 10、 设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是________。 A.int m = max(22,max(59,70)); B.int m = max(max(22,59),70); C.int m = max(22,59,70); D.int m = max(59,max(22,70)); 11、 对class point,如使用point * ptr=new point[2];创建对象数组,则删除此数组使用的语句是________。 A. delete ptr[2]; B. delete[ ] ptr; D. delete[2] ptr; C. delete ptr[ ]; 12、 类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为________。 A. 未初始化 B. 等于a.x C. 等于0 D. 随机 13、 假定一条定义语句为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为________。 A. x=pa[3]; B. x=*(a+3); C. x=a[3]; D. x=*pa+3; 14、 假定k是一个double类型的变量,则关于变量p的正确定义语句为________。 A. double p=&k; B. int *p=&k; C. double &p=*k; D. char *p=”Thank you!”; 15、 定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为________。 A. int *p=new int[30]; B. int *p=new int(30); C. int *p=new [30]; D. *p=new int[30]; 第 2 页 共 8页

二、 判断题,对的画√,错的画×(每小题 1分,共 10 分) 得分 评阅人 ( )1、 在说明语句 int a(15),&b=a,*p=&a;中,b的值与*p的值是不相等的。 ( )2、 break语句也可以用于switch体内,它可退出switch语句。 ( )3、 在一个被调用函数中,一个return语句可返回多个值给调用函数。 ( )4、 宏定义命令是以分号结束的。 ( )5、 do -while循环语句的循环体至少执行一次。 ( )6、 函数形参的作用域是该函数的函数体。 ( )7、 静态类标识符在它的作用域之外是不存在的。 ( )8、 对象成员的表示与结构变量成员表示相同,使用运算符.或->。 ( )9、 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。 ( )10、 const char *p说明了p是指向字符串的常量指针。 三、 填空题(每空 2分,共 20 分) 得分 评阅人 1、 一个完整程序中必须有一个名为_【1】 _的函数。 2、 程序中的预处理命令是指以___【2】___字符开头的命令。 3、 假定x=5,y=6,则执行表达式y*=x++计算后, y的值为____【3】___。 4、 为语句标号使用的C++保留字case和default只能用于___【4】___语句的定义体中。 5、 若只需要通过一个成员函数读取数据成员的值,而不需要修改它,则应在函数头的后面加上___【5】_____关键字。 6、 若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上___【6】____和两个冒号分隔符。 7、 假定用户只为类AB定义了一个构造函数“AB(int aa, int bb=0) {a=aa; b=bb;}”,则定义该类的对象时,其实参表中至多带有___【7】__个实参。 8、 完成下面类中的成员函数的定义。 class point { private: int m,n; public: point(int,int); point(point&); }; point::point(int a,int b) 第 3 页 共 8页

{ m=a;n=b; } point::point(__【8】_) { m=t.m; n=t.n; } 9、 完成下面类中的成员函数的定义。 class A { int a,b; public: A(int aa=0, int bb=0) __【9】___ {} // 分别用aa和bb对应初始化a和b }; main() { A x(5),y(x); // 定义类A的对象x并用5初始化,同时定义y并用x初始化 ___【10】__ ; // 定义p指针,使之指向对象x } 四、 阅读程序,写出各程序运行后的输出结果(每小题5分,共20分)

得分 评阅人 1、 #include using namespace std; void fun(int a,int * b, int *c,int &d); void main( ) { int a1=10,a2=20,a3=30,a4=40; fun(a1,&a2,&a3,a4); cout<<”a1=”< void main() { int i,j,k; for(i=1;i<=4;i++) { 第 4 页 共 8页

for(k=1;k<=4-i;k++) cout<<' '; for(j=1;j<=2*i-1;j++) cout<<'*'; cout< class CE { private: int a,b; int getvalue () {return (a>b? a:b);} public: int c; void SetValue(int x1,int x2, int x3) { a=x1; b=x2; c=x3; int GetValue (); }; int CE::GetValue () { int d=getvalue (); return (d>c? d:c); } void main() { int x=5,y=12,z=8; CE ex; ex.SetValue(x,y,z); cout< class Point { int x,y; public: Point(int x1=0, int y1=0) :x(x1), y(y1) { cout<<\} 第 5 页 共 8页

}

~Point() { cout<<\} }; class Circle { Point center; int radius; public: Circle(int cx,int cy, int r):center(cx,cy),radius(r) { cout<<\} ~Circle() {cout<<\}; void main() { Circle c(3,4,5); } //圆心位置 //半径 五、 程序设计题 (每小题10分,共20分) 得分 评阅人 1、 设计一程序,它输入10个整数到一个数组中,调整这10个数在数组中的位置,使得其中最小的一个数成为数组的首元素,最大的一个数成为数组的末元素。 第 6 页 共 8页

2、 定义一个处理日期的类CDate,它有3个私有数据成员:Year,Month,Day和若干个公有成员函数,并实现如下要求:①构造函数重载;②成员函数设置缺省参数;③定义一个成员函数PrintDate来打印日期;④定义一个非静态成员函数SetDate来设置日期。

第 7 页 共 8页

C++程序设计 答题卡 1、单项选择题(每小题2分,共30分) 得分 评阅人 1 6 11 2 7 12 3 8 13 4 9 14 5 10 15 2、判断题(每小题1分,共 10 分) 得分 评阅人 1 6 2 7 3 8 4 9 5 10 3、填空题(每空2分,共20分) 得分 评阅人 【1】 【2】 【3】 【4】 【5】 【6】 【7】 【8】 【9】 【10】 4、程序阅读题 (每小题5分,共20分) 得分 评阅人 1、 2、 3、 4、

第 8 页 共 8页

本文来源:https://www.bwwdw.com/article/lcv7.html

Top