c++数据类型

本文介绍了C++中的基本数据类型,如整型(short,int,long,longlong)、浮点型(float,double)、字符型和字符串的使用,以及布尔类型bool。还涉及了数据的内存占用、输入方法、算术和逻辑运算符的操作,包括自增自减、加减乘除和逻辑与、或、非操作。
摘要由CSDN通过智能技术生成

数据类型

C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存

整型

整型变量表示的是整数类型的数据。

数据类型

占用空间

取值范围

short(短整型)

1B

-2^7~2^7-1

int(整型)

2B

-2^15~2^15-1

long(长整型)

4B

-2^31~2^31-1

long iong int(长长整型)

8B

-2^63~2^63-1

取值范围说明:以int型为例子,占用2字节,也就是说电脑中用16bit来存储数据,最大值max为0111 1111 1111 1111(原码),max+1等于1000 0000 0000 0000(十进制为2^15),则max=2^15-1。最小值min为1111 1111 1111 1111(原码)-->1000 0000 0000 0000(反码)-->1000 0000 0000 0001(补码),min=-(2^15-1)。

+0十六进制为0000 0000 0000 0000(原码或补码);对于-0来说,1000 0000 0000 0000(原码)-->1111 1111 1111 1111(反码)-->0000 0000 0000 0000(补码);不论+0还是-0在计算机中存储形式都是0000 0000 0000 0000,然而我们只需要一个0。因此计算机规定,-0用于表示-2^15。

对于正数(包括+0)来说,其原码0000 0000 0000 0000----0111 1111 1111 1111;对于负数(包括-0)来说,其原码1000 0000 0000 0000---1111 1111 1111 1111,但是-0的补码是0000 0000 0000 0000(原本的补码应该是0001 0000 0000 0000 0000,但是溢出了)。因此在计算机中不可能有1000 0000 0000 0000这样的存储(如果按照正常算法,这个数字代表-0),所以规定(1000 0000 0000 0000)来表示-2^15。

sizeof关键字

功能:利用sizeof关键字可以得到数据类型所占内存大小

语法:sizeof(数据类型/变量)

返回值:占用多少字节

浮点型(实型)

功能:用于表示小数

有效数字:小数点前和后的数字都属于有效数字,例如3.14就有3位有效数字

数据类型

占用空间

有效数字范围

float(单精度)

4B

7位有效数字

double(双精度)

8B

15~16位有效数字

//科学计数法
float a=3e2;     //若e后是个正整数,表示3*(10^2)

float b=3e-2;     //若e后是个负整数,表示3*(0.1^2)

字符型

功能:字符型变量用于表示单个字符

语法:char 变量名='单个字符'

注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
  • C和C++中字符型变量只占用1个字节。

  • 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元

转义字符

功能:用于表示一些不能显示出来的ASCII字符

转义字符

含义

\n

换行,将当前位置移到下一行开头

\r

回车,将当前位置移到本行开头

\t

水平制表,跳到下一 个TAB位置,可以整齐地输出数据

\\

代表一个反斜线字符"\"

字符串型

功能:用于表示一串字符

两种风格:

1、c语言风格字符串:char 变量名[]=“字符串”

char str="niushuaihan";
//打印字符串str
cout<<str<<endl;

2、c++语言风格字符串:string 变量名=“字符串”

#include<string>      //必须添加这个头文件

string str="niushuaihan";
cout<<str<<endl;       //打印字符串str

string ID="ABC";
str+=ID[1];    //在str字符串的后面添加上字符B

布尔类型(bool)

功能:布尔数据类型代表真或假

占用空间:1B

注意:0表示假,不是0的数字都表示真

数据的输入

功能:用于从键盘获取数据

string str;
//输入字符串
cin>>str;

算术运算符

加减乘除:

//两个整数相除得到商,但除数或者被除数至少有一个是小数,得到结果是小数
int a=10,b=3;
float x=0.5,y=0.25,z=0.22;

cout<<a/b<<endl;       //结果为3
cout<<x/y<<endl;       //结果为2
cout<<x/z<<endl;       //结果为2.27273.是个小数

自增自减运算:

//前置和后置的区别
//前置递增先让变量+1,然后进行表达式运算
int a1=10;
int b1=++a1*10;          //a1=11,b1=110

//后置递增 先进行表达式运算,后让变量+1
int a2=10;
int b2=a2++*10;          //a2=11,b2=100

逻辑运算符:

功能:根据表达式的值返回真值或假值

运算符

术语

&&

||

int a=10,b=2,c=0
cout<<!a<<endl;     //输出0,因为a!=0为真,取非变成假
cout<<a&c<<endl;    //输出0
cout<<b||c<<endl;    //输出1,c++中输出true就会输出1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值