C++基本数据类型

C++基本数据类型

第一章 C++ 基本数据类型


文章目录

  • C++基本数据类型
  • 前言
  • 一、整形
  • 二、实型-浮点型
  • 三、字符和字符串
  • 四、布尔类型
  • 五、附录-转义字符表
  • 六、附录-算数运算符
  • 七、附录-赋值运算符
  • 八、附录-比较运算符
  • 九、附录-逻辑运算符
  • 十、附录-基本类型表


前言

C++基本数据类型详解


基本类型包括:short、int、long、long long、float、double、char、string(s是小写)

32位下基本类型占字节

      char1个字节

      char*(即指针变量): 4个字节(32位的寻址空间是2^32,4GB)

      short int : 2个字节

      int4个字节

      unsigned int : 4个字节

      float:  4个字节

      double:   8个字节

      long:   4个字节

      long long:  8个字节

      unsigned long:  4个字节
原文链接:https://blog.csdn.net/ykun089/article/details/107484042

64位下基本类型占字节:

      char1个字节

      char*(即指针变量): 8个字节

      short int : 2个字节

      int4个字节

      unsigned int : 4个字节

      float:  4个字节

      double:   8个字节

      long:   4 / 8个字节(视具体情况而定)

      long long:  8个字节

      unsigned long:  8个字节
原文链接:https://blog.csdn.net/ykun089/article/details/107484042

总结:其实只有指针和long型变量不一样

  • 32位 指针 :4个字节 long :4个字节
  • 64位 指针 :8个字节 long :4 / 8个字节

一、整形

                        一个字节占8位
  1. short(短整型 2字节)
  2. int(整型 4字节)
  3. long(长整型 4字节 在64位linux虚拟机里是8个字节
  4. long long(长长整型 8字节)
	short  a = 32768;//错误,结果输出为-32768,因为超出取值范围了
	int b=32768;//正确
	long c=1;
	//long c=1l;
	long long d=1;
	//long long d=1l;

sizeof关键字可以统计数据所占内存大小(单位是字节)。

cout <<sizeof(short)<< "-"<<sizeof(int)<< "-" 
<<sizeof(long)<< "-"<<sizeof(long long)<<endl;
//2-4-4-8

二、实型-浮点型

  1. float(单精度 4字节 7位有效数字)
  2. doubel(双精度 8字节 15~16位有效数字)
float a=3.1415926;//输出结果3.14159,此时3.1415926这个小数默认是双精度
float b=3.14159f;//给小数末尾加f使其默认为float类型
double a1=3.1415926;//输出结果3.14159
float c=3e2;//输出结果300,意思为3*10^2
float d=3e-2;//输出结果0.03,意思为3*0.1^2

注:默认小数为双精度,默认情况下输出小数会显示5位有效数字

三、字符和字符串

  1. 字符型变量用于显示一个字符。
    c和c++中字符型变量只占一个字节。
    字符型变量不是把字符本身放到内存中存储,而是把其对应的ASCll编码放到存储单元中。
//ASCll编码a-97,A-65
char a='a';
  1. 字符串类型
    在C中用【char 变量名[]=“字符串值”; 】来定义,
    在C++中用 【string 变量名=“字符串值”;】来定义,
    在Java中用【String 变量名=“字符串值”;】来定义。
    c++和java中都可以用c的办法定义字符串。(严格来说,这叫字符数组)

四、布尔类型

bool(1个字节 只有两种值-true或者flase)

bool a=true;//true-真,实值为非0
bool b=flase;//flase-假,实值为0

五、附录-转义字符表

转义字符 含义 ASCII码值(十进制)
\a 警报 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\\ 代表一个反斜线字符"" 092
代表一个单引号(撇号)字符 039
" 代表一个双引号字符 034
? 代表一个问号 063
\0 数字0 000
\ddd 8进制转义字符,d范围0~7 3位8进制
\xhh 16进制转义字符,h范围0-9,a-f,A-F 3位16进制

六、附录-算数运算符

运算符 术语 示例 结果
+ 正号 +3 3
- 负号 -3 -3
+ 10 + 5 15
- 10 - 5 5
* 10 * 5 50
/ 10 / 5 2
% 取模(取余) 10 % 3 1
++ 前置递增 a=2; b=++a; a=3; b=3;
++ 后置递增 a=2; b=a++; a=3; b=2;
前置递减 a=2; b=–a; a=1; b=1;
后置递减 a=2; b=a–; a=1; b=2;
注:两个小数不能做取余运算

七、附录-赋值运算符

运算符 术语 示例 结果
= 赋值 a=2; b=3; a=2; b=3;
+= 加等于 a=0; a+=2; a=2;
-= 减等于 a=5; a-=3; a=2;
*= 乘等于 a=2; a*=2; a=4;
/= 除等于 a=4; a/=2; a=2;
%= 模等于 a=3; a%2; a=1;

八、附录-比较运算符

运算符 术语 示例 结果
== 相等于 4 == 3 0
!= 不等于 4 != 3 1
< 小于 4 < 3 0
> 大于 4 > 3 1
<= 小于等于 4 <= 3 0
>= 大于等于 4 >= 1 1

九、附录-逻辑运算符

运算符 术语 示例 结果
! !a 如果a为假,则!a为真; 如果a为真,则!a为假。
&& a && b 如果a和b都为真,则结果为真,否则为假。
|| a || b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。
注:在C++中除了0其他都为真。对于&&-同真为真,其余为假;对于或-同假为假,其余为真

十、附录-基本类型表

数据类型 说明 字节数 取值范围
bool 布尔型 1 true,false
char 字符型 1 -128~127
unsigned char 无符号字符型 1 0~255
short 短整型 2 -32768~32767
unsigned short 无符号短整型 2 0~65535
int 整型 4 -2147483648~2147483647
unsigned 无符号整型 4 0~4294967295
long 长整型 4 -2147483648~2147483647
unsigned long 无符号长整型 4 0~4294967295
float 单精度型 4 -3.4×10-38~3.4×10-38
double 双精度型 8 -1.7×10-308~1.7×10-308
long double 长双精度型 8 -1.7×10-308~1.7×10-308

你可能感兴趣的:(c++)