C++ Primer Plus 第6版 读书笔记(2)第2章 开始学习 C++

简介: C++是在 C 语言基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言,是C语言的超集。本书是根据2003年的ISO/ANSI C++标准编写的,通过大量短小精悍的程序详细而全面地阐述了 C++的基本概念和技术,并专辟一章介绍了C++11新增的功能。

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++程序。                          C++程序的一般格式。

#include 编译指令。                         main( )函数。

使用 cout 对象进行输出。         在 C++程序中加入注释。

何时以及如何使用 endl。                 声明和使用变量。

使用 cin 对象进行输入。                 定义和使用简单函数。

1.png2.png



总结


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 函数,后者以下面这样的格式显示这两个值

目录
相关文章
|
4天前
|
C++ 开发者
C++学习之继承
通过继承,C++可以实现代码重用、扩展类的功能并支持多态性。理解继承的类型、重写与重载、多重继承及其相关问题,对于掌握C++面向对象编程至关重要。希望本文能为您的C++学习和开发提供实用的指导。
36 16
|
22天前
|
算法 网络安全 区块链
2023/11/10学习记录-C/C++对称分组加密DES
本文介绍了对称分组加密的常见算法(如DES、3DES、AES和国密SM4)及其应用场景,包括文件和视频加密、比特币私钥加密、消息和配置项加密及SSL通信加密。文章还详细展示了如何使用异或实现一个简易的对称加密算法,并通过示例代码演示了DES算法在ECB和CBC模式下的加密和解密过程,以及如何封装DES实现CBC和ECB的PKCS7Padding分块填充。
44 4
2023/11/10学习记录-C/C++对称分组加密DES
|
5月前
|
算法 C语言 C++
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
94 0
|
3月前
|
编译器 C语言 C++
配置C++的学习环境
【10月更文挑战第18天】如果想要学习C++语言,那就需要配置必要的环境和相关的软件,才可以帮助自己更好的掌握语法知识。 一、本地环境设置 如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。 二、文本编辑器 通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。 C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c。 在开始编程之前,请确保您有一个文本编辑器,且有足够的经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。 Visual Studio Code:虽然它是一个通用的文本编辑器,但它有很多插
|
3月前
|
Java 编译器 C++
c++学习,和友元函数
本文讨论了C++中的友元函数、继承规则、运算符重载以及内存管理的重要性,并提到了指针在C++中的强大功能和使用时需要注意的问题。
33 1
|
6月前
|
存储 安全 编译器
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
|
6月前
|
人工智能 分布式计算 Java
【C++入门 一 】学习C++背景、开启C++奇妙之旅
【C++入门 一 】学习C++背景、开启C++奇妙之旅
|
6月前
|
存储 自然语言处理 编译器
【C++入门 三】学习C++缺省参数 | 函数重载 | 引用
【C++入门 三】学习C++缺省参数 | 函数重载 | 引用
|
6月前
|
小程序 C++
【C++入门 二 】学习使用C++命名空间及其展开
【C++入门 二 】学习使用C++命名空间及其展开
|
6月前
|
C++
C++基础知识(四:类的学习)
类指的就是对同一类对象,把所有的属性都封装起来,你也可以把类看成一个高级版的结构体。