day9 函数

function //功能 
         //函数 
         
函数:
    思想?
    
    
c的角度:
实现 atm的功能!
//自顶向下逐步求精 

                          [atm机]
                            | //功能 
                            |  
                            |
    1.检查卡片  2.验证信息   3.查询  4.存钱  5.取钱  6.退出   //业务逻辑 
       |          |
     读 卡      比对 卡号 和 密码
       |          
     识 别
       |      
     给出提示        
    
    checkCard(); verifyCard();  searchCard();   saveCash(); getCash();  exit();
    函数来体现功能 
--------------------------------------------


int main();

   printf("Please Insert your card!");
   checkCard();
   printf("Please input passwd:");
   verifyCard(); 

    while (1)
    {
       int n = 0;
       switch(n)
       {
           case 1:  
                 searchCard();
                  break;
            case 2:  
                 saveCash();
                  break; 
           case 3:  
                 getCash();
                  break;  
            case 4:  
                 exit();
                  break;                
       }
    }
}

-----------------
C语言函数:
 
1.函数定义 
 
 语法:
   类型标识符 函数名(形式参数)  //函数头 --head 
   {   //函数体  body 
        声明部分
        语句部分
   }
   
   
   函数头:
      1. 类型标识符  //数据类型 
      2. 函数名     //名字 --标识符 --- 函数名 命名规则 与 变量名命名规则一致 
      3. 形式参数   //接收外部传进来的数据 
      
   函数体:
      4. 函数体   //实现函数具体功能的代码   
      
       
      输入 --->[函数] --->输出
    
//函数形式     
   返回值类型 函数名(形式参数)  //函数头 --head 
   {   //函数体  body 
        声明部分
        语句部分
   }
   
   
   
功能:
  实现两个int 数相加 
  
  //输入   --- 两个数 int 型 
  //函数体 --- 求和 
  //输出   --- 返回值   
  
  形式参数:  
    1.  就是用来接收实际传过来的数据的 
      
        格式 是一个一个的变量 
      
       int a,b,c; //形参这块不能这么写 
       
       数据类型 变量名,数据类型 变量名 ... 
    
    2. 实参 与 形参对应关系    
       个数相同 
       类型匹配        
       

  int Add(int a,int b)
  {
      int sum;
      sum = a + b;
      
      return sum; //表示从函数 返回,意味着函数执行结束 
  }
  
  return 语句语法:
  
  return 表达式;
  
  
  
 
 函数调用:
 
 语法格式:
   函数名(实际参数);
   
 
练习:
    找出两个数的最大值 


    
    
    
函数调用的形式:
1.函数调用语句 
  Add(1,2); 
  
2.函数表达式 
  int ret ;
  ret = Add(a,b);
  
4.函数的参数(实参)
  printf("sum = %d\n",Add(1,2));
  
  
函数的返回值:
1.函数返回值类型 ,不一定 与 返回的结果 的类型一致 
  不一致时,
  以函数返回值类型为准 
2.如果函数本身不需要返回结果,
  此时,返回值类型,可以设计为 void 表示返回值为空(没有)
3.如果不需要给函数传递参数,则形参也可以写成void 表示没有参数 

4.不写返回值类型 ,此时默认为int型


练习:
   判断闰年?
 
   
   形参:  int year 
   函数名: 
         isLeapYear
   函数体:
        y%4==0&&y%100 || y%400==0
   返回值:
        0  -- 假 
        1  -- 真 


函数的嵌套定义:
   标准C是不支持的 
   gnu组织扩展的语法 支持 
   
   
一般函数定义放在了 main函数之后,  
函数的声明:
  将函数头复制一份,
  放到要用之前,
  后面加分号

练习:
    打印月份的天数 
    
    
    main()
    {
        主逻辑 
        月份天数的功能 //函数 
    }
    
    
练习:
    //判断素数?
    
    找出100以内的素数

   isPrimeNum()
   {
       
   }

   printPrimeNumIn100()
   {
       //
       if (isPrimeNum())
       {
           
       }
   }
   main
   {
       printPrimeNumIn100();
   }   
    

函数:
   函数的嵌套调用 
   
   
   函数为什么能够实现层层调用?
   此处设计栈知识点

函数的嵌套调用:
  特殊的嵌套调用 --递归 
  自己调用自己 


  直接递归 
  间接递归 
  递归是一种特殊的循环 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值