当前位置: 首页 > news >正文

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

文章目录

  • 导语
  • 声明语句和变量
  • 赋值语句
  • cout的新花样
  • 使用cin
  • 类简介

导语

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++提供了两种发送消息的方式:

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

  • 重新定义运算符


http://www.mrgr.cn/news/46656.html

相关文章:

  • element表格有横向滚动条时产生错位或者偏移(火狐浏览器)
  • Laravel 中 Cache::remember 的基本用途
  • 使用C# CEFSharp在WPF中开发桌面程序实现同一网站多开功能
  • K8S集群常用命令
  • Unity的Transform类
  • GPU算力平台|在GPU算力平台部署智能媒体生成助手LivePortrait的应用教程
  • 力扣1031. 两个非重叠子数组的最大和
  • 体制内的必须要知道的“人情世故”及职场礼仪
  • 快速区分 GPT-3.5 与 GPT-4
  • 腾讯云SDK连麦应用
  • 高质量带货短视频素材来源推荐
  • 2.安装keepalived详细过程
  • [算法] 数组
  • 【必须知道】LLM大模型幻觉(hallucination)的成因和处理测试
  • [C++ 核心编程]笔记 3 引用做函数参数
  • c++11~c++20 thread_local
  • 老外发微信时说“I‘ll ping you”是什么意思?发微信怎么用英语说柯桥学英语到哪里?
  • 计算机网络:数据链路层 —— 数据链路层概述
  • LSTM(长短时记忆网络)
  • 城门(动态规划)
  • 【时时三省】(C语言基础)指针笔试题7
  • TLS 加密的原理和过程
  • C++游戏开发指南
  • 操作系统-系统调用
  • [JAVA]连接数据库 并在Java中实现查询员工信息功能
  • OmniH2O——通用灵巧且可全身远程操作并学习的人形机器人(其前身H2O是HumanPlus的重要参考)