为了账号安全,请及时绑定邮箱和手机立即绑定
  • 注意:只有局部自动变量和形式参数可以作为寄存器变量;一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量;局部静态变量不能定义为寄存器变量。

    查看全部
    0 采集 收起 来源:变量存储类别

    2022-01-06

  • %d 整形
    %f 小数
    %c 字符
    %s 字符串

    查看全部
  • 自定义的函数中可以有多个return语句,但是只能返回一个值

    查看全部
    0 采集 收起 来源:练习题

    2022-01-06

  • 函数的形参和实参具有以下特点:

    形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。

    实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。

    在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。

    查看全部
    0 采集 收起 来源:形参与实参

    2022-01-06

  • 递归函数特点:

    每一级函数调用时都有自己的变量,但是函数代码并不会得到复制,如计算5的阶乘时每递推一次变量都不同;

    每次调用都会有一次返回,如计算5的阶乘时每递推一次都返回进行下一次;

    递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;

    递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;

    递归函数中必须有终止语句。

    一句话总结递归:自我调用且有完成状态。

    查看全部
  • 关于递归函数反向打印问题

    1.递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;

     2. 递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反

    如何理解这两句话,可以举个实际例子么


    举例观察以下代码中printf的顺序:

    #include <stdio.h>

    a=0;

    int getPeachNumber(n)

    {

        int num;    //定义所剩桃子数

        printf("第%d次\n",a++);

        if(n==10)

        {

           return 1;       //递归结束条件

        }

        else

        {

            num = (getPeachNumber(n+1)+1)*2;   //这里是不应该用递归呢?

            printf("第%d天所剩桃子%d个\n", n, num); //天数,所剩桃子个数

        }

        return num;

    }

    int main()

    {

        int num = getPeachNumber(1);

        printf("猴子第一天摘了:%d个桃子。\n", num);

        return 0;

    }

    查看全部
  • 猴子第一天摘下X个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。

    设第二天剩下的桃子数为Y。则 Y=1/2*X-1   反过来X=(Y+1)*2

    换算到该题中,设所求天数为n,此时 Y=n+1

    查看全部
  • 递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;

    查看全部
  • 假设n=5

    factorial(5)=factorial(4)*5=factorial(3)*4*5=factorial(2)*3*4*5=factorial(1)*2*3*4*5

    又因为factorial(1)=1

    所以 factorial(5)=1*2*3*4*5

    查看全部
  • #include <stdio.h>

    int calculate(int arr[],int a)

    {

        int arr1[4];

        int i,sum,max,min,average;

        sum=arr[0];

        max=arr[0];

        min=arr[0];

        for(i=1;i<10;i++)

        {

          

           if(max<arr[i]) 

           {

               max = arr[i];

           }

           if(min>arr[i])

           {

               min=arr[i];

           }

           sum +=arr[i];

        }

        average = sum/10;

        

        switch(a)

        {

            case 0:

                return sum;

            case 1:

                return max;

            case 2:

                return min;

            case 3:

                return average;

            default:

                return 0;

            

        }

        

        

    }

    int main()

    {

       

        int score[10]={67,98,75,63,82,79,81,91,66,84};

        printf("总  分: %d\n",calculate(score,0));

        printf("最高分: %d\n",calculate(score,1));

        printf("最低分: %d\n",calculate(score,2));

        printf("平均分: %d\n",calculate(score,3));

        printf("降序排列:\n");

        int temp,i,j;

        for(i=0;i<10;i++)

        {

            temp = score[i];

            for(j=9;j>i;j--)

            {

                if(score[i]<score[j])

                {

                   score[i]=score[j];

                   score[j]=temp;

                   temp=score[i];

                }

            }

            printf("%d,",score[i]);

        }

        

    查看全部
    0 采集 收起 来源:综合练习

    2022-01-05

  • #include <stdio.h>
    int main()
    {    
        int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
        int i,j;
        int sum=0;    
        for(i=0;i<3;i++)    
        {       
            for(j=0;j<3;j++)       
                {           
                    if(i+j==2||i==j)           
                        {               
                            sum +=arr[i][j];           
                           }       
                     }    
             }  
           printf("对角线元素之和是:%d\n",sum);    
           return 0;   
      }
    查看全部
  • int 返回值类型


    main 函数名称  


    () 是 参数  参数为空 ()为空


    return  返回值


    返回值必须与返回值相同  

    查看全部
    0 采集 收起 来源:C程序结构

    2022-01-05

  • 第一个问题:void不需要返回值。第二个问题:如果在#include下面不是int main()的话,比如是int一个变量,下面需要这个变量的返回值的时候,就需要第一个return,最后的结尾还需一个return第三个问题:return=return 0;第四个问题:对的,可以这样说,只要没有return返回值的,基本上都是void,都没有返回值了,自然也就没法调用这个值。

    查看全部
    0 采集 收起 来源:练习题

    2022-01-05

  • 自定义的函数中可以有多个return语句,但是只能返回一个值

    查看全部
    0 采集 收起 来源:练习题

    2022-01-05

  • jackResult函数没有返回值,不能用printf语句打印出来

    查看全部
    0 采集 收起 来源:函数的返回值

    2022-01-05

举报

0/150
提交
取消
课程须知
本教程仅仅是C程序设计的入门教程
老师告诉你能学到什么?
什么是程序; 什么是程序结构; 什么是函数; 什么是数组.

微信扫码,参与3人拼团

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

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