南昌大学C++期末考试试卷(答案全)(20220123223103).pdf
《南昌大学C++期末考试试卷(答案全)(20220123223103).pdf》由会员分享,可在线阅读,更多相关《南昌大学C++期末考试试卷(答案全)(20220123223103).pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、南昌大学2003 2004 学年第二学期期末 考试试卷A 卷一单项选择题1 A 的 ASCII码为 65,n 为 int 型,执行n=A+6 3;后,n 的值为B。A)D B)68 C)不确定的值D)编译出错2。下列变量名中,A 是合法的。A)CHINA B)byte-size C)double D)A+a 3在 static int B3 3=1,3,2,4,5,6 ;中,a 2 2的值是C。A)0 B)5 C)6 D)2 4若有定义int a=3,*p=a;则*p 的值是B。A)常量 a 的地址值B)3 C)变量 p 的地址值D)无意义5下列关于指针运算的各叙述中,不正确的叙述是D。A)指
2、向同一数组的两个指针,可以进行相等或不等的比较运算;B)可以用一个空指针赋值给某个指针;C)指向数组的指针,可以和整数进行加减运算;D)指向同一数组的两个指针,可以进行有意义的相加运算.6。已知 x、y、z 是 int 型变量,且x=3,y=4,z=5;则下面各表达式中,值为0 的是D。A)x y B)x=y C)x|y+z y-z D)!((xn;int a n;D)const int SIZE=10;int aSIZE ;16采用函数重载的目的在于D;A)实现共享B)减少空间C)提高速度D)使用方便,提高可读性17下列的各类函数中,C 不是类的成员函数。A)构造函数B)析构函数C)友元函数
3、D)拷贝初始化构造函数18若有定义:int x,*p;则正确的赋值表达式是D.A)*p=x B)p=&x C)p=x D)p=&x 19下列静态数据成员特性中,D 是错误的.A)说明静态数据成员时前边要加修饰符static;B)静态数据成员要在类体外进行初始化;C)引用静态数据成员时,要在静态数据成员名前加类名和作用域分辨符;D)静态数据成员不是所有对象共有的。20以下各选项中,正确的函数声明是C。A)double func(int x,int y)B)int func(int x;int y);C)float func(int x,int y);D)char func(int x,y);二、
4、填空题(每空1 分,共 20 分)1一个 C+程序的执行从main 函数开始,到main 函数结束。2 设有定义int x=3,y=4;则表达式x*=y+5的值为27.若有定义int a=2;则执行完语句a+=a=a*a;之后,a 的值为-4.3在 C+中,只能用于整型操作数的算术运算符是;表达式3/2 的结果为1。4在C+中,变量的三个基本要素是指:变量名、变量类型和变量值。5设有定义int x=3,y=4,t;则实现 x,y 两变量值交换的三个语句是:t=x;x=y;y=t;.6在C+中,有两种给出注释的方法。一种是沿用C 语言的注释符,即/*/。另一种是从它开始,直到它所在行尾的字符都为
5、注释的注释符,即/.7在C+中,函数在定义时可以预先定义出默认的形参值.默认形参值必须按从右到左的顺序定义。因为在调用时,实参初始化形参是按从左到右的顺序。8在 C+程序中,对刚创建的对象进行初始化的工作由构造函数来完成;而对象被删除前的一些清理工作则是由析构函数来完成的。9 Visual C+6。0 集成开发环境界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口以及状态栏等组成。10类是逻辑上相关的函数与数据的封装。特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。三、程序阅读题(每小题5 分,共 30 分)请在各程序的右侧空白部分,写出对应程序运行后的输出结
6、果1源程序如下:include void main()char s=abcdefg ;cout s endl;s+=2;cout s endl;2源程序如下:include iostream。h define N 5 void main()int i,j;for(i=N;i =1;i-)for(j=1;j=N-i;j+)cout ;/双引号内含一空格for(j=1;j=2*i 1;j+)cout *;cout endl;3源程序如下:include void main()int fun(int a);int a=2,i;for(i=0;i 3;i+)printf(“%3d ,fun(a));i
7、nt fun(int a)int b=1;static int c=1;b=b+1;c=c+1;return(a+b+c);4源程序如下:include stdio.hvoid main()int prime(int x);static int a 6=5,9,6,11,13,8 ;int i,p=a,sum=0;for(i=0;i 6;i+)if(prime(*(p+i)=1)printf(“%d t”,*(a+i));sum+=(a+i);printf(“n The Sum=n”,sum);int prime(int x)int i;for(i=2;i x;i+)if(x i=0)retu
8、rn(0);return(1);5源程序如下:include iostream.h void f1(int I)I+=10;void f2(int I)I+=10;kl,void f3(int&n)n+=10;void main()int I=0;f1(I);cout “I is”I endl;f2(I);cout “I is”I endl;f3(I);cout “I is”I class Class public:Class(int n=6,int m=7);Class();void Set(int n,int m)x=n;y=m;private:int x,y;Class::Class(i
9、nt n,int m)Set(n,m);cout“Construct:x=x “,y=”y endl;Class::Class()cout “Destruct:x=x “,y=”y endl;void main()Class a(5);Class b(1,3);cout “exitingn”;四、程序填空题(每小题6 分,共12 分).1本程序用递归的方法计算并输出Fibonacci 数列的前20 项。Fibonacci 数列的规律是:数列前两项均为1,从第三项开始,每一项都是其前两项的和。请补全 fac 函数。#include iostream。hint fac(int n);void ma
10、in()int i;for(i=0;i 20;i+)cout fac(i);int fac(int n)/红色显示的部分为参考答案int s;if(n=0 n=1)s=1;else s=fac(n 1)+fac(n 2);return s;2本程序的功能是输出三角形式的九九乘法表.请在横线上填空。include define N 8 void main()static float score N=86,67,98,80,78,95,56,78 ;int i;float s,aver,max;s=0;for(i=0;iN;i+)abcdefg cdefg*6 7 8 5 11 13 The Su
11、m=29I is 0 I is 10 I is 20 s=s+score i;aver=s/N;cout aver=”aver endl;max=score0;for(i=1;i N;i+)if(max scorei)max=score i;cout”max=”month day;s=0;for(i=1;i month;i+)/统计 month 月之前的那些月的总天数s=s+dofmi;s=s+day;/统计非闰年时到month 月 day 日的总天数if(month2&leap(year)=true)s=s+1;cout day “该日是该年的第 s “天 void main()int i,
12、sum;sum=0;for(i=1;【18】;【19】)【20】;coutsum=sum;二、判 断 题(每 小 题1 分,共10分)得分评阅人1、C+程序中的变量,必须先定义(声明),才能使用。()2、While 循环语句的循环体至少执行一次。()3、C+中允许对数组进行动态定义。()4、double 数据类型属于简单数据类型。()5、类中所提供的成员函数可以直接访问私有成员。()6、返回值类型、参数个数和参数类型都相同的函数也可以重载。()7、友元函数是类的成员函数,所以可以存取或修改该类中的私有成员.()8、析构函数是函数体为空的函数。()9、C+中,当我们定义了数组int a5;则数组
13、元素的下标从1 到 5。()10、就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。()三、程序阅读题(每小题 5 分,共 20 分)写出下列程序的运行结果。1、include void main()int x=3,y=3;switch(x%2)case 1:switch(y)case 0:cout Firstt;case 1:cout”Second t”;break;default:cout Hellowt;case 2:cout”Third n;2、include iostream。hvoid main()int a=50,b(0);b=+a;couta,”bendl;b=
14、a+;couta ”,”b endl;3、#include”iostream.h”void main()int i=1;while(i=15)i+;if(i 3!=2)continue;else cout i “”;4、include iostream.h class A int a;public:A(int aa=0)a=aa;A()cout Destructor A!a endl;class B:public A int b;public:B(int aa=0,int bb=0):A(aa)b=bb;B()cout ”Destructor B!”b endl;void main()B x(
15、5),y(6,7);程序设计题(每小题 10 分,共20 分)1、编写一个判断素数的函数,并输出 100-300 之间的全部素数之和。2、定义并实现一个时钟类,要求能设置并显示时间.南昌大学2008 2009 学年第二学期期末考试试卷C+程序设计(B 卷)参考答案一、选择题(每小题2 分,共 30 分)二、填空题(每空1 分,共 20 分)【1】分号(;)【2】编译【3】链接【4】成员函数【5】private【6】public【7】MyClass()【8】MyClass()【9】内联函数【10】AB AC【11】数组【12】0【13】double*p;【14】this 指针【15】friend
16、【16】MyClass【17】MyClass【18】i=100【19】i+【20】sum+=i 三、判断题(每小题1 分,共10 分)四、程序阅读题(每小题5 分,共 20 分)1、Hellow Third 2、2 5 8 11 14 2、51,51 4、Destructor B!7 52,51 Destructor A!6 Destructor B!0 Destructor A!5 1 A 2 D 3 C 4 A 5 B 6 D 7 B 8 A 9 A 10 A 11 B 12 D 13 D 14 C 15 C 1 2 3 4 5 6 7 8 9 10 五、程序设计题(每小题10 分,共20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南昌大学 C+ 期末考试 试卷 答案 20220123223103
限制150内