【带头学C++】----- 一、基础知识 ---- 入门篇(中篇)

1.函数体
 

int main(){
     return  0;
}

一个函数的定义包含四部分:

返回类型(Return Type)、

函数名(Function Name)、

“()”里的形参列表(parameter list,允许为空)、

函数体(Function Body)   “{   函数体   }”


注意:

      main函数还有其他形参类型。并且main函数的返回类型必须为int,即整数类型。int 类型是一种内置类型(built-intype),即语言自身定义的类型。
       函数定义的最后一部分是函数体,它是一个以左花括号 { 开始,以右花括号 “}”结束的语句块

{
   函数; // 每个语句以 ;(英文的;)结束
}

2.return 返回

return 是作为c/c++函数重要的关键字,是作为返回给使用者参数的重要手段。

像上面代码中,return还会向调用者返回一个值。当return 语句包括一个值时,并且要保证你的函数的返回值的类型(main函数的类型,int)必须与你要返回的类型(0)相"通”。

     在上面的例子中,main的返回类型是int,而返回值0也是一个int 类型的值

注意一个概念:

    类型: main函数,我们想知道它是什么类型,只需要看它定义的时候前面定义的是什么类型。

 3.编译器不同,编译文件的命令也不一样

使用windows最简单,直接使用软件的运行按钮即可完成自动编译。qt则是可以先构建编译--运行(也可以直接运行);

Linux系统下,通常使用的是GUN编译器套件(GNU Compiler Collection,简称GCC)

linux下编译CPP的顺序是:

  1. 打开终端:在Linux中,你可以使用终端来执行命令。

  2. 编写C++代码:使用你喜欢的文本编辑器创建一个新的C++源文件,例如example.cpp,并在其中编写你的C++代码。

  3. 保存源文件:保存你的C++源文件。

  4. 编译代码:在终端中使用g++命令来编译你的代码。在终端中输入以下命令:

     g++ example.cpp -o output

    这将把名为example.cpp的源文件编译成名为output的可执行文件。

  5. 运行代码:在终端中运行你的程序。在终端中输入以下命令:

    ./output

此处,是系统提示符。-o 是编译器参数,指定了可执行文件的文件名。在不同的操作系统中,此命令生成一个名为 progl或progl.exe 的可执行文件。在 UNIX系统中,可执行文件没有后缀;在windows 系统中,后缀为.exe。如果省略了-o prog1参数,在UNIX系统中编译器会生成一个名为a.out 的可执行文件,在 Windows系统中则会生成一个名为 a.exe 的可执行文件.

这里还是推荐大家使用qtCreator或者vs2019。

4.C++关键字介绍

       C++语言中有一些关键字,这些关键字具有特殊的含义和用途,不能作为标识符(变量名、函数名等)使用。下面是一些常用的C++关键字的详细介绍:

1. **auto**:在变量声明时,指示编译器根据变量初始化表达式的类型来自动推导变量的类型。

2. **break**:用于循环语句或switch语句中,用于跳出当前的循环或switch语句。

3. **case**:在switch语句中,用于指定某个特定值的分支。

4. **char**:用于声明字符类型。

5. **class**:用于定义类。

6. **const**:用于声明常量,其值不能被修改。

7. **continue**:用于循环语句中,用于跳过当前循环中的剩余代码,并进行下一次循环。

8. **default**:在switch语句中,用于指定没有匹配到任何case时的默认分支。

9. **delete**:用于删除通过new运算符分配的对象。

10. **double**:用于声明双精度浮点数类型。

11. **else**:在if语句中,用于指定在条件为false时执行的代码块。

12. **enum**:用于声明枚举类型。

13. **explicit**:用于修饰类的构造函数,防止隐式类型转换。

14. **extern**:用于声明引用全局变量或函数,表示该变量或函数将在其他文件中定义。

15. **float**:用于声明单精度浮点数类型。

16. **for**:用于循环语句,指定一个初始化表达式、循环条件和循环迭代操作。

17. **if**:用于条件语句,根据给定的条件选择执行不同的代码块。

18. **inline**:用于声明内联函数,表示在每个调用点上直接插入函数代码,而不是常规的函数调用。

19. **int**:用于声明整数类型。

20. **namespace**:用于定义命名空间,用于组织和管理代码。

21. **new**:分配动态内存并返回所分配的内存地址。

22. **operator**:用于重载运算符,使其适用于自定义类型。

23. **return**:在函数中,用于返回函数值并终止函数执行。

24. **sizeof**:用于计算对象或类型的大小(字节数)。

25. **static**:修饰变量时表示该变量为静态变量,修饰函数时表示该函数为静态函数。

26. **struct**:用于声明结构体。

27. **switch**:用于多重选择语句,根据给定的表达式的值选择执行不同的代码块。

28. **template**:用于声明模板(泛型)类型。

29. **this**:在类成员函数中,表示当前对象的指针。

30. **void**:用于表示无类型或无返回值的函数返回类型。

31. **while**:用于循环语句,指定一个循环条件,只要条件为true,就重复执行。

32. **try / catch / throw**: 用于异常处理,用于捕获和处理异常。

33. **union**: 用于定义共用体,共用体中的成员共享一段内存空间。

34. **unsigned**: 用于声明无符号数类型。

35. **virtual**: 用于在基类中声明虚函数,使其能够在派生类中被覆盖。

36. **volatile**: 用于修饰变量,表示该变量可能会被意外的修改,编译器不进行优化。

37. **wchar_t**: 用于声明宽字符类型。

38. **while**: 用于循环语句,指定一个循环条件,只要条件为true,就重复执行。

39. **override**: 在派生类中重写基类中的虚函数时,用于显式地标识重写的函数。

40. **final**: 用于修饰一个类或成员函数,表示它是最终的,不能被继承或重写。

41. **constexpr**: 用于声明一个常量表达式,在编译时求值。

42. **nullptr**: 用于表示空指针,替代了C++中的NULL。

43. **alignas**: 用于指定变量或类型的对齐方式。

44. **alignof**: 用于获取变量或类型的对齐方式。

45. **extern "C"**: 用于指定以C语言方式编译的函数或变量。

46. **typename**: 在模板中,用于指定非依赖型名称。

 补充:(有重复的)

1. **alignof**: 用于获取变量或类型的对齐方式。

2. **explicit**: 用于修饰类的单参数构造函数,防止隐式类型转换。

3. **mutable**: 用于修饰类的成员变量,在常量成员函数中允许修改。

4. **noexcept**: 用于声明函数或表达式不会抛出异常。

5. **static_assert**: 用于在编译时进行断言检查。

6. **thread_local**: 用于声明线程局部变量,每个线程拥有其自己的副本。

7. **using**: 用于定义类型别名、命名空间别名或使用基类成员。

8. **export**: 在旧版本的C++中用于导出模板的实例化。

9. **co_await**: 用于异步编程中的协程,表示等待异步操作完成。

10. **co_yield**: 用于协程中的暂停点,将产生一个值并暂时返回协程控制权。

         这些关键字在不同的C++版本和标准中可能有所不同,具体使用时需要参考对应的C++版本和标准。了解这些关键字的含义和用法可以帮助你更好地理解和编写C++代码。如果想对特定的关键字有更深入的认识,可以进一步查询相关的官方文档和教程。

5.常量与变量的一些基本概念认识

       常量是在程序运行期间不能被修改的值,它们具有固定的值,无法更改。在 C++ 中,我们可以使用 const 关键字定义常量。常量的值在声明时就必须初始化,并且无法在后续操作中修改。

const int MAX_VALUE = 100;  // 声明一个常量 MAX_VALUE,值为 100
const double PI = 3.14159; // 声明一个常量 PI,值为 3.14159

// 常量的值不能被修改
// PI = 3.14;  // 错误,常量 PI 的值无法修改

       变量是具有可变值的存储空间,用于存储和表示数据。在 C++ 中,我们首先需要声明变量,并选择合适的数据类型,然后根据需要对其进行初始化和赋值。

int age;  // 声明一个名为 age 的整数变量

age = 25; // 对 age 变量进行赋值,将其设置为 25

double salary = 5000.50; // 声明并初始化一个名为 salary 的双精度浮点数变量

// 变量的值可以随时修改
age = 26; // 修改 age 变量的值为 26

总结:

  • 常量是不可修改的值,在声明时必须初始化,并使用 const 关键字进行定义。
  • 变量是可变值的存储空间,可以在程序运行时修改其值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小白Erike.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值