为了账号安全,请及时绑定邮箱和手机立即绑定

趣味 C++ 入门

难度入门
时长 3小时22分
学习人数
综合评分9.63
19人评价 查看评价
9.4 内容实用
9.9 简洁易懂
9.6 逻辑清晰
  • 函数的递归调用:在函数中调用自己

    void func()

    {

                func();

    }

    递归调用的三要素:

    1. 在递归调用中要设置好终止条件

    2. 递归很适合层级调用关系,每一层都执行相同的操作,关键是要提取出递归调用的核心要素

    3. 递归调用的参数列表表示给下一层调用需要传递什么,返回值表示上一层调用需要返回什么

    利用递归的特性,可以很简单得处理一些利用循环特别复杂的问题,例如,遍历文件夹,遍历二叉树等。

    查看全部
  • 1.作用:将函数体直接在调用处展开

    2.优点:没有参数拷贝的过程,减少调用函数时的时间消耗

    3.缺点:当一个函数过程要反复被调用时,不应定义为内联函数,因为每调用一次内联函数,就会展开一次代码,这样会使得代码体积迅速膨胀

    4.内联函数实际上编译器会帮你决定到底是否作为内联函数

    5.内联函数与宏定义的区别:宏定义是在预编译阶段就进行了,只是做了简单的文本替换,而内联函数不仅会在调用处展开代码,且该过程是在编译阶段进行,即编译器会对参数类型,返回值类型做检查

    inline int add(int __a,int __b)
    {
        return __a+__b;    
    }
    
    int main(int argc,char** argv)
    {
        int a = 5;
        int b = 6;
       int c = add(a,b);
       return 0;
    }
    
    //等效于
    int main(int argc,char** argv)
    {
        int a = 5;
        int b = 6;
       int c = a+b;
       return 0;
    }
    查看全部
  • 利用递归的特性,可以很简单得处理一些利用循环特别复杂的问题,例如,遍历文件夹,遍历二叉树等。灵活使用递归,将带来极大的技术提升。

    查看全部
  • 参数传递(实参,形参),只是一个复制拷贝的过程,将实参赋值拷贝给形参,无论实参的数值还是地址。

    查看全部
  • 但是当要跳过的语句有好多行的时候,就会显得特别不方便。因此,我们可以尝试利用 do-while 语法来完成。

    do {
       if(a == 12){
           break;
       }
       b = a + b;
    } while(false);

    b = a - b;

    这样,我们将 do-while 和 break 进行配合,完成一个和循环无关的程序结构。

    查看全部
  • while 和 for 的用途也不太一样,for循环更适合循环次数比较确定的场景,例如数组遍历等,而while 循环更适合不确定循环次数不确定的场景。

    查看全部
  • switch 接受了一个变量 s,然后使用 case 语句,判断变量 s 和哪个常量相等(case 后面只能是常量)


    这就是 switch case 的特殊的地方,他在匹配到相应的 case 之后,会将后面所有的 case 从句都执行一次,直到碰到一个 break 语句。

    查看全部
  • #include <stdio.h>
    int main(int argc,char **argv)
    {
        int a = 1;
        int b = 2;
        a =a^b;
        b = a^b;
        a= a^b;
        printf("a=%d,b=%d",a,b);
        return 0;
    }
    查看全部
    0 采集 收起 来源:赋值运算符

    2021-07-07

  • 把数组初始化为非0值时,需要逐个赋值

    查看全部
    0 采集 收起 来源:强者争霸

    2021-07-06

  • nullptr 是c++为描述空指针而提供的值,与NULL区别在于nullptr只能赋值给指针变量,NULL则可以赋值给整形等其他变量。两者相较而言NULL可能会造成一些潜在的问题

    查看全部

  • (int argc,char **argv)

    第一个参数argc表示参数个数

    第二个argv是参数组

    int main

    retum中main函数有返回值,返回值为0成功。非0为失败

    查看全部
    0 采集 收起 来源:main函数

    2021-07-05

  • 用C++向世界问好

    #include <stdio.h>  //标准输入输出
    int main(int argc,char **argv)   //主函数,是程序的入口函数。一个程序里有且只有一个main函数
    {
        printf("Hello World!\n");   //stdio.h中包含printf功能
        return 0;
    }

    C++

    #include <iostream> //iostream是C++里的io流的头文件
    
    int main(int argc,char **argv)
    {
        std::cout << "Hello World!\n" << std::endl;//C++的输出风格
        return 0;
    }
    查看全部

  • #include <stdio.h>

    int main()

    {

        printf("int: %d\n",sizeof(int));

        return 0;

    }

    查看全部
  • 练习1:使用函数来交换两个数的值

    #include <iostream>
    int exchange(int *a,int *b)
    {    int c=*a;    *a=*b;    *b=c;   
     }
     int main(int argc,char **argv)
     {    int x=5;    
          int y=10;    
          std::cout<<"交换的前:"<<"x="<<x<<","<<"y="<<y<<std::endl;    
          exchange(&x,&y);    
          std::cout<<"交换后的:"<<"x="<<x<<","<<"y="<<y;        
          return(0);
      }

    练习2:利用递归来求一个数的阶乘

    int fact(int n)
    {    if(n==1) {        
             return 1;    
            }    
         else {        
             return n * fact(n-1);    
              }
     }
     int main(int argc,char **argv)
     {    int x = 5;    
          int res = fact(x);    
          std::cout<<"5!="<<res;    
          return 0;
      }
    查看全部
    2 采集 收起 来源:强者争霸

    2021-06-24

  • 函数的递归调用:可以用来遍历文件夹,遍历二叉树。

    查看全部

举报

0/150
提交
取消
课程须知
本门课程使用 Windows 平台下的 Visual Studio 作为开发工具,所以你要准备一台 Windows 系统的电脑。当然,本门课程中介绍的所有代码,并不是只能在 Windows 下运行,你同样可以尝试使用 Mac OS X 或者 Linux 或者其他的平台进行学习,我们也鼓励你进行这样的尝试。
老师告诉你能学到什么?
掌握在 Windows 下搭建 C++ 开发环境,了解 C++ 的基础概念,例如变量,指针等。了解计算机的一些基础知识,内存布局等。除此之外,本课程还将介绍一些编程小技巧,以及编程的代码规范。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!