1、C+语言程序设计,Page 1,第一学期C+复习,考试题型,单选题(30) 判断题(10) 综合题(包括读程序、程序填空、程序改错等)(40) 编写程序(20),例1 下列程序中包含三个错误,找出它们并说明错误原因,并改正。 1 class MyClass 2 3 public: 4 MyClass(int ini) member = ini ; 4 void SetMember( int m) member = m; 5 int GetMember( ) return member; 6 private: 7 int member; 8 ; 9. 10void main( ) 11 12 M
2、yClass obj1; 13 MyClass obj2(3) ; 14 obj1.member = 5 ; 15 MyClass.SetMember(10) ; 16 ,错误1:第12行,类MyClass没有定义默认构造函数;,错误2:第14行,member 是类MyClass的私有成员,不能直接访问;,错误3:第15行,应该通过对象来访问成员函数,而不是通过类名来访问成员函数。,例2 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果分别是_。#include int main( )int x;cin x;if(x+ 5) cout x endl;else cout x- endl
3、;return 0; ,A)6和3 B)7和5 C)7和4 D)6和4,B,例3 以下程序的输出结果是_。 #include int main( )for(int i=4; i=10; i+) if(i%3= =0) continue;cout i;return 0; A)45 B)457810 C)69 D)678910,B,例3 以下程序的执行结果是_。 #include #include void print(int n) if(n!=0) print(n-1);for(int i=1; i=n; i+)cout setw(3) i;cout endl; int main() print
4、 (4);return 0; ,11 21 2 31 2 3 4,1、下列变量名中,_是合法的标识符。 A、_var B、bye-bye C、int D、123_cc,单选题:,A,2、函数原型中,下列 不是必要的。A、 函数的类型 B、 函数名 C、 形式参数名 D、 形式参数类型,C,3、循环for(int i=0,x=0;!x的循环体执行次数是_。 A、5 B、6 C、1 D、无限,B,4、如果a=5,b=2,c=3,d=4,则条件表达式ab?a:cd?c:d的值为_。A、5 B、2 C、3 D、4,A,P33 表2-4对于相继出现的两个操作符,若优先级不同,优先级高的先执行;若优先级相
5、同,执行顺序取决于第一个操作符的结合性:若为“从左到右”,则先处理左边的操作符;若为“从右到左”,则先处理右边的操作符。,而:(ab?a:c)d?c:d) _,D,5、在一个被调用函数中,关于return语句的描述, _是错误的。 A、被调用函数中可以不用return语句B、被调用函数中可以使用多个return语句C、被调用函数中,如果有返回值,就一定要有return语句D、被调用函数中,一个return语句可以返回多个值给调用函数,D,1、C+源程序经_后生成扩展名为obj的目标程序。 2、操作符_可用来测试数据类型的字节长度。 3、有三个整型变量x,t,y,要交换x和y的值,应顺序执行的三
6、个赋值语句是 。 4、给类对象中的数据成员赋初值的成员函数又称为_。,t=x;x=y;y=t;,sizeof,编译,构造函数,5、表达式83的结果是_。 6、用const进行常值变量的定义时必须进行_。,11,初始化,#include class Csample private:int i;static int k;public:Csample( );void Display( ); ; int Csample:k=0; Csample:Csample( ) i=0;k+;,void Csample:Display( )cout”i=”i”,k=”kendl; void main( )Csam
7、ple a,b; a.Display( ); b.Display( ); ,i=0,k=2 i=0,k=2,#include #include class Csample int i;public:Csample( ) i=0;cout “constructor1“ endl; Csample(int val) cout “Constructor2“endl;i=val;void Display( ) cout“i=“iendl;Csample( ) cout“Destructor“endl;getch(); ;,void main() Csample a,b(10);a.Display();
8、b.Display();,constructor1 Constructor2 i=0 i=10 Destructo Destructo,#include class Dog public:Dog(int iniage=0 , float iniweight=0);Dog(Dog ,Dog:Dog(int iniage,float iniweight) age=iniage;weight=iniweight;cout“构造函数被调用“endl; Dog:Dog(Dog ,void main() Dog dog1(3,6.0);Dog dog2;Dog dog3(dog1);coutdog1.GetAge( )endl;coutdog1.GetWeight( )endl;coutdog2.GetAge( )endl;coutdog2.GetWeight( )endl;coutdog3.GetAge( )endl;coutdog3.GetWeight( )endl; ,构造函数被调用 构造函数被调用 复制构造函数被调用 3 6 0 0 3 6 析构函数被调用 析构函数被调用 析构函数被调用 Press any key to continue,