收藏 分销(赏)

C++程序设计期末试卷2011-2012-2-A卷及答案.doc

上传人:二*** 文档编号:4571774 上传时间:2024-09-30 格式:DOC 页数:11 大小:85KB 下载积分:5 金币
下载 相关 举报
C++程序设计期末试卷2011-2012-2-A卷及答案.doc_第1页
第1页 / 共11页
本文档共11页,全文阅读请下载到手机保存,查看更方便
资源描述
—南 昌 大 学 考 试 试 卷— 教 师 填 写 栏 课程编号: T61050004 试卷编号: 课程名称: C++程序设计 开课学院: 信息工程学院 考试形式: 闭卷 适用班级: 全校非计算机专业 考试时间: 120分钟 试卷说明: 1、本试卷共 8 页。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 题号 一 二 三 四 五 六 七 八 九 十 总分 累分人 签 名 题分 30 20 30 20 100 得分 考 生 填 写 栏 考生姓名: 考生学号: 所属学院: 所属班级: 所属专业: 考试日期: 考 生 须 知 1、请考生务必查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、严禁代考,违者双方均开除学籍;严禁舞弊,违者取消学位授予资格; 严禁带手机等有储存或传递信息功能的电子设备等入场(包括开卷考试), 违者按舞弊处理;不得自备草稿纸。 考 生 承 诺 本人知道考试违纪、作弊的严重性,将严格遵守考场纪律,如若违反则愿意接受学校按有关规定处分! 考生签名: (说明:请将第1-3大题的答案写到答题纸上,第4大题的答案写在原题位置。) 一、单项选择题:(每小题2分,共 30 分) 得 分 评阅人 1、以下叙述中正确的是( )。 A.在对一个C++程序进行编译的过程中,可发现注释中的拼写错误 B.在C++程序中,main函数必须位于程序的最前面 C. C++本身没有输入输出语句 D. C++程序的每一行只能写一条语句 2、以下叙述中不正确的是( )。 A.在C++程序中,逗号运算符的优先级最低 B.在定义变量时,必须给变量赋初值 C.在C++程序中,count和Count是两个不同的变量 D.表达式1/3+1/3+1/3的结果为0 3、用C++语言编写的代码程序( )。 A.可以执行 B.经过编译解释才能执行 C.经过编译可执行 D.是一个源程序 4、以下关于函数参数的叙述不正确的是( )。 A.实参只能是常数 B.函数的形参命名可以任意,只要符合标识符规则 C.形参的值与实参的值不一定时刻保持一致 D.函数参数的值可以是内存单元地址 5、设”int a=12;”,则执行完语句”a+=a-=a*a;”后,a的值是( )。 A.-132 B.144 C.-264 D.288 6、以下函数的功能是( )。 int function(char *x) { char *p=x; while(*p++); return(p-x-1); } A. 求字符串的长度 B. 将字符串x连接到字符串p后面 C. 将字符串x复制到字符串p中 D. 将字符串x反向存放 7、已知教师记录的描述为: struct teacher {int id; char name[20]; struct{int y:int m:int d:}birth; }t; 将变量t中的d成员赋值为12的语句为( )。 A.d=12 B.birth.d=12 C.t.d=12 D.t.birth.d=12 8、在以下选项中,与k=n++完全等价的表达式是( )。 A. k=n,n=n+1 B. n=n+1,k=n C. k=++n D. k+=n+1 9、已定义int a,b;下列switch语句中格式正确的是( )。 A. switch(a) B. switch(a==b) { case b+1:a--;break; {default:a-b} case b+2:a++;break;} C. switch(a/10+b) D. switch(a*a) {case 5:a-b; {case 1,2:++a; default:a+b; } case 3,4:++b; } 10、以下正确的函数原型声明语句是( )。 A. double fun(int x,int y) B. double fun(int x;int y) C. double fun(int,int); D. double fun(int x,y); 11、已知 char c; char * const pc=“How are you !”,正确的是( )。 A. pc="Nanchang" B. *pc=‘A’ C. *pc++=‘B’ D. pc=&c 12、在下面的二维数组定义中,正确的是( )。 A. int a[5][]; B. int a[][5]; C. int a[][3]={{1,3,5},{2}}; D. int a[](10); 13、以下有关类和对象的叙述,不正确的是( )。 A.任何一个对象都归属于一个具体的类 B.类的数据成员不允许是另一个类的对象 C.类与对象的关系和数据类型与变量的关系相似 D.一个类可被实例化成多个对象 14、复制构造函数的形参是( )。 A.某个对象名 B.某个对象的成员名 C.某个对象的引用名 D.某个对象的指针名 15、下列关于构造函数的叙述,错误的是( )。 A.构造函数可以设置默认参数 B.构造函数在创建对象时由系统自动调用 C.构造函数可以重载 D.构造函数可以对静态数据成员进行初始化 二、填空题:(每空1分,共 20 分) 得 分 评阅人 1、C++程序test.cpp中只有一个函数,则这个函数的名称是 【1】 。 2、设有定义:int x,y;则执行y=(x=2, x++,x+3);语句后,y的值是 【2】 。 3、设有定义:int n=2;则n++的值是【3】 ,n的值是【4】 。 4、表达式18/4*sqrt(9.0)/5的值的数据类型是 【5】 ,其值是 【6】 。 5、与m%n等价的C++表达式为 【7】 。 6、写出定义结构体类型时所用的C++关键字 【8】 。 7、已知以下枚举类型定义,枚举量Fortran的值是【9】 。 enum language{Basic=3,Assembly,Ada=10,Cobol,Fortran}; 8、在c++中,除具有【10】 、【11】 语句的函数不能说明为内联函数外,其它函数都可 以说明为内联函数。 9、在定义类的对象时,C++程序将自动调用该对象的【12】 _函数初始化对象; 在撤销类的对象时,C++程序将自动调用该对象的【13】 __函数。 10、外部函数应声明为类的【14】   才能访问这个类的private成员。 11、在C++类中,利用 【15】 描述对象的特征,利用 【16】 描述对象的行为。 12、语句段char c[20]="Nanchang "; c[3]=’\0’; cout<<c;的结果是【17】 。 13、在用class定义一个类时,数据成员和成员函数的默认访问权限为 【18】 。 14、下列fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位放在 一维数组y中返回。二进制的最低位放在下标为0的元素中,请填空。(说明:将十进制数 转化为二进制数的方法是“除2取余法”) void fun(int x, int y[ ]) { int a=0,b; do { b= 【19】   ; y[a++]=b; x= 【20】    ; } while(x); } 三、程序阅读题:(每小题5分,共 30 分) 得 分 评阅人 请写出下列程序的运行结果。 程序1: #include<iostream.h> void main() { for(int i=1,s=0;i<=15;i++) {if(i%2==0 || i%3==0) continue; cout<<i<<’ ’; s+=i;} cout<<”\ns=”<<s<<endl; } 程序2: #include "iostream.h" class Myclass {int A; static int B; public: Myclass(int k) {int i; A=k; for(i=0;i<5;i++) B+=k;} static void Display(Myclass obj) {cout<<"A="<<obj.A<<",B="<<B<<endl;} }; int Myclass::B=10; void main() {Myclass objA(2); Myclass::Display(objA); Myclass objB(3); Myclass::Display(objB); } 程序3: #include<iostream> using namespace std; #define M (x+y) #define N x-y void main() {int s,x=4,y=6; s=3*M+4*N; cout<<"s="<<s<<endl; } 程序4: #include<iostream> using namespace std; int count=0; class Point {int x,y; public: Point() {x=1;y=1;count++;} ~Point(){count--;} friend void display(); }; void display() {cout<<”There are ”<<count<<” Points.”<<endl;} void main() {Point a,b; display(); {Point b[5];display();} display(); } 程序5: #include<iostream.h> void main() { int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,6,9,12},{5,4,3,6}}; int i,s=0; for(i=0;i<4;i++) s+=aa[i][2]; cout<<"s="<<s; } 程序6: #include<iostream> using namespace std; long fun(int n) {long f; if(n<0)cout<<"input error!"; else if(n==0)f=1; else f=n+(n-1)*fun(n-1); return f; } void main() {cout<<fun(4)<<endl; cout<<fun(5)<<endl; } 四、程序设计:(每小题10分,共 20 分) 得 分 评阅人 1、编写一个程序,完成以下要求: 1)定义一个数组,用循环实现从键盘上输入10个正整数并放入数组; 2)输出该数组中元素的最大值及数组元素的平均值。 2、定义一个矩形类Rect,该类有两个数据成员:长(Length,float 类型)、宽(Width,float类型),定义一个构造函数,用于初始化矩形对象,设置矩形的长和宽,另外定义一个成员函数用于计算矩形的面积,该函数原型为:double GetS( )。要求在主程序中定义并初始化一个矩形对象,并输出该矩形的面积。 答题卡 一、单项选择题:(每小题2分,共 30 分) 得 分 评阅人 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 二、填空题:(每空1分,共 20 分) 得 分 评阅人 【1】 【2】 【3】 【4】 【5】 【6】 【7】 【8】 【9】 【10】 【11】 【12】 【13】 【14】 【15】 【16】 【17】 【18】 【19】 【20】 三、程序阅读题:(每小题5分,共 30 分) 得 分 评阅人 1、 2、 3、 4、 5、 6、 2011-2012-2学期《C++程序设计》期末考试参考答案(A卷) 一、 单项选择题(每小题2分,共30分) 1 C 2 B 3 D 4 A 5 C 6 A 7 D 8 A 9 C 10 C 11 B 12 C 13 B 14 C 15 D 二、 填空题(每空1分,共20分) 【1】 main 【2】 6 【3】 2 【4】 3 【5】 double 【6】 2.0 【7】m-(m/n)*n 【8】 struct 【9】 12 【10】 循环 【11】 switch 【12】 构造 【13】 析构 【14】 友元函数 15】 数据成员 【16】 成员函数 【17】 Nan 【18】 私有的(private)【19】 x %2 【20】 x/2 三、 程序阅读题 (每小题4分,共24分) 1、 1 5 7 11 13 17 19 S=73 2、 A=2, B=20 A=3, B=35 3、 S=40 4、 There are 2 Points. There are 7 Points. There are 2 Points. 5、 S=22 6、 31 129 四、 程序设计题(每小题10分,共20分) 1、 #include<iostream> using namespace std; // 1分 void main() {int i,max,a[10]; //1分 float avg,s=0; //1分 for(i=0;i<10;i++) cin>>a[i]; //1分 max=a[0]; //1分 for(i=0;i<10;i++) //1分 {s+=a[i]; //1分 if(a[i]>max)max=a[i]; //1分 } avg=s/10; //分 cout<<"max="<<max<<endl; cout<<"avg="<<avg<<endl; //1分 } 2、 #include"iostream.h" // 1分 class Rect // 1分 { private: float Length,Width; // 1分 public: Rect (float L,float W) // 1分 {Length=L;Width=W;} // 1分 double GetS() {return Length*Width;} // 2分 }; void main() { Rect obj(3.0,4.0); //2分 cout<<"S="<<obj.GetS()<<endl; // 1分 } (此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持) 编辑版word
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服