基本数据类型和计算

一、常量和变量

        常量和变量
常量 值不会改变
变量  值可能改变

 

 

 

 

        起名字必须遵守的规矩
1 不能重名
2 不能和C/C++语言里的关键字重名
3 必须是字母或者字母和数字的组合,符号仅_可以使用
4 名字不能用数字开头
        起名字建议遵守规矩
最好要能直观表达你这个名字代表的内容 
别太长

 

 

 

 

 

 

 

 

 

          变量的定义方式
类型 名字 {初始值}; 或者 类型 名字=初始值;
         常量的定义方式
直接使用值
const 类型 名字 {初始值};类型 const名字{初始值};
#defin    名字     值

 

 

 

 

 

 

 

 

 

 

二. 布尔和整型

                    带符号的整数类型表        
类型 内存占用(字节) 取值范围

signed char

char

1 -128到127

short

short int

signed short

signed short int

2 -32768到32767

int

signed

signed int

4 -2'147'483'648到2'147'483'647

long

long int 

signed long

signed long int

4/8

4字节-2'147'483'648到2'147'483'647

8字节-9'223'372'036'854'775'808到9'223'372'036'854'775'807

long long

long long int 

signed long long

signed long long int 

8 -9'223'372'036'854'775'808到9'223'372'854'775'807

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

            不带符号的整数类型        
类型  内存占用(字节) 取值范围
unsigned char 1 0到255

unsigned short

wchar_t

2 0到65535

unsigned

unsigned int 

4 0到4’249‘967’295
unsigned long 4/8

4字节 0到4‘294’967‘295

8字节 0到18'446'744'073'709'551'615

unsiged long long 8 0到18’446‘744’073‘709’551‘615

 

 

 

 

 

 

 

 

 

 

 

 

 

布尔类型
类型 内存占用(字节) 取值范围
bool 1 true或者false

 

 

 

 

注意:0~255中除了0其他都是True

 

            变量的定义方式 

类型 名字 {初始值};

类型 名字 =初始值;

          分解变量的定义方式            

定义 初始化

定义 类型 名字

初始化

名字{};

名字{初始值};

名字(初始值);

名字=初始值;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

              输入和输出                
操作 代码
输出 std::cout<<"输出的内容";
输入 std::cin要存放内容的变量;

 

 

 

 

 

 

三、 赋值和运算

          整型字面量的表达          
进制 表达方式
二进制 0b+二进制+后缀;
八进制 0+八进制数+后缀;
十进制 十进制数+后缀;
十六进制 0x+十六进制数+后缀

关于后缀的说明:

L/I代表该值为long型

LL/II代表该值为long long型

U/u代表该值为无符号型,可以和L/II或者LL/II使用 比如65535ULL;

 

 

 

 

 

 

 

 

 

 

 

 

 

基本的算数运算
名称  运算符 示范
+ a=b+c;  a=a*c;
- a=b-c;   a=a-c;
* a=b*c;   a=a*c;
/ a=b/c;   a=a/c;
% a=b%c;  a=a%c;

 

 

 

 

 

 

 

 

 

 

op=运算符
名称  运算符 示范
+= a+=1;  相当于a+=a+1;
-= a-=1;  相当于a=a-1;
*= a*=1;  相当于a=a*1;
/= a/=1;  相当于a=a/1;
%= a%=1;  相当于a=a%1

 

 

 

 

 

 

 

 

 

 

      递增递减运算符       
名称 运算符 示范说明
先递增 ++a; int a=10;  int s_end=++a+5;  //s_end=16;  a=11;
后递增 a++; int a=10;  int s_end=a++ +5;  //s_end=15;  a=11;
先递减 --a; int a=10;  int s_end=--a+5;  //s_end=14;  a=9;
后递减 a--; int a=10;  int s_end=a-- +5;  //s_end=15;  a=9;

        一次运算最多使用一次递增或者递减

              比如

          int s_end = ++a*5+16*a++;

            结果是不确定的

     s_end=s_end++ +1;(C++17标准后可以写,但是不推荐)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

四、浮点数

      浮点数数据类型        
类型 内存占用(字节) 取值范围
float 4 大约7位精度±3.4E±38
double 8 大约15位精度±1.7E±308
long double 8 大约15位精度±1.7E±308

 

 

 

 

 

 

 

 

      浮点数的表达        

单精度浮点数(float)小数后加f或者F

例如200.0f/200.0F

不带后缀的浮点数一律视为double类型

例如200.0

后缀位L/I的浮点数视为long double类型

 

 

 

 

 

 

 

 

 

      浮点数注意事项      
浮点数不仅可以表达小数,也可以表达整数,比如1E2=100.0

浮点数运算精度值得注意

 

float a{65923600.0},b{0.000001},c{a+b};

c=?;

 

 

 

 

 

 

 

 

五、类型转换

     类型转换顺序表      
      long double
       double
          float
    unsigned long long
       long long
     unsigned long
        long
      unsigned int
           int

 

 

 

 

 

 

 

 

 

 

 

 

 

  类型转换
C++ static_cast<目标类型>(要转换的内容) int a=static_cast<int>(b);
C 类型(要转换的内容) int a=int(b);
posted @   吴神  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示