1、第 1 页 共 11 页南 昌 大 学 考 试 试 卷课程编号: T61050004 试卷编号:课程名称: C+程序设计开课学院: 信息工程学院 考试形式: 闭卷适用班级: 全校非计算机专业 考试时间: 120 分钟教师填写栏试卷说明:1、本试卷共 8 页。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。题号 一 二 三 四 五 六 七 八 九 十 总分题分 30 20 30 20 100累分人签 名得分考生姓名: 考生学号:所属学院: 所属班级:所属专业: 考试日期:考 生须 知1、请考生务必查看试卷中是否有缺页或破损。如有立即举手报告以便更换。2、严禁代考,违者双方均开除学籍;严禁
2、舞弊,违者取消学位授予资格;严禁带手机等有储存或传递信息功能的电子设备等入场(包括开卷考试),违者按舞弊处理;不得自备草稿纸。考生填写栏 考 生承 诺本人知道考试违纪、作弊的严重性,将严格遵守考场纪律,如若违反则愿意接受学校按有关规定处分!考生签名: 第 2 页 共 11 页(说明:请将第 1-3 大题的答案写到答题纸上,第 4 大题的答案写在原题位置。)得 分 评阅人一、单项选择题:(每小题 2分,共 30 分)1、以下叙述中正确的是( )。A.在对一个 C+程序进行编译的过程中,可发现注释中的拼写错误B.在 C+程序中,main 函数必须位于程序的最前面C. C+本身没有输入输出语句D.
3、C+程序的每一行只能写一条语句2、以下叙述中不正确的是( )。A.在 C+程序中,逗号运算符的优先级最低B.在定义变量时,必须给变量赋初值C.在 C+程序中,count 和 Count 是两个不同的变量D.表达式 1/3+1/3+1/3 的结果为 03、用 C+语言编写的代码程序( )。A.可以执行 B.经过编译解释才能执行C.经过编译可执行 D.是一个源程序4、以下关于函数参数的叙述不正确的是( )。A.实参只能是常数B.函数的形参命名可以任意,只要符合标识符规则C.形参的值与实参的值不一定时刻保持一致D.函数参数的值可以是内存单元地址5、设”int a=12;”,则执行完语句”a+=a-=
4、a*a;”后,a 的值是( )。A.-132 B.144 C.-264 D.2886、以下函数的功能是( )。int function(char *x) char *p=x; while(*p+); return(p-x-1); A. 求字符串的长度 B. 将字符串 x 连接到字符串 p 后面C. 将字符串 x 复制到字符串 p 中 D. 将字符串 x 反向存放7、已知教师记录的描述为:struct teacherint id;char name20;structint y:int m:int d:birth;t;将变量 t 中的 d 成员赋值为 12 的语句为( )。A.d=12 B.bir
5、th.d=12 C.t.d=12 D.t.birth.d=12第 3 页 共 11 页8、在以下选项中,与 k=n+完全等价的表达式是( )。A. k=n,n=n+1 B. n=n+1,k=n C. k=+n D. k+=n+19、已定义 int a,b;下列 switch 语句中格式正确的是( )。A. switch(a) B. switch(a=b) case b+1:a-;break; default:a-bcase 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
6、 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=AC. *pc+=B D. pc= B. int a5;C. int a3=1,3,5,2; D. int a(10);13、以下有关类和对象的叙述,不正确的是( )。A.任何一个对象
7、都归属于一个具体的类 B.类的数据成员不允许是另一个类的对象C.类与对象的关系和数据类型与变量的关系相似D.一个类可被实例化成多个对象14、复制构造函数的形参是( )。A.某个对象名 B.某个对象的成员名C.某个对象的引用名 D.某个对象的指针名15、下列关于构造函数的叙述,错误的是( )。 A.构造函数可以设置默认参数B.构造函数在创建对象时由系统自动调用C.构造函数可以重载D.构造函数可以对静态数据成员进行初始化第 4 页 共 11 页得 分 评阅人二、填空题:(每空 1分,共 20 分)1、C+程序 test.cpp 中只有一个函数,则这个函数的名称是 【1】 。2、设有定义:int x
8、,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 languageBasic=3,Assembly,Ada=10,Cobol,Fortran;8、在 c+中,除具有【10】 、【11】 语句的函数不能说明为内联函数外,其它函数都可
9、以说明为内联函数。9、在定义类的对象时,C+程序将自动调用该对象的【12】 _函数初始化对象;在撤销类的对象时,C+程序将自动调用该对象的【13】 _函数。10、外部函数应声明为类的【14】 才能访问这个类的 private 成员。11、在 C+类中,利用 【15】 描述对象的特征,利用 【16】 描述对象的行为。12、语句段 char c20=“Nanchang “; c3=0; coutvoid main() for(int i=1,s=0;iusing namespace std;#define M (x+y)#define N x-yvoid main()int s,x=4,y=6;s
10、=3*M+4*N;coutusing namespace std;int count=0;class Pointint x,y;public:Point()x=1;y=1;count+;Point()count-;friend void display();void display()coutvoid main() int aa44=1,2,3,4,5,6,7,8,3,6,9,12,5,4,3,6;int i,s=0;for(i=0;iusing namespace std;long fun(int n)long f;if(n1 C 2 B 3 D 4 A 5 C6 A 7 D 8 A 9 C
11、 10 C11 B 12 C 13 B 14 C 15 D第 11 页 共 11 页using namespace std; / 1 分void main()int i,max,a10; /1 分float avg,s=0; /1 分for(i=0;iai; /1 分max=a0; /1 分for(i=0;imax)max=ai; /1 分avg=s/10; /分cout“max=“maxendl;cout“avg=“avgendl; /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 分