东南大学C考试卷.doc

合集下载

东南大学C程序设计上考试卷A卷

东南大学C程序设计上考试卷A卷

东南⼤学C程序设计上考试卷A卷东南⼤学C++程序设计(上)考试卷( A 卷)课程名称考试学期得分适⽤专业电类、⾮电类考试形式闭卷考试时间长度100分钟(⼀)选择题(每空2分,共20分)1. 设有说明“int i=10;float x;”,执⾏“x=5/i;”后,x的值为_____A. 0.5B. 0C.D. 以上皆否2. 在while(!a)中,其中!a与表达式__________等价。

A. a==0B. a==1C. a!=1D. a!=03. 下⾯的整型常数中错误的是__________。

A. 123B. 380C. 038D. 0xAF4. 以下__________不能⽤作标识符A. B. _1234 C. GetName D. b_tree5. 设以下变量均为int类型,则值不等于10的表达式是________。

A.x=y=9,x+y,x+1 B.x=y=9,x+y,y+1C.x=9,y=1,y=x,x+y D.y=9,y+1,x=y,x+16. 若定义函数,int f(int x) {x*=10;return x;} 执⾏以下语句,int a=3,b;b=f(a) + f(a) 之后a,b的值是________。

A.3,30 B.30,60 C.300,330 D.3,3307. 已知int i=0;while(i++!=7); 当while循环结束后,变量i的值为________。

A.5 B.6 C.7 D.88. 表达式__________是满⾜:当c的值为1、3、5三个数时值为“真”,否则值为“假”的表达式A. (c=1)||(c=3)||(c=5) B. (c!=1)&&(c!=3)&&(c!=5) C. (c==1)&&(c==3)&&(c==5) D. (c==1)||(c==3)||(c==5)9. 对于C++的函数,正确的叙述是__________________A.函数的定义不能嵌套,但函数的调⽤可以嵌套B.函数的定义可以嵌套,但函数的调⽤不能嵌套C.函数的定义和调⽤都不能嵌套D.函数的定义和调⽤都能嵌套10. 若定义函数时未指定函数的返回类型,则函数的返回类型为_______________A.void B.int C.double D.编译出错(⼆)填空题(每空1分,共10分)1.已知⼩写字母A的ASCII码值是65,则下列语句执⾏后输出是char c = 66;cout<2. 设y是int型变量,判断y为奇数的关系表达式为_______________。

东南大学C++期中考试题

东南大学C++期中考试题

东南大学课程名称C++程序语言设计考试学期2012-2013 得分适用专业公共课考试形式闭卷考试时间长度90分钟姓名学号说明(1)本卷满分100分;(2)试卷中凡含4个选项的选择题,均只有一个正确答案;(3)答题时,要求书写工整,如果字迹过于潦草、模糊不清造成无法辨认,视为错答;(4)所有答题均应填写在答题纸上对应的序号栏内,仅写在试题栏中不予评分;一. 选择(每空1.5分,共30分)1.下面 (1) 是合法的用户定义标识符A) AHJ B) BDG C) CEF D) CFIA. P-SB. putcharC. doubleD. _908E. *parF. caseG. windH. x yI. intJ. s[5]2.下面能正确表示为C++常量的是 (2)A) ABCD B) ABCGH C) ADEF D) ABCDHA. 125B. -.456C. 1.25e20D. 'AB'E. E6F. 0238G. 0xabcdefH. "\n\\\'\123"3.以下属于C++语言的基本类型是 (3)A) ACF B) ABC C) ACE D) CDFA. 整型B. 数组型C. 字符型D. 构造型E. 实形F. 空类型4. 4.设int x=5; 执行x-=1.4;后x的值为_(4)_A) 2.6 B) 3 C)3.6 D)45.设有变量说明:char a=…d‟,b=…e‟,c; 执行c=2*a-b;后,变量c的值为_(5)_A) …d‟ B)…e‟ C)…c‟ D) …b‟6.设有说明语句char w; int x; float y; double z;则表达式w x+z-y的结果是 (6)类型A)float B)char C)int D)double7.设有定义 int a,b; 执行语句 b=(a=2+3,a*4),a+5; 后,a和b的值是_(7)_A) 10 10 B) 20 25 C) 5 20 D) 5 258.有说明:int m=4;执行语句m+=m*=m-=m/=m;后,m的值是: (8)A) 0 B) 1 C) 8 D) 169.下列错误的表达式是: (9)A) k+++j B) x*=y+2.5 C) 4.0%2.0 D) a+b>c+d?a:b10.有说明:int x=1,y=1,z=1,k;执行语句k=x++||++y&&++z;后,变量x、y、z、k的值依次是: (10)A) 1 2 2 1 B) 1 2 1 0 C) 1 1 2 0 D) 2 1 1 111.a≠b 并且c≤d的C++表达式描述为_(11)_A)a!=b&&c<=d B) a!=b||c<=d C)a=!b&&c<=d D) a!=b||c=<d12.设有变量定义int x=100,y=1; 若执行语句:x=y>1? ++x=100: y=x--;则变量x,y的值为_(12)_A) 101, 99 B)100, 100 C)101, 1 D)100, 113.以下关于if语句的错误描述为:(13)。

(最新整理)东南大学08级C++(下)上机试卷和答案解析

(最新整理)东南大学08级C++(下)上机试卷和答案解析

(完整)东南大学08级C++(下)上机试卷和答案解析编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)东南大学08级C++(下)上机试卷和答案解析)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)东南大学08级C++(下)上机试卷和答案解析的全部内容。

东南大学08级C++(下)上机试卷D和答案解析(考试时间80分钟卷面成绩100分)学号姓名机位号说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*。

CPP文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP文件。

一、改错题(50分)【要求】调试程序,修改其中的语法错误及少量逻辑错误。

只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。

【注意】源程序以“学号f1。

cpp”命名,存入自己学号文件夹。

【题目】以下程序实现动态生成数据成员,析构函数用来释放动态分配的内存,复制构造函数和复制赋值操作操作符实现深复制.【含错误的源程序】#include 〈iostream>#include 〈cstring〉using namespace std;class student{char *pName;public:student( );student( char *pname, int len );//错误1student( student &s );~student( );student & operator = ( student &s );} //错误2 student::student( ){cout >> ”Constructor”;//错误3pName = NULL;cout << "默认" << endl;}student::student( char *pname ){cout 〈< "Constructor";pName = new char[strlen(pname)+1];if ( pName ) strcpy( pName, pname );cout 〈〈 pName << endl;}student::student( student s ) //错误4{cout<<"Copy Constructor";if( s。

2022年东南大学公共课《C语言》科目期末试卷A(有答案)

2022年东南大学公共课《C语言》科目期末试卷A(有答案)

2022年东南大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int a=-1;a=a|0377;printf("%d,%o\n",a,a);以上程序段的输出结果是_______。

2、结构化程序由________、________ 、________ 3种基本结构组成。

3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、C语言中的标识符可分为关键字、_______和_______3类。

5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、若有定义:int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[3],k;则下面程序段的输出是_______。

for(k=0;k<3;k++)q[k]=8.a[k*4];printf("%d\n",q[2][3]);7、下面程序段中循环体的执行次数是_______。

a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。

union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。

char cl,c2;scanf("%4c%4c",&cl,8&c2);10、字符串"ab\n\\012\\\"”的长度是_______。

二、选择题11、在C语言中,char型数据在内存中的存储形式是()。

A.补码B.反码C.原码D.ASCII码12、以下表达式值为3的是( )A.16-13%10B.2+3/2C.14/3-2D.(2+6)/(12-9)13、根据以下定义语句和数据的输入方式,scanf语句的正确形式应为。

东南大学C期末考试题

东南大学C期末考试题

读书破万卷下笔如有神2008-2009学年C++(下)期末考试模拟试题一、选择题(每题2分,共30分)1. 下列程序段的运行结果是()。

char c[]=”\t\v\\0will\n”;cout<<strlen(c);A. 4B. 3C. 9D. 字符串中含有非法字符,输出结果不确定2. 已知定义类A,该类的构造函数的参数都没有缺省值。

执行语句:A a1(2) ,a2(1,2), *p=new A[3];则自动调用该类缺省的构造函数的次数为()。

A. 1B. 2C. 3D. 53. 下列叙述正确的是()。

A. 虚函数是一个static类型的成员函数B. 虚函数是一个非成员函数C. 包含虚函数的基类为虚基类D. 包含存虚函数的基类为抽象类4. 下列关于赋值兼容性规则的叙述不正确的是()。

A. 派生类的对象可以赋值给基类的对象B. 基类的对象可以赋值给派生类的对象C. 派生类的对象可以初始化基类对象的引用D. 可以将派生类对象的地址赋值给其基类的指针变量5. 设有定义int a[][3]={1,3,5,7,9,11,13,15,17};int *p=a[2];则*(p+1)的值为()。

A. 15B. 7C. 14 B. 66. C++中多态性包括两种:编译时的和运行时的。

运行时多态性是通过( )实现的。

①函数重载②运算符重载③类继承关系④动态链接⑤虚函数A. ①和②B. ③和⑤C. ④和⑤D. ③和④7. 关于动态内存分配,对delete运算符的下列说法中,()是错误的。

A. 应与new运算符配合使用。

B. 可以在类的成员函数中使用。

C. 对同一个指针变量可任意多次使用该运算符。

D. 若a是一个二维数组,则delete []a; 可删除a所占用的存储空间。

8. 设int x; int *p2=&x, *p1=&x; *p1=a; *p2=*b; 则变量a和b的类型分别是()。

东南大学c++复习三(含答案)

东南大学c++复习三(含答案)

一.选择(1.5×20分)1.下列关于构造函数说法正确的是 C 。

A.构造函数不能重载.B.拷贝构造函数必须由用户显式定义C.构造函数可以使用初始化列表D.构造函数可用private限定其访问权限.2.下列关于指针的操作中,错误的是D 。

A.两个同类型的指针可以进行比较运算。

B.可以用一个空指针值赋给某个指针变量。

C.一个指针可以加上两个整数之差。

D.两个同类型的指针可以相加。

3.关于字符串,以下陈述错误的是C 。

A.字符型二维数组可以存储多个字符串。

B.输出一个字符串时,不需要使用循环输出每个字符串。

C.使用库函数strlen求出的串长度包括串结束符。

D.字符型指针可以定义时赋予一个字符串常量的存储地址。

4.设有说明int (*ptr)[M];其中的标识符ptr是 C 。

A.M个指向整型变量的指针B.指向M个整型变量的函数指针C.一个指向具有M个整型元素的一维数组的指针D.具有M个指针元素的一维指针数组,每个元素都只能指向整型变量5.关于抽象类,下列表述正确的是(5) 。

A.抽象类的成员函数中至少有一个是没有实现的函数(即无函数定义的函数)B.派生类必须实现作为基类的抽象类中的纯虚函数C.派生类不可能成为抽象类D.抽象类不可能用来定义对象6.下列关于派生类的叙述中不正确的是(6) 。

A.派生类可以作为基类派生出新的派生类B.一个派生类可以有多个基类C.派生类继承了基类所有成员D.派生类只能继承基类中的非私有成员7.设有说明int (*ptr)[M];其中的标识符ptr是7A)M个指向整型变量的指针B)指向M个整型变量的函数指针C)一个指向具有M个整型元素的一维数组的指针D)具有M个指针元素的一维指针数组,每个元素都只能指向整型变量8.有关内存分配的说法中,是(8) 错误的。

A.指针变量可以保存动态分配的存储空间B.数据元素存储在堆区的数组在建立时就被初始化(清零)C.用new为指针变量分配的存储空间可以是一个数组。

东南大学C++程序设计(上)考试卷(A卷)

东南大学C++程序设计(上)考试卷(A卷)
{
int a=6,b=7; cout<<f(a,b)/m<<endl;
}
执行完毕之后的输出结果是
5.设有如下程序。
void main()
{
char c;
cin>>c; if(c<='z'&&c>='a') c=c-'a'+'A';
if(c<='Z'&&c>='A') c=c-'A'+'a';
cout<<c<<endl;
}
程序执行后,若输入英文字母’B',则程序输出;若输入英文
字母'b',则程序输出。
6.阅读下列程序
#include<iostream>
using namespace std;
int a,b;
void f(int j){
static int i=a;//注意静态局部变量
int m,n;
m=i+j; i++; j++; n=i*j; a++;
东南大学
课程名称考试学期
适用专业 电类、非电类 考试形式 闭卷
(一)选择题(每空2分,共20分)
1.设有说明 “int i=10;float x;”,执行“x=5/i;”后,x的值为
A.0.5 B.0C. 1.0 D.以上皆否
2.在while(!a)中,其中!a与表达式价。
A. a==0 B. a==1 C. a!=1D. a!=0

东南大学试卷2011-2012-3c++(A)

东南大学试卷2011-2012-3c++(A)

课程名称程序设计基础及语言2 考试学期11-12-3适用专业计算机科学与技术软件工程考试形式半开卷考试时间长度笔试120分钟机试100分钟总分:100分共10 页第1 页课程名称程序设计基础及语言2 考试学期11-12-3卷面60分适用专业计算机科学与技术软件工程考试形式半开卷考试时间长度笔试120分钟仅允许携带课程指定教材请将答案写在答题纸上第一部分笔试Note: All answers must be written on answer sheet!I.To answer the following questions and read the following programs:(20 scores)1.What does the following program output? (5 scores)#include <iostream>using namespace std;class X {public:X(){ cout << “X::Hello world!” << endl; }X(X& x){ cout << “X::Copy!” << endl; }~X(){ cout << “X::Good Bye!” << endl; }};class Y : public X {public:Y(){ cout << “Y::Hello world!” << endl; }Y(Y& x){ cout << “Y::Copy!” << endl; }~Y(){ cout << “Y::Good Bye!” << endl; }private:X x;};Y y;X x = y;int main(){ }2.What does the following program output? (3 scores)#include <iostream>using namespace std;共10 页第2 页{double a=0;try{ throw a; }catch(double){ cout<<”OK2!”<<endl; throw; }cout<<”end2”<<endl;}void f1( ){try{ f2( ); }catch(char){ cout<<”OK1!”<<endl; }cout<<”end1”<<endl;}int main( ){try{ f1( ); }catch(double){ cout <<”OK0!”<<endl; }cout<<”end0”<<endl;return 0;}3.What does the following program output? ( 12 scores) #ifndef TEST_H#define TEST_Hclass A {friend void f7( A*, A* );public:A( int, int );void f1( );void f5( );virtual void f2( );static int m;protected:void f3( );共10 页第3 页private:void f4( );int y;};class B : protected A {public:B( int, int b = 4 );void f1( );void f2( );void f4( );private:int x;int y;};class C : public A {public:C(int,int);void f1 ( ) ;void f2 ( ) ;};class D : private A {public:D( int, int );void f1 ( );void f2 ( );void f6 ( );};class E : private B {public:E( int, int );void f1 ( );};#endif//------------------------------#include <iostream>#include "test.h"using namespace std;int A::m = 88;A::A( int a, int b ): x (a), y(b) { }共10 页第4 页void A::f1( ){ cout << "f1 in A" << endl; }void A::f2( ){ cout << "f2 in A" << endl; }void A::f3( ){ cout << "f3 in A" << endl; }void A::f4( ){ cout << "f4 in A" << endl; }void A::f5( ){ A::f4(); cout << "f5 in A" << endl; }B::B( int a, int b ) : A( a, b ), x(a), y(b){ }void B::f1( ){ cout << "f1 in B" << endl; }void B::f2 (){ cout << "f2 in B" << endl; }void B::f4 (){ A::f1(); cout << "f4 in B" << endl; }C::C( int a, int b ) : A (a, b) { }void C::f1 ( ) { cout << "f1 in C" << endl; }void C::f2 ( ) { cout << "f2 in C" << endl; }D::D( int a, int b ) : A (a, b) { }void D::f1 ( ){ A::f5(); cout << "f1 in D" << endl; }void D::f2 ( ){ cout << "f2 in D" << endl; }void D::f6 ( ){ f1(); A::f1();}E::E( int a, int b ) : B (a, b) { }void E::f1 ( ){ A::f1(); B::f1(); cout << "f1 in E" << endl; cout << A::x << endl; } void f7( A* a, A* b ){ cout << "friend:" << a->x + b->x << endl; }//-----------------------------#include <iostream>#include "test.h"using namespace std;int main(){A a( 1, 2 ), *p1, *p2, *p3, *p4;B b( 3 );f7( &a, (A*)&b );C c( 5 ,6 );D d( 7, 8 );E e( 9, 10 ), *p5;f7( (A*)&b, (A*)&c );cout << A::m << " " << c.m << endl;b.f1( );b.f4( );p1=&a;p2=(A *)&c;p3=(A *)&d;p4=(A *)&e;p5=&e;共10 页第5 页p1->f2( );p2->f2( );p3->f2( );(*p4).f2( );d.f1( );p4->f5( );p5->f1( );}II.To fill in the following blanks to complete program segments. (20 score)1.The definition of generic stack class. (10 scores)template < _______ T >class stack {public:stack( int s= 10 );~stack( ){ delete [ ] stackPtr; }bool push ( ______ T & );bool pop( ) ( T& );……private:int size, top;T * ______;};template < typename T >stack___::stack( int s ) : size(s), top( -1 ), stackPtr( ______ ){ }……2.Operator overloading (10 scores)// member function implementationBigInt BigInt::operator++( ){IncrementBigInt(); // increment BigIntreturn _______;}共10 页第6 页BigInt BigInt::operator++( _____ ){BigInt temp = *this;IncrementBigInt(); // increment BigIntreturn temp;}// friend function implementationBigInt operator++( BigInt & t ){t.IncrementBigInt(); // increment BigIntreturn _______;}BigInt operator++( _____ , int ){BigInt temp = ______;t.IncrementBigInt(); // increment BigIntreturn temp;}III.To write programs or program segments according to the requirements(20 score)1.To write a program that creates a string array, sorts and outputs the array. (8 scores) Hint: you must use the standard string class.2.According to the following requirements, designing and using some classes: (12 scores) 1) To implement two derived classes Rectangle and Circle from base class Shape which is defined as following;class Shape {public:Shape(string& n);string getName() const;virtual double getArea() const; private:string name;}Shape::Shape(string& n){ name = n; }string Shape::getName() const{ return name; }virtual double Shape::getArea() const; { }2) Each derived class must re-implement all member function;3) Writing main function which defines a pointer array Shape * p[6], assigns corresponding共10 页第7 页addresses of instance to its each element according to input, access the array by a loop statement and call the member function getName(), getArea();4) Separating interface from implementation.东南大学考试卷( A 卷)课程名称程序设计基础及语言2 考试学期11-12-3卷面40分适用专业计算机科学与技术软件工程考试形式半开卷考试时间长度机试100分钟仅允许携带课程指定教材第二部分机试要求:1.编程:a)在本地D:或E:盘中,建立自己的文件夹,用来完成程序的编写和调共10 页第8 页试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

f屮的数值保留小数点后两位, A) ABC B) BCD C) BCA.f=(f* 100+0.5)/100.0;C.f=(int)(f* 100+0.5)/100.0; 第三位进行四舍五入运算的是(C) D)CDB.i=f* 100+0.5,f=i/100.0;D.f=(f/100+0.5)* 100.0;东南大学考试卷一・选择题(以下各题均只有一个正确答案,每题1分,共20分)5.有关运算符重载的说法,正确的是:(B )A.运算符重载函数最多只能有一个形参B.调用重载运算符的成员函数时,必须有一个运算符的操作数是对彖或引用C.调用重载运算符的成员函数时,调用程序的右操作数必须是对象D.调用重载运算符的友元函数时,调用程序的右操作数必须是对象6.重载运算符时,运算符的(A)A)优先级和结合律均不能改变;B)优先级和结合律均可以改变。

C)优先级可以改变,但结合律不能改变;D)优先级不能改变,但结合律可以改变;7.己知变量f为float类型,i为int类型,以下表达式语句中能够实现将8.设a=20,b=30;执行语句a+=b;b=a-b;a-=b;后,a b 的值分别是(D) A. 20,20 B. 30,30 C. 20,30 D. 30,20 9.下面各说明语句中合法的是(C):A) ADE B) ABC C) BDE D) HFDA. static int n; int floppy[n];B. char ab[10];C.char chi[-200];D. int aaa[5]={ 3,4,5};E.float key[ ]={3.0,4.0丄0};F. char diskf ];10 .函数原型为abc(float x,char y);该函数的返回值类型为(A)。

A) int B) char C) void D) float11.设有数组说明inta[10],数组中各元素已含有如下数据:数组元素:a[0] a[l] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]元素的值:94 12 82 10 75 1 3以下(B)不能正确访问该数组的数组元素。

A)a[a[0]] B)a[a[2]] C)a[a[ l]+a[9]] D)a[a[8]+a[2]]12 . C++语言的可执行程序是从(C)开始执行A.程序中第一条可执行语句B.程序屮第一个函数C.程序中的main函数D.包含文件中的第一个指令13.若定义一个返冋值为整型的内联萌数func(int a){ ............. },在函数名func 前应有说明(D) oA. int inline C. inside intB. int inside D. inline int14 .设有定义:int a=l,b=10;贝!J执行以循环下语句后,do{b-=a;a++;}while(b-<0);a、b值为(D)A) 8 2 B)-2 C)-l 8 D)2 815.若有以下语句,则下面(B)是正确的描述static char x[ ]=" 12345";static char y [戶{T,'2','3','4','5‘};A)x数组和y数组的长度相同B)x数组长度大于y数组长度C) x数组长度小于y数组长度D) x数组等价于y数组16.若a,b均为int型变量,且a=100,则以下关于for循环语句的正确判断是(C)A)循坏体只执行一次B )死循坏C )循环体不执行D )输出■…for(b=100;a!=b;+4-a,b—) cout«w ----\n";若将其中的表达式b=100改为b二99 ,则正确的判断是(B)A)循环体只执行一次B )死循环C )循环体不执行D )输岀•…17・在以下存储类型中,(C)是用于定义动态类型的变量。

A static 和autoB register 和externC register 和autoD static 和register19 .以下正确的描述为(C)A )每个C++程序必须在开头含有预处理命令includeB )预处理命令必须位于C++源程序的首部C )在C++中,预处理命令都以#开头D ) C++语言的预处理命令只能实现宏定义和条件编译的功能20 .以下不正确的描述为(B)A )在函数Z外定义的变量称为外部变量,外部变量是全局变量。

B )在函数之内说明的外部变量是局部变量,仅在本函数中有效。

C )在函数之外说明的静态变量是全局变量,其作用域整个程序文件。

D )文件作用域的范围是一个程序文件,但必须符合“定义在前,使用在后”的规则。

21.如果有说明inti,ch;则下列循环语句(A) o fbr(i=0,ch=0;i<=9&&ch!='a';i++) cin»ch;A )最多执行10次B )最多执行9次C )是无限循环D )循环体一次也不执行22 •设有宏定义如下:#define MIN(x,y) (x)>(y)?(x):(y)#define T(x,y,r) x*r*y/4则执行以下语句后,si、s2的值分别为(A) o int a=l,b=3,c=5,sl,s2;sl=MIN(a=b,b-a); s2二T(a++,a*++b,a+b+c);A) 3 27 B ) 27 3C ) 24 1D ) 3 241)sl=(a=b)>(b-a) ?(a=b):(b-a)2)s2= a++*a+b+c*a*++b/y=3*3+3+5*3*4/4= 27二.阅读程序,回答问题(共32分)1.(本题3分)#includeclass A{ int x,y;public:A(int a,int b){x=a; y=b; coutvv”ABC"vv、t;}A(){ x=3; y=4; coutvv”CBA”《W;}void Show(){ cout«',x="«x«,\t'«,'y=,,«y«,\t,;}-A(){cout«,,XYZ,,«,\n,;}};void main(void){ A s(l,2); s=A(2,3); s.Show(); }问题一:木程序输出的第一行是(1)(1) ABC ABC XYZ 问题二:本程序输出的第二行是⑵⑵x=2 y=3 XYZ2.(本题4分)# includeclass A{public:A(int a) { x=a; cout«,,x="«x«,\t'«,,*A*',«,\n'; }〜A() { cout«,,-A-',«,\n,; }private:int x;};class B{A y; int s;public:B(int a,ini bunt c): y(a+b+c){ s=c-b; cout«n s=n«s«,\t,«,,*B*,,«,\n,; }〜B() { cout«,,-B-H«,\n,; }};void main(void){ Bs(l,2,3); }问题一:本程序共输岀A行问题一:各行的输出结果依次是(4)x=6 *A*/s二1水B%B・/・A-3 .(本题3分)#includeclass node{int x,y;public:node(int a,int b){ x=a; y=b; cout«"node_l H«'\n'; }node(){ x=a.x; y=a.y; cout«"node_2,,«,\n,; }void Show(){cout«,,x=,,«x«,\t,«,'y=H«y«,\n,; }};void main(void){node fl (5,6); node f2(fl); f2.Show();}问题一:类中定义了两个构造函数,其中一个是缺省参数的构造函数。

但主函数中的对象要求有对应的形参,这个形参的正确定义是(5)问题二:当对应的形参被正确定义后,执行结果依次是(6)(5)node &a(6)node_ 1 /node_2/x=5 y=64.( 5 分)#includeclass A{ int x;public:void Show(){ cout«n x=,,«x«,\t,;}A(int a=10){ x=a; cout«"*A*"«'\n'; }-A(){cout«,,-A-',«,\n,;}};void main(void){ A f; f.Show(); f=20; f.Show(); }问题一:本程序共输出(7 )行,(7)4问题二各行输出结果依次是(8) (8)*A*/x=10 *A*/-A-/x=20 -A-5.( 6 分)#includeclass A{ int x;public:A(int a){ x=a; cout«',x="«x«,\t'«"*Al*,'«,\n,; }A(A &s){ x=s.x+l; cout«',*A2*"«'\n,; }-A() {cout«,,x=,,«x«,\t,«n-A-,,«,\n,;)};void main(void){ Afl(l), f2(fl); }问题一:本程序共输出(9)行,类屮的析构函数被访问(10)次问题二:各行的输出结果依次是(11)⑼4(10)2(11) x=l *A1 */*A2*/x=2 -A-/x= 1 ・A-6.(10 分)^includeenum ec {a, b, c, d, e};char cp[]={,a,,,b,,,c,,,d,,,e,};class Rect{private:int width,hight, color;public:Rect (int x=10, int y=10, int c=a):width(x), bight(y), col or(c){};void SetRec(int w, int h, int c){width二w;hight二h;color二c;}int Area () {:return width*hight;}Rect operator +(Rect b);void Display ();};Rect Rect::operator +(Rect b) {Rect s;s. width二width+b. width;s. hight=hight+b. hight;s.color= (color+b. color)%5;return s;}void Rect: :Display。

相关文档
最新文档