【第2章 开始学习C++】C++语句

文章目录

导语

C++ 程序是一组函数, 而每个函数又是一组语句。 C++ 有好几种语句,例如:声明语句创建变量, 赋值语句给该变量提供一个值。

声明语句和变量

计算机是一种精确的、 有条理的机器。 要将信息项存储在计算机中, 必须指出信息的存储位置和所需的内存空间。

在C++中,是使用声明语句来指出存储类型并提供位置标签。

例如:

这条语句提供了两项信息: 需要的内存以及该内存单元的名称。

  • 程序需要足够的存储空间来存储一个整数, 在 C++ 中用 int 表示整数。 编译器负责分配和标记内存的细节。
  • 程序将使用名称 carrots 来标识存储在该内存单元中的值。

在 C++ 中, 所有变量都必须声明。 声明通常指出了要存储的数据类型和程序对存储在这里的数据使用的名称。

赋值语句

赋值语句将值赋给存储单元。 例如, 下面的语句将整数25赋给变量 carrots 表示的内存单元:

符号=叫做赋值运算符。 C++(和C) 有一项不寻常的特性---可以连续使用赋值运算符。

例如:

赋值将从右向左进行。 首先, 88 被赋给 steinway; 然后, steinway 的值(现在是 88) 被赋给 baldwin; 然后 baldwin 的值88 被赋给 yamaha。

cout的新花样

首先, cout 将 carrots 替换为其当前值 25; 然后, 把值转换为合适的输出字符。cout很聪明, 知道 carrots 是一个需要转换的整数。

cout 的智能行为源自 C++ 的面向对象特性。 实际上, C++ 插入运算符(<<) 将根据其后的数据类型相应地调整其行为, 这是一个运算符重载的例子。

使用cin

信息从 cin 流向 carrots,C++ 将输出看作是流出程序的字符流一样, 它也将输入看作是流入程序的字符流。

输出时, << 运算符将字符串插入到输出流中; 输入时, cin 使用 >> 运算符从输入流中抽取字符。

cin 也是一个智能对象。 它可以将通过键盘输入的一系列字符(即输入) 转换为接收信息的变量能够接受的形式。

类简介

类是用户定义的一种数据类型。 知道类是用户定义的类型, 但作为用户, 并没有设计 ostream 和 istream 类。 就像函数可以来自函数库一样, 类也可以来自类库。 ostream 和 istream 类就属于这种情况。

要定义类, 需要描述它能够表示什么信息和可对数据执行哪些操作。 类之于对象就像类型之于变量。

类定义描述的是数据格式及其用法, 而对象则是根据数据格式规范创建的实体。

表示创建一个类型为 int 的变量(carrots)

cout,它是一个 ostream 类对象。 ostream 类定义(iostream 文件的另一个成员) 描述了 ostream 对象表示的数据以及可以对它执行的操作,如将数字或字符串插入到输出流中。 同样, cin 是一个 istream 类对象, 也是在 iostream 中定义的。

类描述指定了可对类对象执行的所有操作。 要对特定对象执行这些允许的操作, 需要给该对象发送一条消息。

C++提供了两种发送消息的方式:

  • 使用类方法(本质上就是稍后将介绍的函数调用)

  • 重新定义运算符

相关推荐
smj2302_7968265231 分钟前
用枚举算法解决LeetCode第3348题最小可整除数位乘积II
python·算法·leetcode
爱吃生蚝的于勒38 分钟前
C语言最简单的扫雷实现(解析加原码)
c语言·开发语言·学习·计算机网络·算法·游戏程序·关卡设计
Ai 编码助手41 分钟前
Go语言 实现将中文转化为拼音
开发语言·后端·golang
hummhumm44 分钟前
第 12 章 - Go语言 方法
java·开发语言·javascript·后端·python·sql·golang
hummhumm44 分钟前
第 8 章 - Go语言 数组与切片
java·开发语言·javascript·python·sql·golang·database
何曾参静谧44 分钟前
「QT」文件类 之 QDir 目录类
开发语言·qt
何曾参静谧1 小时前
「QT」文件类 之 QTemporaryDir 临时目录类
开发语言·qt
杜杜的man1 小时前
【go从零单排】Directories、Temporary Files and Directories目录和临时目录、临时文件
开发语言·后端·golang
qq_308957471 小时前
Gin 框架入门(GO)-1
开发语言·golang·gin
秋说1 小时前
【数据结构 | C++】整型关键字的平方探测法散列
数据结构·c++·算法