ITEEDU

自测练习

1.1填空
a)使个人计算普及的公司是——。
b)使个人计算适用于企业和公司的计算机是——。
c)计算机在称为计算机——的指令集控制下处理数据o
d)计算机的六个关键逻辑单元是——、——、——、——、——和——。
e)本章介绍的三类语言是——、——和——。
f)将高级语言程序翻译为机器语言的程序称为——。
g)C语言以作为开发——操作系统的语言著称。
h)wirth开发了——语言,用于大学中讲解结构化编程。
i)国防部开发的Ada语言具有——功能.可以指定并行处理多个活动。

1.2关于C++程序环境的填空:
a)C++程序通常用——将程序输入计算机中。
b)在C++系统中,——程序在编译器翻译阶段开始之前执行。
c)——程序组合编译器输出与各种库函数,产生执行程序映像o
d)——程序将C++程序执行映像从磁盘传输到内存中。
1.3填空:
a)每个C++程序从函数——开始执行。
b)每个函数体以——开始,以——结束。
c)每条语句以——结束。
d)转义序列\n表示——符,使光标移到屏幕上下一行开头。
e)——语句用于进行判断。

1.4 判断下列各题是否正确。如果不正确,话说明原因。
a)程序执行时,注释语句使计算机在屏幕上打印//之后的文本。
b)cout输出时转义序列\n使光标移到屏幕上下一行开头。
c)所有变量都应先声明后使用。
d)所有变量声明时要指定类型。
e)C++中变量number相NuMbEr是相同的。
f)声明可以放在C++函数体的任何地方。
g)求模运算符(%)只能用于整数操作数。
h)算术运算符*、/、%、+、-的优先级相同。
i)C++程序要打印三行文本输出,就要有三个使用cout的输出语句。

1.5编写下列C++语句:
a)将变量c、thisIsAVariable、q76354和number声明为int类型。
b)提示用户输人一个整数,提示消息后面是冒号(:)加空格,并将光标放在空格后面。
c)读取用户键盘输入并将输入值存放在整型变量age中。
d)如果变量number不等于7,则打印“The variable number is not equal to 7”。
e)将消息“This is C++ profram”在一行中打印。
f)将消息“This is a C++ program”在两行中打印.第一行在C++处断行。
g)将消息“This is a C++ program”在多行中打印,每个单词一行。
h)打印消息“This is a C++ program”,单词之间用制表符分开。

1.6 编写下列C++语句(或注释语句):
a)表示程序计算三个整数的积。
b)将变量x、y、z和result声明为int类型。
c)提示用户输入三个整数。
d)读取用户键盘输入的三个整数并将其存放在变量x、y、z中。
e)计算三个整数的积并将结果赋给变量result。
f)打印“The Product is”加上变量船result的值。
g)从main返回,表示程序顺利结束。

1.7 用练习1.6编写的语句编写一个完整程序,计算三个整数的积。

1.8 判断并纠正下列语句中的错误:

 a)if(c<7);
cout<<"c is less than 7\n";
b) if(c>=7)
cout<<"c is equal to or greater than 7\n";
1.9 有关对象问题的填空: a)人可以看电视屏幕和看到屏幕上的颜色点,也许可以看到三个人坐在会议室里,这种功能称为——。 b) 如果把汽车看成对象,则把车看成交通工具是车的属性还是行为(选一个)——。 c)汽车可以加速、减速、左转、右转、向前、向后.这是汽车对象的——。 d)新的类继承几个不同类的特征时,称为——继承。 e)对象通过发送——相互通信。 f)对象通过定义良好的——而相互通信。 g)每个对象通常不能了解其他对象的实现细节,这个属性称为——。 h)系统指定中的——帮助C++程序员确定系统中要实现的类。 i)类的数据组件称为——,类的函数组件称为——。 j)用户自定义类型的实例称为——。

自测练习答案

  
  1.1 a)Apple。b)IBM Personal computer。 
    c)程序。d)输入单元、输出单元、内存单元、算术与逻辑单元、中央处理单元、辅助存储单元。e)机器语言、汇编语言、高级语言。
   f)编译器。g)UNIX。h)Pascal。i)多任务o
   1.2 a)编辑器。b)预处理器。c)连接器。d)装入器。
  1.3
   a)main。L)左花括号({)、右花括号(})。c)分号。d)换行。e)if。
  1.4
   a)不正确。程序执行时,注释语句不产生任何操作,它们只是说明程序和提高程序可读性。
   b)正确。
   c)正确。
   d)正确。
   e)不正确。C++是区别大小写的,两个变量是不同变量。
   f)正确。
   g)不正确
   h)不正确。运算符*、/、%的优先级相同,而运算符+、-的优先级较低。
   i)不正确。一个输出语句可以用cout和多个
    转义序列打印多行文本。
  1.5 
  a) intc,thisisAVariable,q76354,number;
  b)cout<< "Enter an integer: ";
  c)cin>>age;
  d)if(number!=7)
  cout<< "The variable number is not equal to  7 ";
  e) cout<< "This is a C++ program";
  f) cout<< "This is a C++ program ";
  g)cout<< "This is a C++ program ";
  h)cout<< "This is	a	C++	program ";
1.6
  a) // Calculatoe the product of three integers
    b) int x,y,z,result;
    c) cout<< "Enter three integers: ";
    d) cin>>x>>y>>z;
    e) result=x*y*z;
    f) cout<< "The product is "<<  result<<  endl;
    g) return 0;
1.7
// Calculate the product of three integers
    #include< iostream.h>
    int main()
    {
        int x,y,z,result;
        cout<< "Enter three integers: ";
        cin>>x>>y>>z;
        result=x*y*z;
        cout<< "The product is "<<  result<<  endl;
        return 0;
    }
1.8 a)不正确:if语句条件的右括号后面有分号。 纠正:删除右括号后面的分号。注意:这个错误的结果是不管if语句是否为真,都执行输出语句。右括号后面的分号导致空语句。下一章将介绍空语句o b)不正确:没有关系运算符=>。 纠正:将=>变为>=。 1.9 a)抽象。b)属性。c)行为。d)多重。e)消息。f)接口。g)信息隐藏。h)名词。i)数据成员、成员函数或方法。j)对象。

练 习

1.10 将下列项目分为硬件和软件:
a)CPU
L)C++编译器
c)ALU
d)C++预处理器
e)输入单元
f)编译程序
1.11 为什么要用机器无关语言而不是用机器相关语言编程?为什么某些程序更适合用机器相关语言编程?
1.12填空:
a)计算机的哪个逻辑单元从计算机外部接收计算机使用的信息?——。
b)指示计算机解决特定问题的过程称为——。
c)哪种计算机语言用机器语言指令的英文缩写?——。
d)计算机的哪个逻辑单元将计算机处理过的信息发送到各个设备,并在计算机外部使用?——。
e)计要机的哪个逻辑单元保存信息?——。
f)计算机的哪个逻辑单元进行计算?——。
g))计算机的哪个逻辑单元进行逻辑判断?——
h)最适合程序员方便快捷地编写程序的计算机语言是——
i)计算机能直接理解的惟一语言是该计算机的——。
j)计算机的哪个逻辑单元负责协调所有其他逻辑单元的活动?
1.13简介下列对象的含义:
a)cln
b)cout
c)cerr
1.14为什么人们特别关心面向对象编程和C++?
1.15填空:
a)——只是用来说明程序和提高程序可读性。
b)在屏幕上打印信息的对象是——。
c)进行判断的C++语句是——。
d)通常由——语句完成计算。
e)——对象从键盘输人数值。
1.16 编写下列C++语句:
a)打印消息“Enter two number”。
b)将变量b和c的积赋给变量a。
c)表示程序进行示例工资计算(即用文本说明程序)。
d)从键盘输入整数值并存在整型变量a、b、c中。
1.17 判断下列陈述是否正确,并说明理由。
a)C++运算符从左向右求值。
b)下列变量名都是有效变量名:_under_bar、m928134、t5、j7、her_sales、his account_total、
a、b、c、z、z2。
c)语句“cout<<"a=5;";"是赋值语句的典型例子。
d)不带括号的有效C++算术表达式从左向右求值。
e)下列变量名都是无效变量名:3g、87、67h2、2h。
118 填空:
a) 与乘法的优先级相同的运算符有哪些?———o
b)嵌套括号时,算术表达式中的哪组括号首先填?——。
c)计算机内存中在程序执行期间的不同时间可以包含不同值的地址称为——。
1.19 执行下列C++语句时打印什么内容(如果有),如果没有,回答“无”。假设x=2和y=3;
   a)  cout<<  x;
    b)  cout<<  x + x;
    c)  cout<< "x=";
    d)  cout<< "x="<< x;
    e)  cout<< x+y<< "="<< y+x;
    f)  z=x+y;
    g)  cin>>x>>y;
    h)  // cout<< "x+y= "<< x+y;
    i)  cout<< "\n";
1.20下列C++语句哪个包含数值被删除的变量?
a) cin>>a>>b>>c>>d>>e>>f;
    b) p=i+j+k+7;
    c) cout<<"variables whose value are destroyed";
    d) cout<<"a=5";
1.21对代数方程y=ax3+7,下列C++语句哪些是正确的?
a)  y=a*x*x*x+7;
   b)  y=a*x*x*)x+7);
   c)  y=(a*x)*x*(x+7);
   d)  y=(a*x)*x*x+7;
   e)  y=a*(x*x*X)+7;
   f)  y=a*x*(x*x+7);
1.22设置下列C++语句中运算符的求值顺序,并显示执行每个语句之后的x值。
 a) x=7+x*6/2-1;
    b) x=2%2=22-2/2;
    c) x=(3*9*(3+(9*3/(3))));

1.23 编写程序,要求用户输入两个数,从用户取得这两个数,并打印这两个数的和、积、差、商。

1.24 编写程序,在同一行打印数字1到4,每两个数之间用一个空格分开。用下列方法写: a) 用一个输出语句和一个流插入符运算符。 b)用一个输出语句和4个流插入运算符。 c) 用4个输出语句。

1.25 编写程序,要求用户输入两个数,从用户取得这两个数,并打印较大的数加"is larger"。台果两个数相等,则打印消息"these numbers are equal"。

1.26编写程序,从键盘输入三个值,度打印其和、平均数、积、最小值和最大值。屏幕对话如下所示:

 Input three diffrent integers: 13  27  14
    Sum is 54
    Average is 18
    Product is 4914
    Smallest is 13
    Largest is 27

1.27编写一个程序,读取圆的半径,打印圆的直径、周长和面积。π用常量值3.14159。在输出中进行这些计算(说明:本章只介绍了整型常量和整数。第3章将介绍浮点数,即带小数点的值)。

1.28 编写一个程序,打印矩形、椭圆、箭头和菱形:

1.29 下列代码打印什么结果? cout<<"*\n**\n***\n****\n*****\n";

1.30编写一个程序,读取5个整数并确定和打印其中的最大值。只用本章介绍的编程技术。

1.31 编写一个程序,读取一个整数并确定和打印其为奇数或偶数。提示:用求模运算符,偶数是2的倍数。偶数除以2的余数为0。

1.32编写一个程序,读取两个整数并确定和打印第一个数是否为第二个数的倍数。提示:用求模运算符。

1.33用八条输出语句显示下列棋盘图案,然后用更少的语句显示这个棋盘图案。

    * * * * * * * *
      * * * * * * * *
    * * * * * * * *
     * * * * * * * *
    * * * * * * * *
     * * * * * * * *
    * * * * * * * *
     * * * * * * * *

1.34 区分致命错误与非致命错误 。为什么希望遇到致命错误而不是非致命错误。

1.35这是个附加题。本章介绍了整数和int类型。C++还可以表示大写字母、小写字母和各种特殊字符。C++内部用小整数表示不同字符。计算机所用字符集及对应的整数表示称为计算机字符集。打印字符时,只需将其放在单引号中,如下所示: cout<<'A'; 只要在前面加上(int)(称为强制类型转换,详见第2章),可以打印对应一个字符的整数:

cout<<(int)'A';

执行上述语句时,它打印数值65(在使用ASCII字符集的系统上)。编写一个程序,打印大写字母、小写字母和各种特殊字符的对应整数。至少确定下列字符和空格符的对应整数:A B C a b c 0 1 2 $ * + / 。

1.36 编写一个程序,读取5位数,将各个位分开,并在打印时在位与位之间增加三个空格。提示:用整数和求模运算符。例如,用户输入42339时,程序打印: 4 2 3 3 9 1.37 用本章学习的方法,编写一个程序,计算0到10的平方和立方,并用制表符打印下列表格值:

   number  square  cube
    0        0        0
    1        1        1
    2        4        8
    3        9        27
    4        16       64
    5        25       125
    6        36       216
    7        49       343
    8        64       512
    9        81       729
    10       100      1000

1.38 简述下列“有关对象思考”问题: a)为什么本书不是先深入介绍结构化编程之后再深入介绍面向对象编程?

b)面向对象设计过程的典型步聚如何?(见正文)

c) 人类如何体现多重继承? d)人与人之间发送什么信息?

e) 对象在定义良好的接口之间发送信 发送信息。车载收音机(对象)与用户(人对象)之间有什么接口?

1.39 也许你戴了世界上最常见的对象----手表。请谈谈手表有哪些下列项目:对象、属性、行为、类、继承(例如闹钟)、抽象、模型、消息、封装、接口、信息隐藏、数据成员、成员函数。