• 2.c++基础语法


    1.c++ 程序结构

    在这里插入图片描述

    关键字

    关键字事程序保留的,程序员不能使用,c++的常见关键字如下图:
    在这里插入图片描述

    标识符、操作符、标点

    在这里插入图片描述
    :: 这个也是操作符,不是标点。

    预处理指令

    在这里插入图片描述

    注释

    在这里插入图片描述

    main 主函数

    一个程序只能有一个入口。
    在这里插入图片描述
    代码练手:

    #include
    
    using namespace std;
    
    int main(){
        cout << "hello" << endl;
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    代码练手

    #include
    using namespace std;
    
    //argc 参数数量
    //argv 参数列表
    int main(int argc,char** argv){
        cout << "参数数量:" << argc << endl;
        cout << "==== 参数列表 =====" << endl;
        for (int i = 0;i < argc; i ++){
            cout << "参数:" <
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    命名空间

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    想不发生冲突,还是直接std::cout,比较好一点。

    2.c++ 变量和常量

    在这里插入图片描述

    变量

    在这里插入图片描述
    变量名实际上就是你的内存地址。只不过对于不同的对象就是在堆上还是在栈上。因为是一块地址,所以是可以变化的,想放什么就放什么。

    在这里插入图片描述
    在这里插入图片描述
    变量的初始化。
    在这里插入图片描述
    代码演示:

    #include
    using namespace std;
    
    int main(){
        int age;
        cout << "age is : " << age << endl;
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    如果变量没有初始化,会触发警告。如下图。警告不影响运行,但是最好都要做初始化。

    在这里插入图片描述
    代码练手,计算房子面积:

    #include
    using namespace std;
    
    int main(){
        int room_width {0};
        cout << "请输入房间宽度:" ;
        cin >> room_width;
    
        int room_height {0};
        cout << "请输入房间高度" ;
        cin >> room_height;
        
    
        cout << "=====================" << endl;
        cout << "房间的面积是:" << room_height * room_width << endl;
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    数据基本类型都有哪些:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    附上ASCII编码表:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    变量声明的时候,因为变量是有大小限制的,如果声明的超过了范围,使用花括号,就会报错。如下图,这也是花括号声明的好处之一。

    在这里插入图片描述
    代码练手:

    #include
    using namespace std;
    
    int main(){
        cout << "=====字符型" << endl;
        char my_char {'f'};
        cout << "字符:" << my_char << endl;
    
    
        cout << "=====短整型" << endl;
        short my_short {59};
        cout << "短整型:" << my_short << endl;
    
        // cout << "======浮点数======" << endl;
        // 不会报错
        short overflow_num_1 = 32769;
        cout << "短整型溢出" << overflow_num_1 << endl;
    
        // short overflow_num_2 {32768}; // 会报错,无法编译
        // cout <<  "短整型溢出" << overflow_num_2 << endl;
    
        cout << "########int#######" << endl;
        int my_height {182};
        cout << "int类型:" << my_height << endl;
    
    
        long peolple {10360000};
        cout << "杭州人数:" << peolple << endl;
    
    
        long long people_in_world {80'0000'0000}; // 方便阅读 c++14标准
        cout << "全世界的人数:" << people_in_world << endl;
    
        //浮点型
        cout << "=======浮点型=======" << endl;
        float book_price {24.21f};
        cout << "书的价格" << book_price << endl;
    
        double pi {3.14159};
        cout << "圆周率:" << pi << endl;
    
        cout << "#######bool#########" << endl;
    
        bool add_to_cart {true};
        cout << boolalpha; // 以bool值的形式输出
        cout << "是否加入购物车:" << add_to_cart << endl;
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • sizeof 和climits
    • 在这里插入图片描述
      代码示例:
    #include
    using namespace std;
    // 想要使用看大小的函数,需要引入climits
    #include
    
    int main(){
    
    
        cout << "char:" << sizeof(char) << endl;
        cout << "short:" << sizeof(short) << endl;
        cout << "int:" << sizeof(int) << endl;
        cout << "long:" << sizeof(long) << endl;
        cout << "long long:" << sizeof(long long) << endl;
    
        cout << "float:" << sizeof(float) << endl;
        cout << "double:" << sizeof(double) << endl;
    
        cout << " min and max" << endl;
        cout << "char min:" << CHAR_MIN << ",max:" <
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 常量

    在这里插入图片描述

    代码练手:

    
    #include
    using namespace std;
    
    int main(){
        const double pi {3.1415926};
        cout << "请输入半径:" ;
        double radius {};
        cin >> radius;
        cout << "圆的面积:" << pi * radius * radius << endl;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    3.c++ 数组和容器

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    注意:访问的超出范围会报错。
    在这里插入图片描述

    代码演示:

    #include
    using namespace std;
    
    
    int maopao(int array[]){
        // 写一段冒泡排序的代码
    
    
        return 0;
    } 
    
    int main(){
    
        char vowels[] {'a','e'};
    
        cout << "第1个元素:" << vowels[0] << endl;
        cout << "第2个元素:" << vowels[1] << endl;
    
        // cin >> vowels[2];
    
        // cout << "第3个元素:" << vowels[2] << endl;
    
        double hi_tmps [] {100,101,102,103};
    
        hi_tmps[0]= 200;
    
        cout << "第五天的温度:" << hi_tmps[4] << endl; // 放到到一个未知的地址空间,数据每次都不同
    
        int student_score[5];
    
        cout << "第一个学生的成绩是:" << student_score[0] << endl;
        cout << "第二个学生的成绩是:" << student_score[1] << endl;
        cout << "第三个学生的成绩是:" << student_score[2] << endl;
        
        cout << endl;
    
        cin >> student_score[0];
        cin >> student_score[1];
        cin >> student_score[2];
        cin >> student_score[3];
        cin >> student_score[4];
    
        cout << "第一个学生的成绩是:" << student_score[0] << endl;
        cout << "第二个学生的成绩是:" << student_score[1] << endl;
        cout << "第三个学生的成绩是:" << student_score[2] << endl;
        cout << "第四个学生的成绩是:" << student_score[3] << endl;
        cout << "第五个学生的成绩是:" << student_score[4] << endl;
    
        cout << "数组的名称是:" << student_score << endl; // 数组的名称是数组的首地址
        cout << "数组的名称是:" << *student_score << endl; // 直接用指针指一下,输出的就是第一个数值
    
    
        cout << "定义一个二维数组" << endl;
    
        int array_2d[3][4] {
            {1,2,3,4},
            {5,6,7,8},
            {9,10,11,12}
        };
    
        cout << "第一行第一列的值是:" << array_2d[0][0] << endl;
        cout << "第3行第2列的值是:" << array_2d[2][1] << endl;
    
    
        cout << endl;
    
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 容器
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    代码练手:

    #include
    #include
    
    using namespace std;
    
    int main(){
    
        // vector vowels;
        // vector vowels2 (5);
        // cout << "第一个元素是:" << vowels2[0] << "\n";
    
    
        // vector vowels {'a', 'e', 'i', 'o', 'u'};
        // cout << "第一个元素是:" << vowels[0] << "\n";
        // cout << "第二个元素是:" << vowels[1] << "\n";
    
        // vector test_scores (3);
        // cout << "第一个元素是:" << test_scores[0] << "\n";
    
        // vector students_socre(3,100);
        // cout << "第一个元素是:" << students_socre[0] << "\n";
    
        // vector students_socre {100, 98, 89};
        // cout << "array方式访问:" << endl;
        // cout << "三个元素分别是:" << students_socre[0] << " " << students_socre[1] << " " << students_socre[2] << endl;
    
        // cout<< "======================" << endl;
        // cout << "vector方式访问:" << endl;
        // cout << "三个元素是:" << students_socre.at(0) << " " << students_socre.at(1) << " " << students_socre.at(2) << endl;
    
        // // 添加元素
        // cout << "======================" << endl;
        // int add_new_value {0};
        // cout << "请输入一个新的值:";
        // cin >> add_new_value;
    
        // students_socre.push_back(add_new_value); // 添加到最后一个元素
    
        // cout << "在添加一个新的值:" ;
        // cin >> add_new_value;
        // students_socre.push_back(add_new_value); // 添加到最后一个元素
    
        // cout << "添加后一共有多少个元素 :" << students_socre.size() << endl;
        // cout << "第一个元素是:" << students_socre.at(0) << endl;
        // cout << "第二个元素是:" << students_socre.at(1) << endl;
        // cout << "第三个元素是:" << students_socre.at(2) << endl;
        // cout << "第四个元素是:" << students_socre.at(3) << endl;
        // cout << "最后一个元素是:" << students_socre.at(students_socre.size() - 1) << endl;
    
        // cout << "获取不存在的元素:" << students_socre.at(10) << endl; // 报错
        // cout << "获取不存在的元素:" << students_socre[10] << endl; // 不报错,显示0
    
    
        cout << "======================" << endl;
        vector> movie_ratings {
            {1, 2, 3, 4},
            {1, 2, 4, 4},
            {1, 3, 4, 5}
        };
        cout << "数组风格的第一个电影第一个评分是:" << movie_ratings[0][0] << endl;
        cout << "vector风格的第一个电影第一个评分是:" << movie_ratings.at(0).at(0) << endl;
        cout << "第三个电影的第四个评分是:" << movie_ratings.at(2).at(3) << endl;
    
        cout <

4.c++ 程序流程

在这里插入图片描述
在这里插入图片描述

if代码练手:

#include
using namespace std;

int main(){
    int input_num {0};
    const int lower_limit {10};
    const int upper_limit {100};

    cout << "Enter a number: ";
    cin >> input_num;

    if(input_num > lower_limit){
        cout << "\nNumber is greater than or equal to " << lower_limit <<  ",大" << (input_num - lower_limit) < lower_limit && input_num < upper_limit){
        cout << "\nNumber is in range " << endl;
    }

    if (input_num == lower_limit || input_num == upper_limit){
        cout << "\nNumber is on the boundary" << endl;
    }
}   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

if-esle代码练手

#include
using namespace std;

int main(){
    int num {0};

    const int target_num {10};

    cout << "请输入一个数字:";
    cin >> num;

    if (num <= target_num){
        cout << "你输入的数字小于等于目标数字" << endl;
    }else{
        cout << "你输入的数字大于目标数字" << endl;
    }

    return 0;
}   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

switch代码练手:


  • 1

5.c++字符和字符串

  • 相关阅读:
    SMALE实验室论文成果:多标签学习CSDN源码
    Mac上使用Charles抓包
    在 Ubuntu 环境中安装 Go 语言及运行脚本
    Effective Modern C++[实践]->优选delete关键字删除函数,而非private未定义函数
    流程图渲染方式:Canvas vs SVG
    Linux运行环境搭建系列-Openresty安装
    【FI】采购预付款管理报错“字段BSEG-EBELP在屏幕SAPMF05A0304上不存在”
    【Linux学习】03Linux用户和权限
    Java项目里解决request流只能获取一次的问题
    【排序 - 堆排序】
  • 原文地址:https://blog.csdn.net/qq_25310669/article/details/134427568