• 十四天学会C++之第一天(入门和基本语法)


    在这里插入图片描述

    C++的起源和历史

    C++诞生于20世纪80年代初,它的创造者是计算机科学家Bjarne Stroustrup。当时,Stroustrup在贝尔实验室工作,他希望为C语言添加一些功能,以便更好地支持系统开发。这个愿望促使他创建了C++。

    C++的名字来源于它的基因,其中的"C"代表了C语言,而"++"表示C语言的一个增强版本。这个名字反映了C++的初衷,即在C语言的基础上引入更多的功能和特性。

    C++的发展历程非常丰富多彩。1983年,第一个C++编译器问世。1985年,Stroustrup发表了他的博士论文,详细介绍了C++的设计和理念。接着,C++开始逐渐在计算机科学领域广泛传播开来。

    C++的主要特点

    C++的魅力在于它的多样性和灵活性。以下是C++的主要特点:

    • 面向对象编程(OOP):C++是一门强大的面向对象编程语言。它支持面向对象的核心概念,如封装、继承和多态性。这使得C++成为构建复杂软件系统的理想选择。

    • 封装、继承、多态性:C++鼓励良好的代码组织,通过类和对象实现封装,通过继承创建新的类,通过多态性支持灵活的对象行为。

    • 标准模板库(STL):C++提供了强大的STL,它包括许多容器和算法,可以大大简化数据结构和算法的实现。

    • 高性能:C++的性能一直是其吸引力之一。它允许直接内存操作,使得C++程序可以高效地执行。

    • 跨平台性:C++可以在各种操作系统上运行,这使得它成为跨平台开发的首选语言之一。

    C++程序的结构

    一个典型的C++程序由多个部分组成,这些部分包括头文件引入、全局声明、main函数、函数定义等。

    #include   // 引入头文件
    
    // 全局声明
    
    int main() {
        // main函数
    
        // 代码逻辑
    
        return 0;  // 返回值
    }
    
    // 函数定义
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    编写一个简单的Hello World程序

    #include   // 引入头文件
    
    int main() {
        // main函数
    
        // 使用cout输出Hello World到控制台
        std::cout << "Hello, World!" << std::endl;
    
        return 0;  // 返回值
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行结果:在这里插入图片描述

    程序解释

    • #include :这是一个头文件引入的示例,它允许我们使用C++标准库中的输入输出功能。在C++中,头文件用于包含预定义的函数和类,以便我们可以使用它们。

    • int main():这是C++程序的入口点,也就是main函数。在这个函数内部,我们编写程序的主要逻辑。main函数的返回值类型是整数(int),通常用于指示程序的执行状态。如果返回0,表示程序正常结束。

    • std::cout << "Hello, World!" << std::endl;:这是一个输出语句,使用std::cout对象将字符串"Hello, World!"输出到控制台。<< 运算符用于将数据插入到输出流中,std::endl表示换行。

    这个Hello World程序很简单,它演示了C++程序的基本结构和语法。我们可以在main函数内部编写更多的代码来实现各种功能。

    基本数据类型

    C++提供了多种基本数据类型,用于存储不同种类的数据。以下是一些常见的基本数据类型:

    1. 整数类型(int):用于存储整数值,如-1、0、1、2等。
    2. 浮点类型(float和double):用于存储带有小数点的数值,如3.14、0.5等。
    3. 字符类型(char):用于存储单个字符,如’A’、'B’等。
    4. 布尔类型(bool):用于存储布尔值,只有两个可能的值,true和false。

    声明和初始化变量

    在C++中,我们使用变量来存储和操作数据。声明变量意味着我们在内存中为它们分配了存储空间。

    int age;            // 声明一个整数变量
    float price = 9.99; // 声明并初始化一个浮点数变量
    char grade = 'A';   // 声明并初始化一个字符变量
    bool isStudent = true; // 声明并初始化一个布尔变量
    
    • 1
    • 2
    • 3
    • 4

    在上面的示例中,我们声明了四个不同类型的变量:age(整数)、price(浮点数)、grade(字符)和isStudent(布尔)。

    变量的命名规则和标识符

    在C++中,变量名必须遵循一些命名规则和标识符规定:

    • 变量名可以包含字母、数字和下划线。
    • 变量名必须以字母或下划线开头,不能以数字开头。
    • 变量名区分大小写,这意味着myVarmyvar被视为不同的变量。
    • 避免使用C++关键字作为变量名,如intfloatif等。

    有效的变量名示例:myVarageuser_name。良好的命名习惯可以使代码更具可读性和维护性。

    使用cin实现用户输入数据

    在C++中,我们使用cin来接收用户输入的数据。cin是C++标准库中的输入流对象,它可以读取用户从键盘输入的信息。

    #include 
    using namespace std;
    
    int main() {
        string name;
    
        cout << "请输入您的姓名: ";
        cin >> name;
    
        cout << "欢迎您," << name << "!" << endl;
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    运行结果:在这里插入图片描述

    在示例中,我们首先声明了一个字符串变量name来存储用户的姓名。然后,我们使用cout输出流对象向用户显示一条提示消息,要求用户输入姓名。接下来,使用cin输入流对象接收用户的输入,并将其存储在name变量中。最后,我们使用cout再次输出欢迎消息,包括用户的姓名。

    输入流和输出流的概念

    在C++中,cincout分别是输入流和输出流的实例。流是一种数据传输方式,它可以将数据从一个地方传输到另一个地方。输入流用于从外部(例如键盘)读取数据,而输出流用于向外部(例如屏幕)写入数据。

    流的概念使我们能够以一种连贯和一致的方式进行输入和输出操作,无论是与用户交互还是与文件进行数据交换。

    C++中的运算符

    C++提供了多种类型的运算符,用于执行各种操作。以下是一些常见的运算符:

    1. 算术运算符:用于执行基本的数学运算,例如加法、减法、乘法和除法。
    int a = 10;
    int b = 5;
    int sum = a + b; // 加法
    int diff = a - b; // 减法
    int product = a * b; // 乘法
    int quotient = a / b; // 除法
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 关系运算符:用于比较两个值之间的关系,返回布尔结果(真或假)。
    int x = 10;
    int y = 5;
    bool isEqual = (x == y); // 等于
    bool isNotEqual = (x != y); // 不等于
    bool isGreater = (x > y); // 大于
    bool isLess = (x < y); // 小于
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 逻辑运算符:用于执行逻辑操作,例如逻辑与、逻辑或和逻辑非。
    bool condition1 = true;
    bool condition2 = false;
    bool resultAnd = (condition1 && condition2); // 逻辑与
    bool resultOr = (condition1 || condition2); // 逻辑或
    bool resultNot = !condition1; // 逻辑非
    
    • 1
    • 2
    • 3
    • 4
    • 5

    表达式的构建和求值

    在C++中,表达式是由运算符和操作数组成的组合,用于执行特定的计算。表达式可以包含变量、常量和函数调用。

    int a = 10;
    int b = 5;
    int result = (a + b) * 2; // 表达式由运算符和操作数构成
    
    • 1
    • 2
    • 3

    在上面的示例中,表达式(a + b) * 2包含了加法运算符、乘法运算符和操作数a、b、2。

    表达式的求值是根据运算符的优先级和结合性来执行的。C++有一套严格的规则来确定表达式中各个运算符的执行顺序。

    数学运算示例

    简单的数学运算示例来加深对表达式的理解:

    #include 
    using namespace std;
    
    int main() {
        int a = 10;
        int b = 5;
    
        // 加法和乘法表达式
        int sum = a + b;
        int product = a * b;
    
        // 输出结果
        cout << "Sum: " << sum << endl;
        cout << "Product: " << product << endl;
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    运行结果:在这里插入图片描述

    在示例中,我们计算了两个整数的和and积,并使用cout输出流将结果显示在屏幕上。

    基本的控制结构(if语句,循环)

    条件语句 - if和if-else

    条件语句允许根据条件的真假执行不同的代码块。if语句的基本用法:

    if (条件) {
        // 如果条件为真,执行这里的代码块
    } 
    
    • 1
    • 2
    • 3

    使用if语句来判断一个数字是否为正数:

    #include 
    using namespace std;
    
    int main() {
        int number;
        cout << "请输入一个整数:";
        cin >> number;
    
        if (number > 0) {
            cout << "这是一个正数" << endl;
        }
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    运行结果:在这里插入图片描述

    在示例中,如果用户输入的数字大于0,将输出"这是一个正数"。

    if-else语句允许我们在条件为假时执行另一段代码块:

    if (条件) {
        // 如果条件为真,执行这里的代码块
    } else {
        // 如果条件为假,执行这里的代码块
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    下面是一个判断数字奇偶性:

    #include 
    using namespace std;
    
    int main() {
        int number;
        cout << "请输入一个整数:";
        cin >> number;
    
        if (number % 2 == 0) {
            cout << "这是一个偶数" << endl;
        } else {
            cout << "这是一个奇数" << endl;
        }
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    运行结果:在这里插入图片描述

    循环结构 - for和while

    循环结构允许我们重复执行一段代码,直到满足特定条件为止。for循环的基本用法:

    for (初始化; 条件; 步进) {
        // 循环体
    }
    
    • 1
    • 2
    • 3

    使用for循环来打印从1到10的数字:

    #include 
    using namespace std;
    
    int main() {
        for (int i = 1; i <= 10; i++) {
            cout << i << " ";
        }
        cout << endl;
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    运行结果:
    在这里插入图片描述

    while循环的用法:

    while (条件) {
        // 循环体
    }
    
    • 1
    • 2
    • 3

    使用while循环计算数字的阶乘:

    #include 
    using namespace std;
    
    int main() {
        int n;
        cout << "请输入一个正整数:";
        cin >> n;
    
        int factorial = 1;
        while (n > 0) {
            factorial *= n;
            n--;
        }
    
        cout << "阶乘结果为:" << factorial << endl;
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    运行结果:
    在这里插入图片描述

    if语句用于根据条件执行不同的代码块,而循环结构允许我们重复执行代码。

  • 相关阅读:
    能涨薪3k的jmeter接口测试 接口自动化测试全套教程
    09. 树莓派ASP.NET环境配置
    字符串
    LeetCode 452:用最少数量的箭引爆气球(贪心)
    微分中值定理—罗尔中值定理
    C# 下载模板文件 Excel
    [补题记录] Atcoder Beginner Contest 308(C~E)
    空域变换-直方图局部处理(CLAHE)
    数据备份必备知识与策略设计方法
    Hive之数据类型和视图
  • 原文地址:https://blog.csdn.net/m0_53918860/article/details/133484834