C++语言程序设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

习题1

1.1 简答题

(1)什么是面向对象?如何理解面向对象中的一些基本概念:对象、类、继承、封装、包含、消息传递、多态性等。

(2)什么是编程语言?从编程语言的发展史中给我们什么启发?

(3)面向对象语言有哪些特点?

(4)C语言和C++语言有什么关系?

(5)C++语言对C语言在哪些方面进行了改进?

(6)C++语言对面向对象方法有哪些支持?

(7)简述C++语言中6种单词的有关规定。

(8)C++程序在结构上有何特点?在书写格式上有何要求?

(9)简述C++源程序实现的3个步骤。

(10)结合你所选用的C++源程序的编译系统,讲述对单文件和多文件的C++源程序的具体实现方法。

1.2 选择填空

(1)下列高级语言中,()是面向对象的程序语言。

A)BASIC

B)C

C)C++

D)Pascal

(2)关于C++语言与C语言的关系描述中,()是错误的。

A)C语言与C++语言是兼容的

B)C++语言对C语言进行了一些改进

C)C语言是C++语言的一个子集

D)C++语言和C语言都是面向对象的

(3)关于对类概念的描述中,()是错误的。

A)类就是C语言中的结构类型

B)类是创建对象的样板

C)类是具有共同行为的若干对象的统一描述体

D)类是抽象数据类型的实现

(4)关于对象的描述中,()是错误的。

A)对象就是C语言中的结构变量

B)对象是状态和操作的封装体

C)对象之间的信息传递是通过消息进行的

D)对象是某个类的一种实例

(5)下列字符中,()是不能构成标识符的。

A)下划线

B)连接符

C)数字字符

D)大小写字母

1.3 判断下列描述的正确性,对者画√,错者画×。

(1)面向对象方法具有三大特性:封装性、继承性和多态性。

(2)机器语言和汇编语言都是计算机能够直接识别的语言。

(3)C++语言允许函数重载,还允许设置默认的参数值,而C语言不允许。

(4)C++语言只支持封装性和继承性,不支持多态性。

(5)C++语言对C语言进行了一些改进,增加了运算符和关键字,并且对类型管理更严格。

(6)用C++语言编写程序时,应该特别注意格式,否则会影响可读性。

(7)C++语言是一种以解释方式实现的高级语言。

(8)C++源程序只在编译时出现错误信息,而在连接中不会出现错误信息。

(9)C++源程序的编译过程包含3个子过程:预处理过程、编译过程和连接过程,它们的顺序是可以改变的。

(10)在编译C++源程序过程中,出现了警告错也可以生成可执行文件。

1.4 分析下列程序的输出结果。

(1)

          #include <iostream.h>
          void main( )
          {
              cout<<"BeiJing"<<" ";
              cout<<"ShangHai"<<endl;
              cout<<"TianJing"<<endl;
          }

(2)

          #include <iostream.h>
          void main( )
          {
            int x,y;
            cout<<"Input x,y: ";
            cin>>x>>y;
            cout<<"x="<<x<<","<<"y="<<y<<endl;
            cout<<"x-y="<<x-y<<"\n";
          }

假定,输入的两个数分别为8和7。

(3)

          #include <iostream.h>
          void main( )
          {
            char r='k';
            int i=9,j=17;
            cout<<"r="<<r<<":";
            cout<<"i+j="<<i+j<<endl;
          }

1.5 编译下列程序,改正所出现的错误信息,并分析输出结果。

(1)

          main( )
          {
              cout<<"This is a program."
          }

(2)

          #include <iostream.h>
          void main( )
          {
              cin>>x;
              int y=x*x;
              cout<<"y=<<y<<\n";
          }

(3)

          #include <iostream.h>
          void main( )
          {
              int a,b;
              a=7;
              int s=a+b;
              cout<<"a+b="<<s<<endl;
          }

1.6 通过对上题中3个程序所出现问题的修改,回答下列问题:

(1)从对上题中第(1)题出现错误的修改,总结出编程时应注意哪些问题?

(2)C++程序中所出现的变量是否都必须先说明后使用?说明变量时,是否都应放在函数体的开头?

(3)使用cout与运算符“<<”输出字符串时应注意些什么?

(4)程序中说明了的变量,但没有赋值,能否使用?

(5)一个程序通过编译并运行后得到了输出结果,这一结果是否一定正确?