《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会

一、学习目标

  1. 了解基本常用的数据类型
  2. 了解什么是变量

目录

预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:《软件介绍》
想了解编译原理和学习方法点这篇,学习方法和一些原理C++与C都是相同的《脱离学习误区》

《零基础看得懂的C++入门教程 》——(1)第一个C++程序就让你知其所以然
《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会

推荐

1.《备受好评的看得懂的C语言入门教程》

欢迎大家关注公众号,公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍2份哟~并且公众号会更快更新哟。
在这里插入图片描述

二、学习过程

2.1 了解字符串类型
在程序编写中,我们会处理很多数据。例如玩游戏时取的昵称,这个是字符串类型;在玩游戏时的血量可以简单理解为整数类型。这些类型在编程中会有特定的存在形式,也是在编写程序时需要了解的基础内容。

我们在第一个程序中用双引号标记的内容HelloWorld为字符串,很容易理解,这是一串字符,并不是单个。那什么是字符呢?我们可以简单的理解字符就是单个符号,例如A、B、T、,、’、-、+、= 等,但是字符和字符串所标记的形式是不一致的。我们使用双引号标记了HelloWorld,如下代码:

cout<<"HelloWorld";

那我使用单引号标记可以吗?

cout<<'HelloWorld';

完整代码为:

#include<iostream>
using namespace std;
int main(){cout<<'HelloWorld';
}

运行结果如下:

为什么会显示一串数字?为什么不会显示HelloWorld?那是因为你是用了单引号去标记了一个字符串,这个时候就会出现未知的错误。所以我们 需要记住,单引号用于标记字符,而双引号用于标记字符串。那单引号的字符如何进行编写呢?不急,看下面的示例:

#include<iostream>
using namespace std;
int main(){cout<<'A';
}

以上示例在cout后,用单引号标记了一个A,A是字符,查看一下运行结果:

成功输出了A,那使用双引号去标记A是否会显示呢?将输出代码中的单引号改变为双引号:

cout<<"A";

运行结果如下:
在这里插入图片描述

运行结果正确的显示了A,但单引号引起来的A与双引号引起来的A并不是同一个数据类型;在C++中规定,使用单引号标记就是字符,使用双引号则表示字符串。为什么使用双引号也能显示字符A呢?那是因为字符串是由字符组成,我们可以理解成字符串包含了字符;可能有些同学并不是很理解为什么单引号表示字符,双引号引起一个字符为什么又是字符串,我们接下来看完后相比会有更进一步的了解。

2.2 了解整数类型
接下来我们看一下整数类型。整数类型的数据如何显示呢?在之前的内容说在cout后的引号中添加什么就会显示什么,那我添加100,100是个整数那不就输出了?是的,是这样,那先看一下示例:

#include<iostream>
using namespace std;
int main(){cout<<"100";
}

结果为:

确实是显示了100,但我在上一节说过,在C++只能够双引号表示的值是字符串,所以这一串是用字符串的类型输出,这个100其实是字符串类型。可能有些同学觉得为什么那么麻烦?规定这规定那。这是因为一般情况下只有明确类型才能使语言更具灵活性,C++也是如此,我们只需要按照规定的形式去做那就可以了,其它的我们暂时不需要考虑,之后技术加深后必然会了解。

那如何以数字的形式显示这个100呢?很简单,我们将引号去掉就可以了:

#include<iostream>
using namespace std;
int main(){cout<<100;
}

结果如下:

可能你觉得这样没啥意义,那接下来继续了解吧。

2.3 了解变量
变量是在各种编程中的一个基础概念。我们可以将变量当成一个容器,这个容器可以存放各种类型的内容,这个内容我们在编程中称为值。不同类型的变量需要不同的特殊标记去修饰,整数类型的变量(容器)我们用来修饰的标记是int,字符串类型的标记是string。一个容器的创建需要通过一个标记加一个这个容器的名称。

2.4 了解字符串变量
字符串变量使用的修饰符是string,在string后加这个变量的名称就可以完成这个变量的创建:

string a

以上代码少了必要的一点,那就是缺少结束符逗号,添加后修正为:

string a;

但是以上代码并不是符合规范的代码,必须给予一个内容,存储到这个名称为a的容器中:

string a="HelloWorld";

这样就创建了一个名称为a的字符串容器,我们称为字符串变量,里面存储的内容是HelloWorld,值使用双引号引起来,并且使用等于号,将值存储到字符串变量a中。等于号的作用是将等于号右边的内容存储到等于号左边的变量a中。完整代码如下:

#include<iostream>
using namespace std;
int main(){string a="HelloWorld";cout<<a;
}

在以上代码中,使用cout将变量a输出。为什么不在a外侧加双引号?那是因为如果添加了双引号则会显示a,并不会将变量a的内容显示。在输出显示时,如果我们一个变量,或者一些式子(之后会讲到)并不需要使用双引号引上;因为这些变量和式子最终会有一个结果。变量中有一个值那么就会输出变量的内容,如果是一个式子1+1则会显示1+1的值;我们首先看变量输出的结果:

若代码为以下情况呢:

#include<iostream>
using namespace std;
int main(){cout<<1+1;
}

这个式子1+1则会显示出他们计算的结果:

变量并不是只能创建一个,可以创建多个,也能同时显示多个:

#include<iostream>
using namespace std;
int main(){string a="HelloWorld";string b="C++";cout<<a<<b;
}

以上代码中创建了a和b两个字符串变量,并且使用cout将两个变量给显示出来。使用cout将多个变量显示只需要使用<<将不同变量隔开即可。结果如下:

以上代码也可以同时创建同一个类型的变量:

#include<iostream>
using namespace std;
int main(){string a="HelloWorld",b="C++";cout<<a<<b;
}

以上代码使用string 同时修饰了变量a与变量b,他们之间使用逗号进行间隔。

2.5 了解整数型变量
整数型变量使用int进行修饰,我们使用int创建一个整数变量为:

int a

注意一定要加分号,并且给予一个值:

int a=10;

变量的创建知一则其他的变量也是很容易创建,因为语法格式都是极其相似的。现在查看一个程序,完整的对一个整数类型变量进行输出:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<a;
}

以上代码输出10。
结果为:

创建多个同类型变量跟字符串类型相似:

#include<iostream>
using namespace std;
int main(){int a=10,b=80;cout<<a<<b;
}

结果为:

但是我们发现1080黏在一起了怎么办?在C++中,有一个特定标记叫做endl,直接输出endl将会让我们之后的内容跳到下一行显示。这种特定标记,包括int、string都成为关键字,关键字意思为当前在C++中已经有特殊作用的一些字符串标记。例如int表示整数。代码如下:

#include<iostream>
using namespace std;
int main(){int a=10,b=80;cout<<a<<endl<<b;
}

结果为:

同时创建字符串类型与整数类型都是ok的:

#include<iostream>
using namespace std;
int main(){int a=10,b=80;string t="Hello";cout<<a<<endl<<b<<endl<<t;
}

结果为:

2.6 其它类型变量

C++中还存在其它变量类型,例如字符型、浮点型(小数);浮点数又分为单精度与双精度浮点数,在此只讲解一般的浮点数,也就是我们常规下理解的小数。

字符型使用char进行修饰、浮点数使用float进行修饰。创建一个变量这个过程我们称为声明,如:

char a;

在创建时给予一个值叫做初始化,或者第一次给予一个值也称为初始化,不过一般在创建时就给予值:

char a='A';

示例代码:

#include<iostream>
using namespace std;
int main(){char a='C';float g=1.23;cout<<a<<endl<<g;
}

结果为:

三、总结

  1. 了解基本常用的数据类型整形int、字符型string、浮点型float、字符型char
  2. 了解了一个用来存储值的容器就是变量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm 快捷键介绍

CtrlN (Navigate | Class) 打开输入框输入要查找的类名 Ctrl空格 代码自动补全 Ctrl空格&#xff08;按两次&#xff09;对于没有导入的类自动完成导入代码并自动补全 AltF7 查找方法变量在工程中的所有应用 CtrlQ (View | Quick Documentation). 快速查看文档 …

【遥感数字图像处理】实验:遥感图像分析方法大全(Erdas版)

一.实验目的: 掌握遥感数字图像分析的机理与方法,理解遥感数字图像分析在遥感图像计算机自动解译中的重要作用。 二.实验平台:ERDAS IMAGINE 9.1 三.实验要求:掌握遥感数字图像的邻域分析;查找分析;指标分析;叠加分析;归纳分析;坡度、坡向提取;高程分带和地形阴…

db2和mysql语句区别_db2和mysql语法的区别是什么

MySQL默认使用大小写敏感的数据库名、表名和列名(可以通过lower_case_table_names参数控制是否大小写敏感)&#xff0c;DB2数据库对大小写不敏感。虽然MySQL与DB2都遵循并符合SQL92标准且大多数SQL相互兼容&#xff0c;但是在一些细节的实现上有一些不同的地方。比如&#xff1…

查缺补漏系统学习 EF Core 6 - 数据查询

这是 EF Core 系列的第四篇文章&#xff0c;上一篇文章讲述了 EF Core 中的实体迁移与数据播种。这篇文章盘点一下 EF Core 的几种数据查询方式&#xff0c;内容较多分上下两篇。点击上方或后方蓝字&#xff0c;阅读 EF Core 系列合集。简单查询在 EF Core 中&#xff0c;每个查…

Android Studio之导入别人的module后config.gradle配置文件没有生效

1 问题 导入了别人项目的module,但是在别人项目里面的根目录有config.gradle文件&#xff0c;里面有些版本信息&#xff0c;其他module的build.gradle文件用到了这里面的配置&#xff0c;如下&#xff0c;我把module导入我的项目&#xff0c;怎么让这个文件生效呢&#xff1f;…

《零基础看得懂的C++入门教程 》——(3)表达式花样挺多鸭

一、学习目标 了解变量之间的计算了解什么是表达式了解什么是自增、自减 目录 预备第一篇&#xff0c;使用软件介绍在这一篇&#xff0c;C与C使用的软件是一样的&#xff0c;查看这篇即可&#xff1a;《软件介绍》 想了解编译原理和学习方法点这篇&#xff0c;学习方法和一些…

php 设计模式 - 单例

概述&#xff1a; 作为对象的创建模式&#xff0c;单例确保某一个内在系统中只存在一个实例&#xff0c;它不可以创建副本。 克隆函数&#xff08;__clone &#xff09;以及构造函数(__construct )必须声明为私用&#xff0c; 防止外部程序 创建一个新类 &#xff0c;而失去…

prometheus python client

为什么80%的码农都做不了架构师&#xff1f;>>> 当我刚开始准备使用Python写一个promethues的client的时候&#xff0c;并没有想到过程这么麻烦。github上的大佬们也没兴趣帮我解决这些细节的问题。以下是我在使用prometheus_client遇到的一些问题&#xff0c;仅供…

php之无限极分类

http://blog.csdn.net/kankan231/article/details/8462349/转载于:https://www.cnblogs.com/jeremyjs/p/4798169.html

【遥感数字图像处理】实验:遥感影像分类(监督、非监督分类)完整流程(Erdas版)

一.实验目的: 理解计算机图像分类的基本原理,掌握数字图像非监督分类以及监督分类的具体方法和过程,以及两种分类方法的区别。 二.实验平台:ERDAS IMAGINE 9.1 三.实验要求:掌握非监督分类;非监督分类结果评价;监督分类;监督分类结果评价;分类后处理。 四.实验…

mysql5.7.16安装版_mysql数据库5.7.16安装版怎么安装图解

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航&#xff0c;为用户…

重大跨越!Windows 11 23H2 25115 推送:2023 年更新测试开启,水印回归

面向 Dev 频道的 Windows 预览体验成员&#xff0c;微软现已发布 Windows 11 预览版 Build 25115。主要变化1.微软宣布从 Dev 频道切换到 Beta 频道的选项正式关闭&#xff0c;Beta 频道将继续测试 Windows 11 版本 22H2&#xff0c;而 Dev 频道将开启 2023 年更新 Windows 11 …

团队第二次冲刺第三天

已经明白自己犯错误的地方&#xff0c;经过今天的改正&#xff0c;成功调用数据库储存用户名和密码。 明天对于数据库更加完善。转载于:https://www.cnblogs.com/dotacai/p/5521506.html

Android Studio编译提示如下attribute layout_constraintBottom_toBottomOf (aka com.luck.pictureselector:layou

1 问题 Android Studio编译提示错误如下 AAPT: error: attribute layout_constraintBottom_toBottomOf (aka com.luck.pictureselector:layout_constraintBottom_toBottomOf) not found.2 解决办法 在app的build.gradle文件里面添加依赖如下 implementation androidx.const…

《零基础看得懂的C++入门教程 》——(4)条件判断原来如此

一、学习目标 了解什么是条件判断了解多个条件判断了解输入了解什么是逻辑与、逻辑或 目录 预备第一篇&#xff0c;使用软件介绍在这一篇&#xff0c;C与C使用的软件是一样的&#xff0c;查看这篇即可&#xff1a;《软件介绍》 想了解编译原理和学习方法点这篇&#xff0c;学…

Django学习笔记(4)

为什么80%的码农都做不了架构师&#xff1f;>>> 首先提一个问题&#xff1a;在Django中如何处理CRSF(Cross-site request forgery)? 先看一下CSRF原理。 其实就是恶意网站利用正常网站的cookie去非法请求。 ##Java处理方式## 一般做法需要后台和前端配合采取策略去…

MySQL复制--slave设置读取binlog的位置

change_master->global_init_info->Master_info::mi_init_info->Rpl_info_handler::init_info->Rpl_info_file::do_init_info ->mi->rli->rli_init_info()->初始化./relay-bin.000001,4如果relay-log.info不存在的话&#xff0c;否则读取//初始化mas…

【遥感数字图像处理】实验:遥感专题地图制作经典流程(Erdas版)

实验目的:掌握计算机辅助下遥感专题地图的制作。实验平台:ERDAS 9.1实验要求:掌握专题地图的编辑;制图文件路径的编辑;系列地图编辑工具的使用。实验步骤:1 专题地图的编辑 1.1 准备专题制图数据 (1) 在视窗菜单条中点击 File,选择Open (2) 点击 Raster Layer,打开S…

.NET版OCR紧随PP-OCRv3重磅发布

.net版OCR地址PaddleOCRSharp&#xff1a;https://gitee.com/raoyutian/paddle-ocrsharpPaddleOCRSharp是一个基于PaddleOCR的C代码修改并封装的.NET的工具类库。包含文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能&#xff0c;同时针对小图识别不准的情况下&a…

mysql导出二进制日志_使用mysqlbinlog提取二进制日志

MySQL binlog日志记录了MySQL数据库从启用日志以来所有对当前数据库的变更。binlog日志属于二进制文件&#xff0c;我们可以从binlog提取出来生成可阅读的SQL语句来重建当前数据库以及根据需要实现时点恢复或不完全恢复。本文主要描述了如果提取binlog日志&#xff0c;并给出相…