天天看点

C++ Primer 中文版 第五、六章 语句、函数基础

作者:明政面朝大海春暖花开

《C++ Primer 中文版(第5版)》是一本关于C++编程语言的教材,以下是对提到的一些概念和语句的解释和举例:

  1. 简单语句(Simple Statement):C++中的基本语句,执行一个操作或表达式。例如:
int x = 5; // 定义一个整数变量x并赋值为5
cout << "Hello, World!" << endl; // 输出Hello, World!
           
  1. 语句作用域(Statement Scope):语句块中定义的变量只在该语句块中可见。例如:
{
    int x = 10; // 在这个语句块中定义的变量x
    cout << x << endl; // 输出10
} // x的作用域结束
cout << x << endl; // 错误!x不可见
           
  1. 条件语句(Conditional Statement):根据条件选择执行不同的代码块。常见的条件语句有if语句和switch语句。
  2. if语句:根据条件判断执行不同的代码。例如:
  3. int x = 5; if (x > 0) { cout << "x is positive" << endl; } else if (x < 0) { cout << "x is negative" << endl; } else { cout << "x is zero" << endl; }
  4. switch语句:根据表达式的值选择执行不同的代码块。例如:
  5. int day = 3; switch (day) { case 1: cout << "Monday" << endl; break; case 2: cout << "Tuesday" << endl; break; case 3: cout << "Wednesday" << endl; break; default: cout << "Invalid day" << endl; break; }
  6. 迭代语句(Iteration Statement):重复执行一段代码块。常见的迭代语句有while语句、for语句和do while语句。
  7. while语句:在条件为真时重复执行代码块。例如:
  8. int i = 0; while (i < 5) { cout << i << endl; i++; }
  9. for语句:在指定的范围内重复执行代码块。例如:
  10. for (int i = 0; i < 5; i++) { cout << i << endl; }
  11. do while语句:先执行一次代码块,然后在条件为真时重复执行。例如:
  12. int i = 0; do { cout << i << endl; i++; } while (i < 5);
  13. 跳转语句(Jump Statement):用于改变程序的执行流程。常见的跳转语句有break语句、continue语句和goto语句。
  14. break语句:用于终止循环或switch语句的执行。例如:
  15. for (int i = 0; i < 5; i++) { if (i == 3) { break; // 当i等于3时终止循环 } cout << i << endl; }
  16. continue语句:用于跳过当前循环的剩余代码,继续下一次循环。例如:
  17. for (int i = 0; i < 5; i++) { if (i == 3) { continue; // 当i等于3时跳过本次循环 } cout << i << endl; }
  18. goto语句:将程序的控制转移到指定的标签处。它通常被认为是一种不好的编程实践,应尽量避免使用。
  19. TRY语句块和异常处理(Try Block and Exception Handling):用于处理可能出现的异常情况。
  20. try语句块:用于包含可能引发异常的代码块。例如:
  21. try { // 可能引发异常的代码 } catch (ExceptionType1 e1) { // 处理 ExceptionType1 类型的异常 } catch (ExceptionType2 e2) { // 处理 ExceptionType2 类型的异常 } catch (...) { // 处理其他类型的异常 }
  22. throw表达式:用于引发异常。例如:
  23. int x = -1; if (x < 0) { throw runtime_error("x cannot be negative"); // 抛出一个运行时错误异常 }
  24. 标准异常(Standard Exceptions):C++标准库定义了一些异常类,用于处理常见的异常情况,如越界访问、空指针等。例如:
  25. try { vector<int> v; v.at(10); // 引发 std::out_of_range 异常 } catch (const std::out_of_range& e) { cout << "Out of range: " << e.what() << endl; }

以上是对《C++ Primer 中文版(第5版)》中提到的一些概念和语句的简要解释和举例。这本书涵盖了更广泛的C++知识,建议阅读该书以深入学习C++编程语言

《C++ Primer 中文版(第 5 版)》是一本经典的C++编程入门教材,其中涵盖了许多函数相关的基础知识和特性。下面是对书中提到的一些内容的解释和举例:

1. 函数基础:介绍了函数的定义和调用的基本语法,包括函数的返回类型、参数列表和函数体。

2. 局部对象:介绍了在函数内部定义的局部变量,这些变量只在函数执行期间存在,并在函数结束时被销毁。

3. 函数声明:讲解了函数声明的语法和作用,函数声明可以将函数的原型提前声明,以便在调用函数之前进行编译。

4. 分离式编译:介绍了将程序分成多个源文件进行编译的方法,每个源文件可以独立编译,然后链接在一起生成可执行文件。

5. 参数传递:讨论了函数参数的传递方式,包括传值参数和传引用参数。

6. 传值参数:将实参的值复制给形参,在函数内部对形参的修改不会影响到实参。

7. 传引用参数:将实参的引用传递给形参,函数内部对形参的修改会影响到实参。

8. const形参和实参:介绍了使用const修饰形参和实参的情况,表示形参或实参的值在函数内部不可修改。

9. 数组形参:讲解了如何将数组作为函数的参数传递,可以通过指针或引用的方式传递数组。

10. main:介绍了main函数的特殊性,它是程序的入口函数,用于处理命令行选项和执行程序的主要逻辑。

11. 含有可变形参的函数:介绍了使用可变参数模板来定义可以接受不定数量参数的函数。

12. 返回类型和return语句:讲解了函数的返回类型和return语句的使用方法,用于将函数的执行结果返回给调用者。

13. 无返回值函数:定义了返回类型为void的函数,不返回具体的数值。

14. 有返回值函数:定义了返回类型为非void的函数,返回具体的数值。

15. 返回数组指针:介绍了如何返回指向数组的指针,可以通过函数返回一个指针,指向函数内部定义的数组。

16. 函数重载:讲解了函数重载的概念和使用方法,可以根据函数的参数类型和数量的不同定义多个同名函数。

17. 重载与作用域:介绍了在不同作用域中定义的同名函数如何进行重载。

18. 默认实参:讲解了函数参数的默认值,可以在函数定义时为参数提供默认值,调用函数时可以省略对应的实参。

19. 内联函数和constexpr函数:介绍了内联函数和constexpr函数的概念和使用方法,用于提高函数调用的效率。

20. 调试帮助:讨论了如何使用调试工具和技巧来调试程序中的错误。

21. 函数匹配:介绍了函数重载时的函数匹配规则,用于确定调用哪个重载函数。

22. 实参类型转换:讨论了函数调用时的实参类型转换,包括隐式类型转换和显式类型转换。

23. 函数指针:讲解了函数指针的概念和使用方法,函数指针可以指向函数,并通过指针调用函数。

以上是《C++ Primer 中文版(第 5 版)》中关于函数基础的一些内容解释和举例。这本书还包含了更多的C++编程知识,建议你阅读该书以获取更详细的信息。

继续阅读