在C++编程中,内置了一些基本数据类型用来存储一些不同类型的值。有字符类型 char 用以存储字符,如a、b、c、d、-、=、1、2、4、3、>、?等;有整形 int 用以存储整数类型,如1、2、3、4、5、11、111、2311等;有浮点类型 float,用以存储浮点数 1.23、1.1、2.31、3.412等;有布尔类型用以存储布尔值,如 Ture、False。
以上介绍并不完全的介绍完C++中的类型,还有许多并未列出,只列出了一部分的常用类型。
在C++中当内置的类型不能满足开发需求时,也可以自定义,自己创建一个类型。

变量

变量指在编程中用来存储值的容器。变量必须使用一个类型进行描述,表示该变量属于什么类型。如有一个变量 a,在c++中整形是用int表示,那么使用整形对变量a进行描述则可以写为:int a

整形

以上的简介中,已知整形是使用int表示,在整形中还分为短整形、长整形以及整形。短整型、长整形、整形的区别是在于他们之间的存储空间①。短整型是16位②,长整形与整形的存储空间就是32为位。(编译器版本不一样准寻的标准不一致,当下我使用的是gcc 4.9.2)首先查看如何新建一个整形变量,并且赋予一个值:

注解: 一些概念了解即可,对于初学者并不是需要刚开始就能完全理解①内存空间指数据存储位置的空间,抽象概念②位指的是二进制位,二进制10占2位置称为2位,111占3个位置则称为3位,16位则表示可比表示为 1111 1111 1111 1111 ,指最大可存储数字

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

以上代码中,整体框架跟上一节内容一致,主要查看amin入口内花括号中所写的的代码

 int a=10;

以上代码使用 int 表述 变量a,并且用个等于号 把 10这个整数值给予 a 变量。
描述一个变量只需要在这个变量前使用一个类型的关键字,随后一个空格与变量名隔开,变量进行值的存储需要一个等于号,等于号表示把等于号右边的值 10 装进a这个变量容器之中,随后一个分号表示结束。这样就完成了一个变量的值的创建于复制。

接下来可以使用cout 进行输出变量,上一节中,使用cout 输出字符是 count<<"HelloWorld";,输出字符串需要使用双引号引起来,但是变量不需要,直接写成如下代码示例即可cout<<a;

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

结果如下:

注意,以上代码是有逻辑顺序的,先定义变量a,并且赋值后才可以输出,如果没有定义变量a,就直接输出是不行的,以下是错误的方式:

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

结果会报错:

刚刚说到,使用short int 短整型,存储空间只能存16位,我们可以使用计算机自带的计算机查看一下 1111 1111 1111 1111 转换成十进制的数位多少,步骤如下:
打开计算器选择查看,点击程序员

输入16个1,随后点击十进制查看值为多少

值为65535,这个时候把变量a所存储的10更改为65535:

#include<iostream>
using namespace std;int main(){short int a=65535;cout<<a;return 0;
}

结果如下:

此时应该存储的值为最大存储值,应该装满了,不能网上装了,这时我们把65535改为65536:

short int a=65536;

这时数据将会溢出结果如下:


现在我们把存储数据再一次进行更改:

short int a=65538;

这时数据溢出的值多了2,这时运行代码得到的值为:

因为数据溢出就像时钟一样,绕了一圈又从起始开始。

有无符号

在C++ 中,整数类型还分为有符号和无符号两种,符号可以理解为符号- 与正号+ ,描述使用的关键字是 有符号 signed 与 无符号 unsigned。用来描述以上示例的整形可以写为:

signed short int a=65538;

修改以上示例:

#include<iostream>
using namespace std;int main(){signed short int a=-65538;cout<<a;return 0;
}

运行结果如下:

当我们使用无符号进行对象的描述:

#include<iostream>
using namespace std;int main(){unsigned short int a=-65538;cout<<a;return 0;
}

结果如下:


由于不接受负数带符号的显示,65535为短整型,65536为0,那么就会显示出65534。由于编译器遵循的标准不一致会出现不同的情况,按照读者自己 的演示结果为标准。整型相关内容不再继续详讲,有机会将会在此篇列出不同标准执行的不同结果。示例想让读者明白的是存储空间有大小限制,需要在开发时注意这个会触发bug的知识点。

字符

相信有了以上的知识,在这一节内容中,大家将会很快的学会字符变量的定义。
字符类型修饰符为 char,后面接变量名,写为 char a,随后等于号,并且用单引号表示字符 char a='c';,完整示例如下:

#include<iostream>
using namespace std;int main(){char a='c';cout<<a;return 0;
}

结果如下:

在此注意,单个的符号数字才叫字符,组合成的为字符串。如果你写成了多个字符组合,那么只取最后一个字符为字符变量的值,并且字符变量值只能用单引号表示(一定是英文输入法的标点符号):

#include<iostream>
using namespace std;int main(){char a='ce2112d';cout<<a;return 0;
}

结果如下:

浮点

浮点类型使用float关键字进行修饰,float a=1.41表示定义了一个浮点类型的变量a,值为1.41:

#include<iostream>
using namespace std;int main(){float a=1.41;cout<<a;return 0;
}

结果如下:

浮点数分为单精度 float 与 双精度浮点double,区别在于精度,在此并不做过多讲解。

c++教程持续更新中,欢迎点赞、收藏、关注。

C++入门指南及实战 第三步 基本变量相关推荐

  1. Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务

    短网址顾名思义就是使用比较短的网址代替很长的网址.维基百科上面的解释是这样的: 短网址又称网址缩短.缩短网址.URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短小的 URL 以代 ...

  2. 机器学习入门与Python实战(三):分类与逻辑回归 Logistic Regression

    目录 现实案例 分类预测 通过股价预测任务区分回归任务与分类任务 分类问题求解 更适合于分类场景的模型:逻辑回归 逻辑回归处理更复杂的分类任务 逻辑回归模型求解 Python实战:商业异常消费数据预测 ...

  3. C++入门指南及实战 第一步 概述及经典HelloWorld

    本系列文章环境及学习门槛 编程基础:无 年龄:具有一定的逻辑思维 英文:不要求 数学:不要求 学习时长:每天一篇,一周4-5篇即可,每篇最多1小时 死记硬背:不需要,理解至上 本机环境:Windows ...

  4. 大数据开发基础入门与项目实战(三)Hadoop核心及生态圈技术栈之5.即席查询Impala介绍及入门使用

    文章目录 前言 1.Impala概述 (1)Impala的概念和优势 (2)Impala的缺点及适用场景 2.Impala的安装与入门 (1)准备工作 (2)制作本地yum源 (3)安装Impala ...

  5. C++入门指南及实战 第二步 HelloWorld及扩展详解

    回顾 在上一节中,我们编写了如下代码,完成了 HelloWorld程序的编写: #include<iostream> using namespace std;int main(){cout ...

  6. 大数据开发基础入门与项目实战(三)Hadoop核心及生态圈技术栈之2.HDFS分布式文件系统

    文章目录 前言 1.HDFS特点 2.命令行和API操作HDFS (1)Shell命令行客户端 (2)API客户端连接HDFS的两种方式 (3)API客户端上传下载文件 (4)API客户端文件详情及文 ...

  7. 大数据开发基础入门与项目实战(三)Hadoop核心及生态圈技术栈之3.数据仓库工具Hive基础

    文章目录 1.Hive概述 (1)数仓工具Hive的产生背景 (2)数仓工具Hive与RDBMS对比 (3)数仓工具Hive的优缺点 (4)数仓工具Hive的架构原理 2.Hive安装与配置 (1)安 ...

  8. python根据品种散点图鸢尾花_python机器学习入门到精通--实战分析(三)

    利用sklearn分析鸢尾花 前面两篇文章提到了机器学习的入门的几个基础库及拓展练习,现在我们就对前面知识点进行汇总进行一个简单的机器学习应用,并构建模型. 练习即假定一名植物专家收集了每一朵鸢尾花的 ...

  9. mui汉字图标_MUI从入门到项目实战(三)增加自定义icon图标

    @font-face{font-family:"iconfont";src:url('iconfont.eot?t=1559111511464'); /*IE9*/src:url( ...

最新文章

  1. 2021-1-17 随笔
  2. java并发编程详解,Java架构师成长路线
  3. leetcode 376. 摆动序列 思考分析
  4. Java之路:this关键字的用法
  5. PHP动态白云为背景的引导页-个人主页源码
  6. CS和BS结构的优缺点
  7. 地址随机化 linux,GOT覆盖和Linux地址随机化
  8. 微机原理是微型计算机与接口技术吗,《微机原理与接口技术》课程教学大纲
  9. 基于STM32设计的WiFi语音播报日程表
  10. xp系统搭建iscsi服务器,配置Microsoft Windows XP对MDS/IPS-8的iSCSI主机
  11. 【无线链路】无线发射功率以及接收灵敏度
  12. 【小程序】JAVA实现从10~50中随机生成50个数,统计出现的数字及次数,输出出现最多的次数及对应的数字,按数字升序排列。
  13. java兔子繁殖总数_Java 兔子繁殖迭代问题
  14. oracle体育成绩字段,在Excel中利用自定义函数处理体育达标成绩
  15. android备份:apk安装过程及原理,备份已安装应用的apk包技术实现方案
  16. 微信自动回复功能实现
  17. win10卸载电脑管家就蓝屏_99%的电脑都有的win10蓝屏问题,两步就能解决!
  18. Linux shell脚本
  19. 计算机硬件简笔画,电脑的鼠标彩色简笔画图片教程步骤
  20. @文本处理之三剑客的简单使用

热门文章

  1. Magicodes.IE 2.3重磅发布——.NET Core开源导入导出库
  2. Magicodes.IE Csv导入导出
  3. 给微软的依赖注入框架写一些扩展方法
  4. .NET Core ORM 类库Petapoco中对分页Page添加Order By对查询的影响
  5. .NET Core 3.0之深入源码理解Configuration(一)
  6. C#8.0可空引用类型的使用注意要点 1
  7. Docker的部署-包括网关服务(Ocelot)+认证服务(IdentityServer4)+应用服务
  8. 响应式编程知多少 | Rx.NET 了解下
  9. IdentityServer4-从数据库获取User登录并对Claims授权验证(五)
  10. .NETCore 实现容器化Docker与私有镜像仓库管理