C语言程序设计(基础3)

for循环嵌套:
 
        for语法:
                 for(int i=0;i<=10;i++){
                   
                           //外层循环
                     for(int j=0;j<=10;i++){
                       
                           //内层循环
                     }
                 }
------------------------------------------------                                 
                 for(A;B;C)
                 for(D;E;F)
                    语句x;
                    语句y;   //思考执行过程,认准循环体
------------------------------------------------
交换数据:

        1.借助中间变量
        2.宏交换(利用变量特性)。
          a=a+b;
          b=a-b;
          a=a-b;
        3.利用位运算交换
          a=a^b;
          b=a^b;
          a=a^b;
        4.(指针法)
------------------------------------------------
sizeof():长度运算符
        
        int i;
        sizeof(i)/sizeof(int)

------------------------------------------------
实现1+2+3+...+100?
        1.for()
        2.while()
        3.do while()
        4.函数
        5.递归
------------------------------------------------
函数:
    #include <stdio.h>
    int main(){
        //main()是系统函数    
            int sum;
            sum=add_for(0);
    
            if(sum=5050){
            printf("函数传参成功!");            
            }
    
            return 0;
    }    
    int add_for(int sum){ //---> 形参列表,有数据类型,在外面传值进来,形参在栈中
        //add_for()是自定义函数,int是函数返回的数据类型
        //int sum; --->sum在这里则不可以作为中转站与外界沟通。
         int i;
        for(i=1;i<=100;i++){
        
            sum+=i;        
        }
            return sum;
    
    }

    函数:先声明、后说明、再定义

    函数的调用:
                    1.其他函数调用函数
                    2.自己调用自己——————>"递归"

---------------------------------------------------------------
 实现1+2+3+...+100
 
    方法1:(if...goto...循环)    

    int add_goto(int sum){
    
       int i=0;
 flag:       
       i++;
       
       sum+=i;
      if(i<100){
      
            goto flag;
      }       
    }

    方法二:(递归法)
    
    int add_digui(int sum,int i)-->i是为了控制
    {
            if(i>100){            
               return sum;
            }
            //i的值没有变化,控制不了递归,则出现段错误!    
            sum+=i;
            ++i;
            //i++;    //思考i++、++i在sum之前的情况,和在递归的参数列表里的情况。
                        
            add_digui(sum,i);
    }

-------------------------------------------------------
时间等待函数:

            毫、微、纳、皮
                sleep(1);  //--->等待1秒
                usleep(10);  //-->等待10微秒。
随机函数:
                void srand(int ); -->伪随机数 //设定随机数种子(随机数种子)
            随机数种子:相对于一种游戏规则,一种规则产生一种结果。一 一对应的唯一结果
            一个随机数种子,产生一个固定的随机数。
                int rand(void);
-------------------------------------------------------                
作业1——调查:什么是随机?srand\rand                 
                
                 time(NULL)+i;--->这样就可以使规则不唯一

**********************************************************************************************
心得体会:
            注意函数的递归、for的嵌套、理解随机函数的本质、还有交换两个数据不要仅限与固定思维。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值