当前位置: 首页 > article >正文

4.流程控制及函数

流程控制及函数

  • 1.流程控制
  • 2.函数
  • 3.内联函数

1.流程控制

在 C++ 中,流程控制语句用于根据不同条件控制程序的执行流程。它们是编程中的基本构建块,允许程序根据条件执行不同的代码段,重复执行某些操作,或者根据特定情况跳过某些代码段。下面是 C++ 中最常见的流程控制语句

  • 条件语句

    if语句:如果条件为真,则执行代码块。反之则不执行

    if (condition) {
    	// 条件为真时执行的代码
    }
    

    else 语句:与 if 语句配合使用,当 if 的条件为假时执行

    if (condition) {
    	// 条件为真时执行的代码
    } else {
    	// 条件为假时执行的代码
    }
    

    else if 语句:用于测试多个条件

    if (condition1) {
    	// 第一个条件为真时执行的代码
    } else if (condition2) {
    	// 第二个条件为真时执行的代码
    } else {
    	// 所有条件为假时执行的代码
    }
    

    switch 语句:基于变量的值选择执行不同代码块的方法

    switch (expression) {
    	case value1:
    	// expression 等于 value1 时执行的代码
    	break;
    	case value2:
    	// expression 等于 value2 时执行的代码
    	break;
    	default:
    	// 没有匹配的 case 时执行的代码
    }
    
  • 循环语句

    for 循环:当知道循环应该执行的次数时使用

    for (initialization; condition; increment) {
    	// 循环体
    }
    

    while 循环:当条件为真时,重复执行代码块

    while (condition) {
    	// 循环体
    }
    

    do-while 循环:至少执行一次循环体,然后再检查条件

    do {
    	// 循环体
    } while (condition);
    
  • 跳转语句

    • break 语句:用于立即跳出最近的 switch 或循环( for 、 while 、 do-while )。
    • continue 语句:跳过循环的当前迭代,并继续下一次迭代。
    • goto 语句:直接跳转到程序中的另一个点。使用 goto 通常不推荐,因为它可以使代码难以阅读和维护。
  • 注意的问题

    流程控制语句是编程中非常重要的部分,允许开发者编写可以根据不同情况改变行为灵活且强大的程序。在使用这些语句时,应该确保逻辑清晰,以便代码易于理解和维护。

2.函数

在 C++ 中,函数是一段执行特定任务的代码块,它可以带有参数,并且可能返回一个值。函数的使用使得代码更加模块化,有助于降低代码的复杂性,并提高可维护性。

  • 函数的基本结构

    C++ 函数的基本结构包括返回类型、函数名、参数列表和函数体

    返回类型 函数名(参数列表) {
    	// 函数体
    	// 返回语句(如果有返回值的话)
    }
    
    #include "iostream"
    
    using namespace std;
    
    //定义一个函数
    int add(int x,int y){
        return x + y;//add函数接收两个整数参数,并返回它们的和
    }
    
    //声明函数
    int add(int x,int y);
    
    int main(){
        int result = add(5,10);
        cout << "result = " << result << endl;
    
        return 0;
    }
    
    
  • 函数的组成部分

    1. 返回类型:指定函数返回的数据类型。如果函数不返回任何值,则使用 void 。
    2. 函数名:函数的标识符,用于调用函数。
    3. 参数列表:括号内的变量列表,用于从函数的调用者那里接收值。如果函数不接收任何参数,则此列表为空。
    4. 函数体:大括号 {} 内的一系列语句,定义了函数的执行操作。

3.内联函数

内联函数(Inline Function)是C++中一种特殊的函数,其定义直接在每个调用点展开。这意味着编译器会尝试将函数调用替换为函数本身的代码,这样可以减少函数调用的开销,尤其是在小型函数中。

  • 特点

    1. 减少函数调用开销:内联函数通常用于优化小型、频繁调用的函数,因为它避免了函数调用的常规
      开销(如参数传递、栈操作等)。
    2. 编译器决策:即使函数被声明为内联,编译器也可能决定不进行内联,特别是对于复杂或递归函数。
    3. 适用于小型函数:通常只有简单的、执行时间短的函数适合做内联。
    4. 定义在每个使用点:内联函数的定义(而非仅仅是声明)必须对每个使用它的文件都可见,通常意味着将内联函数定义在头文件中。
  • 使用方法

    通过在函数声明前添加关键字 inline 来指示编译器该函数适合内联

    inline int add(int a, int b){
    	return a + b;
    }
    

    示例

    #include "iostream"
    
    using namespace std;
    
    //定义一个函数
    inline int add(int x,int y){
        return x + y;
    }
    
    int main(){
        int result = add(5,15);//编译器可能将其替换为int result = 5 + 3
        cout << "result = " << result << endl;
        return 0;
    }
    

    函数 add 被定义为内联函数。当它被调用时,编译器可能会将函数调用替换为函数体内的代码

  • 注意事项

    过度使用的风险:不应滥用内联函数,因为这可能会增加最终程序的大小(代码膨胀)。对于大型函数或递归函数,内联可能导致性能下降。
    编译器的决定:最终是否将函数内联是由编译器决定的,即使函数被标记为 inline 。
    适用场景:最适合内联的是小型函数和在性能要求高的代码中频繁调用的函数。

内联函数是一种用于优化程序性能的工具,但需要合理使用,以确保代码的可维护性和性能的平衡。


http://www.kler.cn/news/360121.html

相关文章:

  • 代码随想录算法训练营第二十二天 | 回溯理论基础 77.组合 216.组合总和Ⅲ 17.电话号码的字母组合
  • nginx精讲
  • CORS预检请求配置流程图 srpingboot和uniapp
  • 如何获得淘宝/天猫淘宝商品详情 API接口
  • jmeter响应断言放进csv文件遇到的问题
  • MySQL索引、事物与存储引擎
  • SpringCloud学习记录|day6
  • 【进阶OpenCV】 (14)-- 人脸识别 -- LBPH 算法
  • 稀土阻燃协效剂的应用
  • 如何新建一个React Native的项目
  • lua的使用
  • git配置以及如何删除git
  • 尚硅谷redis第144节 淘汰策略及使用建议 答疑
  • MATLAB答题卡识别
  • 手机淘宝自动下单退货自动化RPA脚本机器人
  • 基于Java微信小程序的高校教务管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • 代码复现(三):TGRS-T4Fire
  • 025_Position_Layout_in_Matlab界面布局之设定位置
  • dbt-codegen: dbt自动生成模板代码
  • Lfsr32