您好,欢迎来到年旅网。
搜索
您的当前位置:首页南昌大学C期末考试试卷(答案全)(总20页)

南昌大学C期末考试试卷(答案全)(总20页)

来源:年旅网
 南昌大学 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 B[3][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〕指向同一数组的两个指针,能够进展相等或不等的比拟运算; 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) !((xA) 0和‘\\0’值相等。 B) 0和‘0’ 值相等 。

C)‘\\0’和 ‘0’ 值相等 。 D) 0、‘\\0’和‘0’ 值都不相等。 8. 假设有说明语句:char ch=‘\\72’;那么变量 ch A 。

A〕包括1个字符 B) 包括2个字符 C) 包括3个字符 D) 说明不合法

9.在以下关于C++与C语言关系的各描述中, D 是错误的。 A〕C语言是C++的一个子集; B〕C语言与C++是兼容的; C〕C++对C语言进展了一些改良; D〕 C++和C语言都是面向对象的。 10.在以下关于类概念的各描述中, A 是错误的。 A〕类确实是C语言中的构造体类型;

B〕类是具有一起行为的假设干对象的统一描述体; C〕类是创建对象的样板; D〕类是抽象数据类型的实现。

11.在以下各选项中,符合C++语法的赋值表达式是 C 。 A〕 d=3+=d+6 B〕 d=6+e=d+8 C〕 d=e+=f+6 D〕 d=2+e, d+5=1

12.对 for〔 表达式1 ; ;表达式3 〕 可明白得为 B 。 A〕for〔 表达式1 ;0 ;表达式3 〕 B〕for〔 表达式1 ;1 ;表达式3 〕 C〕for〔 表达式1 ;表达式1 ;表达式3 〕 D〕for〔 表达式1 ;表达式3 ;表达式3 〕

13.假设有概念:int a[3][4] ; 那么对a数组某一元素的正确表示是 C 。 A〕a[2][4] B) a[1,3] C〕a[1+1][0] D) a(2)(1)

14.假设有初始化 static char str[]=“NDJSZX〞 ;那么其中的str[]相当于 B 。 A〕str[8] B) str[7] C) str[6] D) str[2] 15.一维整型数组a的正肯概念是 D 。

A) int a(10);

B) int n=10; int a[n]; C) int n; cin>>n; int a[n]; D) const int SIZE=10; int a[SIZE]; 16.采纳函数重载的目的在于 D ;

A) 实现共享 B〕减少空间

C) 提高速度 D〕利用方便,提高可读性 17.以下的各类函数中, C 不是类的成员函数。 A〕构造函数 B〕析构函数

C〕友元函数 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 ) ; 二、填空题(每空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语言的注释符,即 /* */ 。另一种是从它开场,直到它所在行尾的字符都为注释的注释符,即 // 。

7.在C++ 中, 函数在概念时能够预先概念出默许的形参值。默许形参值必需 按 从右到左 的顺序概念。因为在调历时,实参初始化形参是按 从左到右 的顺序。 8.在C++程序中,对刚创建的对象进展初始化的工作由 构造 函数来完成;而对象被删除前的一些清理工作那么是由 析构 函数来完成的。

9. Visual C++ 6.0 集成开发环境遇面由题目栏、菜单栏、工具栏、 工程工作区 窗口、文档窗口、 输出 窗口和状态栏等组成。

10.类是逻辑上相关的 函数 与数据的封装。特殊类的对象拥有其一样类的全数属性与效劳,称作特殊类对一样类的 继承 。 三、程序阅读题 (每题5分,共30分)

请在各程序的右边空白局部,写出对应程序运行后的输出结果。

1.源程序如下:

# include void main( ) {

char *s =″abcdefg″ ; cout << s << endl ; s + = 2 ;

cout << s << endl ;

}

2.源程序如下:

# include # 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 ;

}

********* ******* ***** abcdefg }

3.源程序如下:

# include void main( ) {

int fun( int a ) ; int a=2, i ;

for ( i = 0 ; i < 3 ; i + + ) printf (“ %3d 〞 , fun( a ) ) ; }

int fun( int a ) {

int b = 1 ; static int c = 1 ; b = b + 1 ; c = c + 1 ; return ( a + b + c ) ; }

4.源程序如下:

# include void main( ) {

int prime ( int x ) ;

static int a [6] = { 5, 9, 6, 11, 13, 8 } ;

5 11 13 6 7 8 int i , *p = a , sum = 0 ; for ( i = 0 ; i < 6 ; i + + ) if ( prime ( *( p + i ) ) = = 1 )

{ printf ( “ %d \ 〞 , * (a+i ) ) ; sum + = * ( a + i ) ; } printf ( “\\n The Sum = %d \\n 〞, sum ) ; }

int prime ( int x ) { int i ;

for ( i = 2 ; i < x ; i + + )

if ( x % i = = 0 ) return ( 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 ) ;

I is 0 I is 10

cout <<“I is 〞<< I << endl ; f2( &I ) ;

cout <<“I is 〞<< I << endl ; f3( I ) ;

cout <<“I is 〞<< I << endl ; }

6.源程序如下:

# include 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( int 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 <<“exiting…\\n 〞 ; }

四、程序填空题 (每题6分,共12分)。

1.本程序用递归的方式计算并输出Fibonacci数列的前20项。Fibonacci数列的规律是:数

列前两项均为1,从第三项开场,每一项都是其前两项的和。请补全fac函数。 # include int fac( int n ) ; void main( ) {

int i ;

for( i = 0 ; i < 20 ; i + + ) cout << fac( i ) << ″ ″; }

int fac( int n )

{ // 红色显示的局部为参 int s;

Construct: x=5, y=7 Construct: x=1, y=3 exiting… if(n==0 || n==1) s=1; else s=fac(n-1)+fac(n-2); return s; }

2.本程序的功能是输出三角形式的九九乘法表。请在横线上填空。 #include

void main( ) { int i , j ; for( i=1; i<=___9___ ; i++ )

{

for( j=1; j<=___i_____ ; j++)

printf ( “ %1d*%1d=%2d 〞 , j , i , i*j ) ; printf( “ \\n 〞 ) ; }

}

五、程序设计题(每题9分,共18分)

1.设学生的人数,他们的考试成绩也。请编程补全下面的程序,使该程序能完成:〔1〕计算出这些成绩的平均成绩并显示出来;〔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; icout<<〞aver=〞<max=score[0]; for(i=1; iif(max2.编一程序,其功能是:对键盘输入的年、月、日,计算并输出该日是该年的第几天。

要求:年、月、日别离用year、month、day表示;用函数leap来判别year年是不

是闰年。

提示:非闰年各月的天数可预先放入一个数组中。

void main( ) {

int year , month , day , s , i ; bool leap(int year);

static dofm[13]={0, 31, 28, 31, 30, 31, 30,

31, 31, 30, 31, 30, 31 }; // 0下标〔0月〕不用

cin>>year>>month>>day; s=0;

for(i=1; is=s+day; // 统计非闰年时到month月day日的总天数 if( month>2 && leap(year)==true ) s=s+1;

cout<bool leap(int year)

{ bool flag=false ; // 先设输入的该年不是闰年 if( (year%400==0) || ( year%4==0 && year%100 !=0 ) ) flag=true ; return flag ; }

南昌大学 2021~2021学年第二学期期末考试试卷

试卷编号: ( B )卷

课程编号: 课程名称: C++语言程序设计 考试形式: 闭卷 一、选择题(每题2 分,共30分)

一、以下字符串中能够用作C++标识符的是 A 。

A) _123 B) foo~bar C) case D) 3var

二、字符串〞student〞占用 D 个字节的空间。 A) 7 B) 6 C) 5 D) 8

3、在int a[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是 C 。 A) 3 B) 2 C) 6 D) 4 4、在类中说明的成员能够利用关键字 A 进展修饰。 A) private B) extern C) auto D) register

五、以下关于指针运算的描述错误的选项是: B 。 A)在必然条件下,两个指针能够进展关系运算 B)在必然条件下,两个指针能够相加 C)在必然条件下,指针能够为空

D)在必然条件下,两个指针能够彼此赋值

六、在C++语言中,对函数参数默许值描述正确的选项是: A) 函数参数的默许值只能设定一个

B) 一个函数的参数假设有多个,那么参数默许值的设定能够不持续 C) 函数参数必需设定默许值

D) 在设定了参数的默许值后,该参数后面概念的所有参数都必需设定默许值

7、假定 AB 为一个类,那么执行 AB x ;语句时将自动挪用该类的 。函数 B) 无参构造函数 C) 拷贝构造函数 D) 赋值构造函数

A) 有参构造 八、下述关于开关语句的描述中, 是正确的。 A) 开关语句中default子句能够没有,也能够有一个; B) 开关语句中每一个语句序列中必需有break语句; C) 开关语句中default子句只能放在最后;

D) 开关语句中case子句后面的表达式能够是整形表达式。 九、关于对象概念的描述中, 是错误的。 A) 对象确实是C语言中的构造变量;

B) 对象代表着正在创建的系统中的一个实体; C) 对象是一个状态和操作〔或方式〕的封装体; D) 对象之间的信息传递是通过消息进展的;

10、以下给字符数组进展初始化中, 是正确的。 A) char s1[ ]=\"12345abcd\"; B) char s2[3]=\"xyz\"; C) char s3[][3]={ 'a', 'x', 'y'}; D) char s4[2[3]={\"xyz\ 1一、一个const对象 。

A) 能访问所有成员函数 B) 只能访问const成员函数

C) 也能访问volatile成员函数 D) 能访问const和volatile成员函数 1二、声明类test的拷贝构造函数的正确形式是 。 A) int test B) void test C) test(void) D) test(test&) 13、关于new运算符的以下描述中, 是错的。 A) 它能够用来动态创建对象和对象数组;

B) 利用它创建的对象或对象数组能够利用运算符delete删除; C) 利用它创建对象时要挪用构造函数; D) 利用它创建对象数组时必需指定初始值。

14、在 C++ 中有以下 4 条语句: static int hot=200;int &rad=hot; hot=hot+100;cout<1五、以下关于构造函数的描述中,错误的选项是 。 A) 构造函数能够设置默许参数; B) 构造函数在声明对象时自动执行; C) 构造函数能够对静态数据成员进展初始化; D) 构造函数能够重载;

一、 填空题(每空题1 分,共20分)

一、C++程序中,一个全然语句的最后一个字符是【1】 。

二、一个C++程序的开发步骤通常包括编辑、【2】 、【3】 、运行和调试。 3、类的具体表现是通过概念【4】 __来操作的。

4、一样情形下,依照面向对象的要求,把类中的数据成员(属性)概念为【5】 __权限,而把成员函数(方式)概念为 【6】 __权限。

五、假定用户没有给一个名为MyClass的类概念构造函数和析构函数,那么系统为其概念的默许构造函数形式为_【7】 ____,默许析构函数形式为 【8】 _ 。 六、在类中概念和实现的函数称为_【9】 _。

7、 描述命题\"A大于B或小于C\"的表达式为 【10】

八、C++中没有字符串类型,字符串是通过 【11】 来表示的,每一个字符串都有一个结尾字符【12】 。

九、要使语句p=new double[12][5];能够正常执行,变量p的概念应为【13】 。 10、当一个成员函数被调历时,该成员函数的【14】 指向挪用它的对象。 1一、完成下面的类概念。 class MyClass { public:

MyClass( ) { x = 0; }

【15】 __ int GetNum( 【16】 ___ my); private: int x; };

int GetNum(_【17】 ___ my) { return my.x; }

12、以下程序实现求1~100这100个整数的和的运算。 #include void main( ) { int i ,sum; sum=0;

for(i=1; 【18】 ; 【19】 ) 【20】 ; cout<<〞sum=〞<}

二、

判定题(每题1 分,共10分)

得分 评阅人

1、 C++ 程序中的变量,必需先概念 ( 声明 ) ,才能利用。〔 〕 2、 While循环语句的循环体至少执行一次。〔 〕 3、 C++中许诺对数组进展动态概念。〔 〕 4、 double数据类型属于简单数据类型。〔 〕

5、 类中所提供的成员函数能够直接访问私有成员。〔 〕

6、 返回值类型、参数个数和参数类型都一样的函数也能够重载。〔 〕 7、 友元函数是类的成员函数,因此能够存取或修改该类中的私有成员。〔 〕 8、 析构函数是函数体为空的函数。〔 〕

9、 C++中,当咱们概念了数组 int a[5] ;那么数组元素的下标从 1 到 5 。

( )

10、确实是某个变量的别名,对引用的操作,实质上确实是对被引用的变量的操作。〔 〕

三、 程序阅读题(每题5 分,共20分) 写出以下程序的运行结果。 一、#include

void main() {

int x=3,y=3;

switch(x%2) {

case 1: switch (y)

{ case 0:cout<<\"First\\";

case 1:cout<<\"Second\\";break;

}

default: cout<<\"Hellow\\";

case 2:cout<<\"Third\\n\"; }

}

二、#include void main() {

int a = 50 , b(0) ; b = ++a;

cout<cout<3、#include \"iostream.h\"

void main( ) {

int i=1; while (i<=15)

{

i++;

if (i%3!=2) continue;

else cout <4、#include

class A{ int a; public :

A(int aa=0){a=aa;}

~A(){cout<<〞Destructor A!〞<class B : public A { int b; public:

B(int aa=0,int bb=0):A(aa){b=bb;}

~B(){cout<<〞Destructor B!〞<void main(){

B x(5),y(6,7); }

程序设计题 (每题10 分,共20分)

1、 编写一个判定素数的函数,并输出100-300之间的全数素数之和。 2、 概念并实现一个时钟类,要求能设置并显示时刻。

南昌大学 2021~2021学年第二学期期末考试试卷

C++程序设计〔B卷〕参

一、 1 6 11 二、

选择题〔每题2分,共30分〕 A D B 2 7 12 D B D 3 8 13 C A D 4 9 14 A A C 5 10 15 B A C 填空题〔每空1分,共20分〕

【1】 分号(; ) 【2】 编译 【3】 链接 【4】 成员函数 【5】 private 【6】 public 【7】MyClass(){}【8】 ~MyClass(){ } 【9】 内联函数 【10】 A>B||A【13】 double *p; 【14】 this指针 【15】 friend 【16】 MyClass

【17】 MyClass 【18】 i<=100 【19】 i++ 【20】 sum+=i

三、 1 6 √ 判定题〔每题1分,共 10 分〕

2 7 × × 3 8 × × 4 9 √ × 5 10 √ √ × 四、 程序阅读题 (每题5分,共20分)

一、 Hellow Third 二、 2 5 8 11 14

二、 51,51 4、 Destructor

52,51 Destructor A! 6 Destructor B! 0 Destructor A! 5 五、 程序设计题 (每题10分,共20分)

一、

bool prime(int n) #include {

bool prime(int n); for(int i=2;i{ int sum=0;

if (n%i == 0) for(int i=100;i<300;i++) {

if(prime(i)) sum+=i; return false;

} cout<<\"Sum=\"<}

return TRUE;

7 B! }

二、#include using namespace std; class Clock { public:

void SetTime(int h=0,int m=0,int s=0); void ShowTime(); private:

int Hour,Minute,Second; };

void Clock::SetTime(int h,int m,int s) {Hour=h; Minute=m; Second=s; }

void Clock ::ShowTime() {

cout<void main() {

Clock MyClock;

MyClock.SetTime(8,10,30); MyClock.ShowTime()

南昌大学2021~2021学年第一学期C++程序设计期末考试试题A卷 一、 说明:请将前面4个大题的

答案写到答题卡上

单项选择题(每题2分,共30分)

一、 C++程序从上机到取得结果的几个操作步骤依次是________。 A. 编译、编辑、连接、运行 B. 编辑、编译、连接、运行 C. 编译、运行、编辑、连接 D. 编辑、运行、编辑、连接

二、 设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

五、 在下面的二维数组概念中,正确的选项是________。 A. int a[5][ ]; B. int a[ ][5]; C. int a[ ][3]={{1,3,5},{2}}; D. int a[ ](10); 六、 以下表达中不正确的选项是________。 A. 在一个函数中,能够有多条return语句 B. 函数的概念不能嵌套,但函数的挪用能够嵌套 C. 函数必需有返回值

D. 不同的函数中能够利用一样名字的变量

7、 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择________。

A.内联函数 B.重载函数 C.递归函数 D.函数模板 八、 假设用数组名作为函数挪用的实参,传递给形参的是________。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组全数元素的值 D. 数组元素的个数

九、 类的构造函数是在概念该类的一个________时被自动挪用执行的。 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));

1一、 对class point,如利用point * ptr=new point[2];创建对象数组,那么删除此数组利用的语句是________。

A. delete ptr[2]; B. delete[ ] ptr; C. delete ptr[ ]; D. delete[2] 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!〞;

1五、 概念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];

二、 判定题,对的画√,错的画×(每题 1分,共 10 分) 〔 〕一、 在说明语句 int a(15),&b=a,*p=&a;中,b的值与*p的值是不相等的。

〔 〕二、 break语句也能够用于switch体内,它可退出switch语句。 〔 〕3、 在一个被挪用函数中,一个return语句可返回多个值给挪用函数。 〔 〕4、 宏概念命令是以分号完毕的。

〔 〕五、 do -while循环语句的循环体至少执行一次。 〔 〕六、 函数形参的作用域是该函数的函数体。 〔 〕7、 静态类标识符在它的作用域之外是不存在的。

〔 〕八、 对象成员的表示与构造变量成员表示一样,利用运算符.或->。 〔 〕九、 某类中的友元类的所有成员函数能够存取或修改该类中的私有成员。

〔 〕10、 const char *p说明了p是指向字符串的常量指针。

三、 填空题(每空 2分,共 20 分) 一、 一个完整程序中必需有一个名为_【1】 _的函数。

二、 程序中的预处置命令是指以___【2】___字符开头的命令。

3、 假定x=5,y=6,那么执行表达式y*=x++计算后, y的值为____【3】___。 4、 为语句标号利用的C++保留字case和default只能用于___【4】___语句的概念体中。

五、 假设只需要通过一个成员函数读取数据成员的值,而不需要修改它,那么应在函数头的后面加上___【5】_____关键字。

六、 假设在类的概念体中只给出了一个成员函数的原型,那么在类外给出完整概念时,其函数名前必需加上___【6】____和两个冒号分隔符。

7、 假定用户只为类AB概念了一个构造函数“AB(int aa, int bb=0) {a=aa; b=bb;}〞,那么概念该类的对象时,其实参表中最多带有___【7】__个实参。 八、 完成下面类中的成员函数的概念。 class point { private: int m,n; public:

point(int,int); point(point&); };

point::point(int a,int b) { m=a;n=b; } point::point(__【8】_)

{ m=t.m; n=t.n; }

九、 完成下面类中的成员函数的概念。 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分〕

一、 #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 fun(int a,int * b, int *c,int &d) {

a++; b++; (*c)++; d++; return; }

二、 #include void main() { int i,j,k;

for(i=1;i<=4;i++) {

for(k=1;k<=4-i;k++) cout<<' ';

for(j=1;j<=2*i-1;j++) cout<<'*'; cout<3、 #include 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<4、 #include class Point { int x,y; public:

Point(int x1=0, int y1=0) :x(x1), y(y1) { cout<<\"Point:\"<~Point() {

cout<<\"Point destructor!\\n\"; } };

class Circle {

Point center; //圆心位置

int radius; //半径 public:

Circle(int cx,int cy, int r):center(cx,cy),radius(r) { cout<<\"Circle radius:\"<~Circle() {cout<<\"Circle destructor!\\n\";} };

void main()

{ Circle c(3,4,5); }

五、 程序设计题 (每题10分,共20分)

一、 设计一程序,它输入10个整数到一个数组中,调整这10个数在数组中的位置,使得其中最小的一个数成为数组的首元素,最大的一个数成为数组的末元素。

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

南昌大学 2021~2021学年第一学期期末考试试卷

C++程序设计〔A卷〕参

一、 单项选择题〔每题2分,共30分〕 1 B2 D3A4C5C6C7A8A9C10C11 B12B 13D 14D15A

二、 判定题〔每题1分,共 10 分〕 1×2√ 3×4 ×5√6√7×8√9√10× 三、填空题〔每空2分,共20分〕

【1】 main 〔或 主〕 【2】 # 【3】 30 【4】 switch

【5】 const 【6】 类名 【7】 【8】 point& t 【9】 :a(aa),b(bb) 【10】 四、 程序阅读题 (每题5分,共20分) 一、 错1个扣1分 a1=10 a2=20 a3=31 a4=41

二、 有三角形状,得3分 * *** ***** *******

3、 格式不对,扣1分 12 20

4、 顺序不对,扣1分

两〔或 2〕 A * p=&x Point:3 4 Circle radius:5 Circle destructor! Point destructor!

五、 程序设计题 (每题10分,共20分)

一、 #include #define SIZE 10 void main() {

int data[SIZE]; int m;

cout<<\"请输入\"<>data[m]; int j=0,k=0;

for(int i=1;idata[j])j=i; else if(data[i]0){

int d=data[0]; data[0]=data[k]; data[k]=d; }

if(kint d=data[SIZE-1]; data[SIZE-1]=data[j]; data[j]=d; }

cout<for (m=0;m二、 #include class CDate { public:

CDate () //函数重载 { Year=1990;Month=1;Day=1; }

CDate (int y,int m=1,int d=1) //成员函数设置缺省参数 { Year=y;Month=m;Day=d; } void PrintDate (); //打印日期

void SetDate(int sy,int sm,int sd) //非静态函数设置日期 {Year=sy;Month=sm;Day=sd;} private:

int Month,Day,Year; //3个私有数据成员

};

void CDate::PrintDate()

{ cout<< Year<<\"-\"<< Month<<\"-\"<< Day<

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务