C++是在 C 语言基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言,是C语言的超集。本书是根据2003年的ISO/ANSI C++标准编写的,通过大量短小精悍的程序详细而全面地阐述了 C++的基本概念和技术,并专辟一章介绍了C++11新增的功能。
《C++ Primer Plus(第6版)中文版》分18章,分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑运算符、函数重载和函数模板、内存模型和名称空间、类的设计和使用、多态、虚函数、动态内存分配、继承、代码重用、友元、异常处理技术、string类和标准模板库、输入/输出、C++11新增功能等内容。
《C++ Primer Plus(第6版)中文版》针对C++初学者,从C语言基础知识开始介绍,然后在此基础上详细阐述C++新增的特性,因此不要求读者有C语言方面的背景知识。《C++ Primer Plus(第6版)中文版》可作为高等院校教授C++课程的教材,也可供初学者自学C++时使用。
总结
C++程序由一个或多个被称为函数的模块组成。程序从main()函数(全部小写)开始执行,因此该函数必不可少。函数由函数头和函数体组成。函数头指出函数的返回值(如果有的话)的类型和函数期望通过参数传递给它的信息的类型。函数体由一系列位于花括号({)中的C++语句组成。
有多种类型的 C++语句,包括下述 6 种。
声明语句:定义函数中使用的变量的名称和类型。
赋值语句:使用赋值运算符(=)给变量赋值。
消息语句:将消息发送给对象,激发某种行动。
函数调用:执行函数。被调用的函数执行完毕后,程序返回到函数调用语句后面的语句。
函数原型:声明函数的返回类型、函数接受的参数数量和类型。
返回语句:将一个值从被调用的函数那里返回到调用函数中。
类是用户定义的数据类型规范,它详细描述了如何表示信息以及可对数据执行的操作。对象是根据类
规范创建的实体,就像简单变量是根据数据类型描述创建的实体一样。
C++提供了两个用于处理输入和输出的预定义对象(cin 和 cout),它们是 istream 和 ostream 类的实例,
这两个类是在 iostream 文件中定义的。为 ostream 类定义的插入运算符(<<)使得将数据插入到输出流成
为可能;为 istream 类定义的抽取运算符(>>)能够从输入流中抽取信息。cin 和 cout 都是智能对象,能够
根据程序上下文自动将信息从一种形式转换为另一种形式。
C++可以使用大量的 C 库函数。要使用库函数,应当包含提供该函数原型的头文件。
2.6 复习题
1.C++程序的模块叫什么?
2.下面的预处理器编译指令是做什么用的?
3.下面的语句是做什么用的?
4.什么语句可以用来打印短语“Hello,world”,然后开始新的一行?
5.什么语句可以用来创建名为 cheeses 的整数变量?
6.什么语句可以用来将值 32 赋给变量 cheeses?
7.什么语句可以用来将从键盘输入的值读入变量 cheeses 中?
8.什么语句可以用来打印“We have X varieties of cheese,”,其中 X 为变量 cheeses 的当前值。
9.下面的函数原型指出了关于函数的哪些信息?
10.定义函数时,在什么情况下不必使用关键字 return?
11.假设您编写的 main( )函数包含如下代码:
而编译器指出 cout 是一个未知标识符。导致这种问题的原因很可能是什么?指出 3 种修复这种问题的
方法。
答案:
1.它们叫作函数。
2.这将导致在最终的编译之前,使用iostream文件的内容替换该编译指令。
3.它使得程序可以使用sd名称空间中的定义。
4.cout <"Hello,world\n";
或
cout <"Hello,world"<<endl;
5.int cheeses;
6.cheeses =32;
7.cin >cheeses;
8.cout <<"We have "<cheeses <<varieties of cheeseln";
9.调用函数ioop()时,应提供一个参数,该参数的类型为double,而该函数将返回一个int值。例如,
可以像下面这样使用它:
int gval froop(3.14159);
函数rattle()接受一个int参数且没有返回值。例如,可以这样使用它:
rattle(37);
函数prune()不接受任何参数且返回一个int值。例如,可以这样使用它:
int residue prune();
10.当函数的返回类型为void时,不用在函数中使用return。然而,如果不提供返回值,则可以使
用它:
return;
2.7 编程练习
程序,它要求用户输入一个以long 为单位的距离,然后将它转换为码(一long 等于220 码)。
++程序,它使用 3 个用户定义的函数(包括 main( )),并生成下面的输出:
1.编写一个 C++程序,它显示您的姓名和地址。
3.编写一个 C其中一个函数要调用两次,该函数生成前两行;另一个函数也被调用两次,并生成其余的输出。
4.编写一个程序,让用户输入其年龄,然后显示该年龄包含多少个月,如下所示:
5.编写一个程序,其中的 main( )调用一个用户定义的函数(以摄氏温度值为参数,并返回相应的华氏温度值)。该程序按下面的格式要求用户输入摄氏温度值,并显示结果:
下面是转换公式:
华氏温度 = 1.8×摄氏温度 + 32.0
6.编写一个程序,其 main( )调用一个用户定义的函数(以光年值为参数,并返回对应天文单位的值)。
该程序按下面的格式要求用户输入光年值,并显示结果:
天文单位是从地球到太阳的平均距离(约 150000000 公里或 93000000 英里),光年是光一年走的距离
(约参程序10 万亿公里或 6 万亿英里)(除太阳外,最近的恒星大约离地球 4.2 光年)。请使用 double 类型(清单 2.4),转换公式为:1 光年=63240 天文单位
7.编写一个程序,要求用户输入小时数和分钟数。在 main( )函数中,将这两个值传递给一个 void 函数,后者以下面这样的格式显示这两个值