Day1 C++入门:初识c++

C++发展历史:

C++是一种通用的、面向对象的编程语言,它扩展自C语言,并提供了更多的功能和特性。C++由Bjarne Stroustrup于1980年代初开发,并在逐渐发展壮大成为一种广泛使用的编程语言。

C++的重要特性:

  1. 面向对象:C++支持面向对象编程(OOP),包括封装、继承和多态等特性。它允许将数据和功能组织到类中,并通过实例化来创建对象。

  2. 泛型编程:C++支持泛型编程,通过模板可以实现对数据类型的参数化,使得代码更加灵活和可复用。

  3. 强大的标准库:C++标准库提供了丰富的功能,包括容器类(如向量、列表、映射等)、算法、输入输出、文件处理等等,可以加快开发过程。

  4. 内存管理:C++提供了手动内存管理的能力,开发者可以通过new和delete操作符分配和释放内存。同时,C++也支持智能指针和RAII(资源获取即初始化)等技术来帮助管理内存资源,避免内存泄漏。

  5. 高性能:C++被广泛应用于系统级编程和性能要求较高的应用场景,它可以直接操作内存,提供了对硬件的底层访问能力。

  6. 跨平台:C++支持在多个操作系统上进行开发,并且可以编译为可执行文件,实现跨平台的移植性。

C++被广泛应用于游戏开发、嵌入式系统、高性能计算、图形界面开发等领域。它具有灵活性、效率和高度抽象的特点,但也需要注意正确使用内存管理和避免一些常见的陷阱。

代码示例:

#include<iostream>
using namespace std;
int main(void) {
    cout << "Hello world" << endl;
    system("pause");
    system("cls");
    return 0;
}

#include<iostream> 是 C++ 中用于包含输入输出流库的预处理指令。这个预处理指令允许用户在程序中使用 std::coutstd::cin 等对象,用于进行输入和输出操作。

using namespace std; 是在 C++ 中的一条指令,用于简化对命名空间 std 中标准库函数和对象的使用。在不使用 using namespace std; 的情况下,您需要在使用标准库的函数或对象之前加上 std:: 前缀,以显式地指明它们属于 std 命名空间。例如,使用 std::coutstd::cinstd::endl。但是,当添加了 using namespace std; 时,您就可以直接使用 coutcinendl,而无需显式指定命名空间。

int main() 是 C++ 程序的入口点,也是程序执行时的起始函数。在程序运行时,操作系统会调用 main 函数来启动程序的执行。函数的返回类型是 int,表示它返回一个整数值作为程序的退出状态码。通常情况下,main 函数的返回值被用来表示程序的执行结果,其中非零值表示程序执行出错或异常终止,而返回 0 表示程序正常执行并成功退出。

cout 是 C++ 标准库中的输出流对象,用于向标准输出(通常是终端)发送数据。<< 是一个输出运算符,用于将右侧的数据追加到左侧的输出流对象上。<< endl 将插入一个换行符,表示在输出完成后换行。

在C语言中,可以使用 system() 函数来调用系统命令。

system("pause")是一种常用的方法,用于在程序执行完毕后暂停控制台窗口,等待用户按下任意键继续。(请注意 system("pause");在不同的编译器和操作系统上可能会有不同的表现,因此它并不是一个标准的C++语言特性。在某些情况下,您可能需要使用特定于平台的方法来实现相同的效果。)

system("cls") 是一个在Windows系统上清屏的方法。cls 是Windows命令提示符中的一个命令,用于清除屏幕上的文本内容。

C++注释:

两种格式

  1. 单行注释// 描述信息

    通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明
  2. 多行注释/* 描述信息 */

    通常放在一段代码的上方,对该段代码做整体说明

作用:编译器在编译代码时,会忽略注释的内容,在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码

 变量

定义:在C++中,变量是用于存储和表示数据的一种抽象概念。变量具有一个名称(标识符)和一个对应的数据类型,可以通过赋值来存储和获取数据。

作用:给一段指定的内存空间起名,方便操作这段内存

语法数据类型 变量名 = 初始值;

  1. 声明变量:在使用变量之前,需要先声明变量。声明变量提供了变量的名称和类型,告诉编译器为该变量分配内存空间。
    int age; // 声明一个整型变量age
    double salary; // 声明一个双精度浮点型变量salary
    
  2. 初始化变量:在 C++ 中,变量在定义时可以选择是否提供初始值,是否赋初始值是按照编程的实际需要来确定的, 变量可以在声明时进行初始化,也可以在后续的语句中进行赋值初始化。初始化变量可以为其赋予一个初始值。
    int age = 20; // 声明并初始化一个整型变量age
    double salary = 5000.50; // 声明并初始化一个双精度浮点型变量salary
    
  3. 变量赋值:可以使用赋值操作符(=)来给变量赋值。赋值操作将右侧的值存储到左侧的变量中。
    int a = 10;
    int b;
    b = a; // 将变量a的值赋给变量b
    
  4. 动态变量(Dynamic Variable):动态变量是在程序运行时动态分配内存空间的变量。在C++中,可以使用关键字new来创建动态变量,并使用关键字delete来释放动态变量所占用的内存。
  5. int* dynamicVar = new int; // 动态创建一个整型变量
    *dynamicVar = 10; // 使用动态变量
    delete dynamicVar; // 释放动态变量所占用的内存
    
  6. 静态变量(Static Variable):静态变量在程序运行期间保持其值不变,即使在函数调用结束后也不会销毁。静态变量在函数内部声明时需要加上关键字static,而在全局作用域中声明的静态变量默认为内部链接,只在当前文件中可见。
  7. void func() {
        static int count = 0; // 静态变量,在函数调用结束后仍保持值不变
        count++;
        cout << "Count: " << count << endl;
    }
    
    int main() {
        func(); // 输出 Count: 1
        func(); // 输出 Count: 2
        return 0;
    }
    
  8. 全局变量(Global Variable):全局变量在程序的任何地方都可以使用,它们在定义时位于所有函数之外,并且在整个程序的执行期间一直存在。全局变量在多个源文件中共享,可以通过在一个文件中定义,并在其他文件中使用来实现数据共享。注意:在使用全局变量时,需要谨慎考虑其对程序的影响,因为全局变量的值可以被任何地方的代码修改,可能会导致程序逻辑混乱或难以维护。
  9. // 在全局作用域中定义全局变量
    int globalVar = 10;
    
    void func() {
        cout << "Global Variable: " << globalVar << endl;
    }
    
    int main() {
        func(); // 输出 Global Variable: 10
        return 0;
    }
    

常量

作用:用于记录程序中不可更改的数据(常量是不可以修改的!!!)

C++定义常量两种方式

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

    通常在文件上方定义,表示一个常量
  2. const修饰的变量      const 数据类型 常量名 = 常量值

    通常在变量定义前加关键字const,修饰该变量为常量,不可修改

关键字

关键字是C++中预先保留的标识符,在定义变量或者常量时候,不要用关键字!

 c++的关键字:

标识符命名规则

  • 标识符不能是关键字

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

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

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

建议:标识符命名时,要见名知意的效果,方便阅读理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值