• C++学习笔记(1)--- 常量、数据类型、运算符


    目录

    一、常量:

    1、宏常量:

    2、const常量:

     二、标识符命名规则:

    三、数据类型:

    1、整型:

    2、 sizeof与typeid关键字:

     3、浮点型:

    4、字符型:

    5、 转义字符:

    6、字符串类型:

    7、布尔类型bool

    8、数据的输入:

    四、运算符:

    1、算数运算符:

    2、赋值运算符:

    3、比较运算符

    4 逻辑运算符


    一、常量:

    1、宏常量:

    #define 宏常量: #define 常量名 常量值

    • 通常在文件上方定义,表示一个常量。

    • 宏常量可以放于数组定义中。

    • 宏常量也不可以修改。

    • 定义时末尾没有分号

    2、const常量:

    const修饰的变量 const 数据类型 常量名 = 常量值

    • 通常在变量定义前加关键字const,修饰该变量为常量,不可修改,必须在定义时赋予初值

    1. //1、宏常量
    2. #define day 7
    3. #define n 10
    4. int main() {
    5. //1、宏常量
    6. cout << "一周里总共有 " << day << " 天" << endl;
    7. //day = 8; //报错,宏常量不可以修改
    8. //定义数组
    9. int arr[n];
    10. //2、const修饰变量
    11. const int month = 12;
    12. cout << "一年里总共有 " << month << " 个月份" << endl;
    13. //month = 24; //报错,常量是不可以修改的
    14. system("pause");
    15. return 0;
    16. }

     二、标识符命名规则:

    • 标识符不能是关键字

    • 标识符只能由字母、数字、下划线组成

    • 第一个字符必须为字母或下划线

    • 标识符中字母区分大小写

    三、数据类型:

    1、整型:

    不同类型的整型所占空间不同:

    数据类型占用空间取值范围
    short(短整型)2字节(-2^15 ~ 2^15-1)
    int(整型)4字节(-2^31 ~ 2^31-1)
    long(长整形)Windows为4字节,Linux为4字节(32位),8字节(64位)(-2^31 ~ 2^31-1)
    long long(长长整形)8字节(-2^63 ~ 2^63-1)

    2、 sizeof与typeid关键字:

    sizeof作用:利用sizeof关键字可以==统计数据类型所占内存大小==

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

    1. int main() {
    2. cout << "short 类型所占内存空间为: " << sizeof(short) << endl;
    3. return 0;
    4. }

    typeid作用:判断数据属于什么类型。

    语法:typeid(判断的数据)

    1. int main()
    2. {
    3. //两个小数相除
    4. double d1 = 0.5;
    5. double d2 = 0.25;
    6. if (typeid(d1/d2) == typeid(double))
    7. {
    8. cout << "是浮点类型" << endl;
    9. }
    10. else if (typeid(d1 / d2) == typeid(int)) {
    11. cout << "是整数类型" << endl;
    12. }
    13. cout << d1 / d2 << endl; //double浮点类型
    14. return 0;
    15. }

     3、浮点与科学计数法:

    浮点型变量用于表示小数分为两种,二者的区别在于表示数字的范围不同

    1. 单精度float

    2. 双精度double

    数据类型占用空间有效数字范围
    float4字节7位有效数字(包括整数部分)
    double8字节15~16位有效数字(包括整数部分)
    1. int main() {
    2. float f1 = 3.14f;
    3. double d1 = 3.14;
    4. //科学计数法
    5. float f2 = 3e2; // 3 * 10 ^ 2
    6. float f3 = 3e-2; // 3 * 0.1 ^ 2
    7. system("pause");
    8. return 0;
    9. }

    4、字符型:

    作用:字符型变量用于显示单个字符

    语法:char ch = 'a';

    注意1:在显示字符型变量时,用引号将字符括起来,不要用双引号

    注意2:单引号内只能有一个字符,不可以是字符串

    • C和C++中字符型变量只占用1个字节。

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

    • A的ASCII是65,a是97,0是48。

    1. int main() {
    2. char ch = 'a';
    3. cout << ch << endl;
    4. cout << sizeof(char) << endl;
    5. //ch = "abcde"; //错误,不可以用双引号
    6. //ch = 'abcde'; //错误,单引号内只能引用一个字符
    7. // 将字符转化为对应的ascll值
    8. cout << (int)ch << endl; //查看字符a对应的ASCII码
    9. ch = 97; //可以直接用ASCII给字符型变量赋值
    10. cout << ch << endl;
    11. // 将int转化为对应的ASCII字符
    12. cout << (char)65 << endl;
    13. // 将数字转化为对应的ASCII值
    14. cout << 65 + '0' << endl;
    15. system("pause");
    16. return 0;
    17. }

    5、 转义字符

    作用:用于表示一些不能显示出来的ASCII字符。用  \ 来进行转义:

    • 转义字符可以使用 ” “双引号或' '单引号括起来
    1. int main() {
    2. // \
    3. cout << "\\" << endl;
    4. // 在一个tab的距离之后输出Hello
    5. cout << "\tHello" << endl;
    6. //换行相当于打了一个endl
    7. cout << "\n" << endl;
    8. system("pause");
    9. return 0;
    10. }

    6、字符串类型:

    1、C风格字符串char 变量名[] = "字符串值"

    2、C++风格字符串 string 变量名 = "字符串值"  使用前必须导入#include头文件

    1. int main() {
    2. //C语言的字符串类型
    3. char str1[] = "hello world";
    4. cout << str1 << endl;
    5. //C++上的字符串类型
    6. string str = "hello world";
    7. cout << str << endl;
    8. system("pause");
    9. return 0;
    10. }

    7、布尔类型bool

    作用:布尔数据类型代表真或假的值,bool类型只有两个值: 1个字节

    • true --- 真(本质是1)

    • false --- 假(本质是0)

    1. int main() {
    2. bool flag = true;
    3. cout << flag << endl; // 1
    4. flag = false;
    5. cout << flag << endl; // 0
    6. cout << "size of bool = " << sizeof(bool) << endl; //1
    7. system("pause");
    8. return 0;
    9. }

    8、数据的输入:

    关键字:cin

    语法: cin >> 变量

    除了字符串类型,其余类型的输入必须赋予初值才能使用cin,否则就会报错。

    字符串输入:

    • 不能输入空格,输入空格表示输入结束

    bool类型输入:

    • 输入数字时,只有输入0时才为0,其余数字全是1
    • 输入字符串,最终都会返回0
    1. int main(){
    2. //字符串型输入
    3. string str;
    4. cout << "请输入字符串型变量:" << endl;
    5. cin >> str;
    6. cout << str << endl;
    7. //布尔类型输入
    8. bool flag = true;
    9. cout << "请输入布尔型变量:" << endl;
    10. cin >> flag;
    11. cout << flag << endl;
    12. system("pause");
    13. return EXIT_SUCCESS;
    14. }

    四、运算符:

    我们主要介绍以下运算符:

    运算符类型作用
    算术运算符用于处理四则运算
    赋值运算符用于将表达式的值赋给变量
    比较运算符用于表达式的比较,并返回一个真值或假值
    逻辑运算符用于根据表达式的值返回真值或假值

    1、算数运算符:

    作用:用于处理四则运算

    运算符术语示例结果
    +正号+33
    -负号-3-3
    +10 + 515
    -10 - 55
    *10 * 550
    /10 / 52
    %取模(取余)10 % 31
    ++前置递增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;

    1、\是转义符号,/是除

    2、无论是前置还是后置运算,a的值都会发生变化。

    加减乘除:

    1. int main()
    2. {
    3. int a1 = 10;
    4. int b1 = 3;
    5. cout << a1 + b1 << endl;
    6. cout << a1 - b1 << endl;
    7. cout << a1 * b1 << endl;
    8. cout << a1 / b1 << endl; //两个整数相除结果依然是整数
    9. int a2 = 10;
    10. int b2 = 20;
    11. cout << a2 / b2 << endl;
    12. int a3 = 10;
    13. int b3 = 0;
    14. //cout << a3 / b3 << endl; //报错,除数不可以为0
    15. //两个小数可以相除
    16. double d1 = 0.5;
    17. double d2 = 0.25;
    18. if (typeid(d1/d2) == typeid(double))
    19. {
    20. cout << "是浮点类型" << endl;
    21. }
    22. else if (typeid(d1 / d2) == typeid(int)) {
    23. cout << "是整数类型" << endl;
    24. }
    25. cout << d1 / d2 << endl; //还是浮点类型
    26. system("pause");
    27. return 0;
    28. }

    取模:

    1、只有整数才能取模运算

    2、取模运算同样不支持除数为0

    1. //取模
    2. int main() {
    3. int a1 = 10;
    4. int b1 = 3;
    5. cout << 10 % 3 << endl;
    6. int a2 = 10;
    7. int b2 = 20;
    8. cout << a2 % b2 << endl;
    9. int a3 = 10;
    10. int b3 = 0;
    11. //cout << a3 % b3 << endl; //取模运算时,除数也不能为0
    12. //两个小数不可以取模
    13. double d1 = 3.14;
    14. double d2 = 1.1;
    15. //cout << d1 % d2 << endl;
    16. system("pause");
    17. return 0;
    18. }

    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;

    3、比较运算符

    作用:用于表达式的比较,并返回一个真值或假值。

    返回值是真或假,即0或1。

    运算符术语示例结果
    ==相等于4 == 30
    !=不等于4 != 31
    <小于4 < 30
    >大于4 > 31
    <=小于等于4 <= 30
    >=大于等于4 >= 11

    4 逻辑运算符

    作用:用于根据表达式的值返回真值或假值

    在C++中除了0是假之外,所有的数都是真即1

    运算符术语示例结果
    !!a如果a为假,则!a为真; 如果a为真,则!a为假。
    &&a && b如果a和b都为真,则结果为真,否则为假。
    ||a || b如果a和b有一个为真,则结果为真,二者都为假时,结果为假。
    1. //逻辑运算符 --- 非
    2. int main() {
    3. int a = 10;
    4. cout << !a << endl; // 0
    5. cout << !!a << endl; // 1
    6. system("pause");
    7. return 0;
    8. }

  • 相关阅读:
    宝塔Node部署nuxt3
    如何在 swgger 中设置连接前后端的 API 接口
    深入理解Java消息中间件-每种解决方案的特点和适用场景
    Android Audio 焦点
    Linux之mkfs的使用
    DevChat:将 GPT-4 无缝融入 VS Code,极致提升你的编程体验
    C++:delete和delete[]释放内存的区别
    电路分析中的函数介绍
    Kubernetes 的 NameSpace 无法删除应该怎么办?
    Kotlin - 协程调度器 CoroutineDispatcher
  • 原文地址:https://blog.csdn.net/weixin_60414376/article/details/126819565