C++数据类型

C++学习之路

数据类型

cin 与 cout 详解

在 C++ 中 std 命名空间 是 C++ 中标准库类型对象的命名空间。我们 常用的输入和输出 函数 都是定义在 std 命名空间中的,因此,我 们需要使用输入和输出,必须要引入 std 命名空间。

要引用一个命名空间中的内容,有三种方法,分别为

  1. 使用 using 引 入命名空间、
  2. 使用 using限定符
  3. 直接使用命名空间限制访问
using引入命名空间

语法

using namespace std;

直接使用 using 完全引入了 std 命名空间,后面可以直接使用 std 命 名空间中的所有内容了。

使用using限定符

语法

using std::cout;

using std::cin;

仅仅使用了 using 引入了 std 命名空间中的 cout 和 cin ,因此,接 下来在使用 cout 和 cin 时,不再需要使用命名空间了。

显式引用

语法

std::cout

std::cin

直接使用 std:: 的形式,显式的指定我们使用的 cout 是 std 命名空 间的,使用的 cin 也是std命名空间的。

cin 输入

语法

cin >>varname1>>varname2>>varname3;

使用 cin 连续输入了三个 变量

cin 可以一次性输入任意多个变量的值

cout 输出

语法

cout <<varname1<<varname2<<varname3;

使用cout连续输入了三个变量

cout可以一次性输出任意多个变量的值

还有clog 和cerr ,分别用于输出log和删除错误信息

使用都跟cout一模一样

常量与变量

常量

常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。

常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。

常量就像是常规的变量,只不过常量的值在定义后不能进行修改。

变量

变量是程序运行中其值可以改变的量,变量需要指定数据类型,变量由变量名,变量值组成

常量直接使用即可;变量则先定义,在使用。

变量定义的语法
  1. 数据类型 变量名;
  2. 数据类型 变量名 = 数据;

例如 定义一个整型变量

int aa; // 整型的默认初始值为0

int bb =100;

变量的使用

常见的加减乘除等等操作,可以直接使用变量

变量命名规则
  1. 在名称中只能使用字母(52)、数字(10)和下划线_
  2. 名称的第一个字符不能是数字
  3. 区分大写字符与小写字符
  4. 不能将C++关键字用作名称,不能存在二异性

拓展:见其名,知其意

常见数据类型

整形 integr int

  • 保留整数数字

字符型 char char

  • 保留单个字符

浮点型 float

  • 保留小数浮点数

布尔 bool

  • 保留真true ,假false值 true可以用非零整数代替,false可以用0代替

其他内置类型

image-20221218192032880

一些基本类型可以使用一个或者多个类型修饰符进行修饰

  • signed
  • unsigned
  • short
  • long

image-20221218193309491

注释

注释不仅可以用来解释程序某些部分的作用和功能(用自然语言描述代码的功能),在必要时,还可以将代码临时移除,是调试程序的好帮手。

通常而言,合理的代码注释应该占源代码的 1/3 左右

  1. 单行注释(也叫行注释)//
  2. 多行注释(也叫块注释)/**/ ctrl + k + / 或者 ctrl +shift +/

转义字符

在编程中有一些字符是打不出来的,比如换行,提示音,下一个制表位等等,于是程序语言的开发者就设计了转义序列(escape sequence)这种东西用来表达这些字符。

所谓转义,可以理解为 “采用某些方式暂时取消该字符本来的含义” ,这里的 “某种方式” 指的就是在指定字符前添加反斜杠 \,以此来表示对该字符进行转义。

数据的进制表示及相互转换

进制:进位记数制的简称,将数字符号按序排列成数位,并遵照某种由低 位到高位的进位方式计数表示数值的方法

基数:某进制计数制允许选用的基本数字符号的个数称为基数。

:各进制中每一个固定位置对应的单位值称为权。权的大小是以 基数为底,数字符号所处的位置的序号为指数的整数次幂。

image-20221218200247912

B表示二进制数,O表示八进制数,D表示十进制数, H表示十六进制数。

进制间的相互转换

十进制转二进制

方法:除基取余倒着读

image-20221218195921307

二进制转十进制

方法:按权展开求和

image-20221218200121705

十进制转八进制

方法同十转二

(116)10= (164)8

八进制转十进制

方法同二转十

十进制转十六进制&十六进制转十进制同上

小数转换10->2

乘基取整正着度

image-20221218202735412

小数转换2->10

按权展开求和(从左到右,从-1次方开始)

image-20221218202808616

八,十六进制相互转换

image-20221218202900280

数据在内存中的存储方式-源码补码反码

原码

原码(0表示正数,1表示负数)

x=1100110,则[X]原=01100110

x=-1100111,则[X]原=11100111

反码

反码(正数的反码就是自身负数的反码除符号位外,其他各位求反)

x=1100110,则[X]反=01100110,

x=-1100111,则[X]反=10011000,

反码肯定属于有符号位,相当于上面有符号位求反

补码

补码(正数的补码还是自身,负数的补码,符号位不变,其余取反, 然后最低为加1)

x=1100110,则[X]补=01100110

x=-1100111,则[X]补=10011001

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tian Meng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值