第六次总结

一:知识点

1. 函数调用的时候的参数叫实际参数

2. 函数定义的时候的参数叫形式参数 

3. 函数调用发生的时候,要求实际参数和形式参数的数量要一致,类型要匹配 

4. 函数调用发生的时候,要考虑函数的位置?  

      (a) 如果主调函数在上,被调函数在下,要求要在主调函数的上面或内部对被调函数 进行声明,否则函数调用无法执行;

      (b)如果在程序中使用了库函数,要对该库函数作相应的声明处理。“#include”

5. 函数声明

   (a) 自定义函数的声明:推荐使用函数的原型声明方式(将函数的头部完全复制+分号, 构成函数声明语句)放在主调函数的变量定义位置(主调函数内)或者放在主调函数的上方;声明放在程序的最开头;  

    (b) 库函数的声明:使用#include来包含该库函数所在的头文件(*.h)

    (c) 什么时候不需要对函数进行声明:

               1. main不需要声明;

               2. 被调函数写在主调函数 之前,不需要声明。

6. 函数的值  

      (a)函数的值要返回主调函数,使用return语句;

       ( b) return语句在一个函数可以有多个,但是程序执行遇到第一个return语句的时候 就将结束本函数,回到主调函数。多个return最终只能有一个被执行。

        (c) return后面可以是变量、常量、表达式  

 7. 多个形式参数的定义,不管类型是否相同,都要分别用类型来定义形参

 8. 函数的调用方式:

 嵌套调用

 递归调用

9. 全局变量和局部变量  

全局变量

局部变量

变量的作用域

变量的生存期

10.函数调用形式:

   1.赋值语句:

     volume=cylinder(radius,height);

   2.输出函数的实参:

     printf(“%f”,cylinder(radius,height));

11.调用方式
  函数语句:把函数调用作为一个语句。
  例  printstar();
       printf(“Hello,World!\n”);
说明:不要求函数带回值;只要求函数完成一定的操作。
函数表达式:

函数出现在一个表达式中。
     例   m=max(a,b)*2;
说明:求函数带回一个确定的值以参加表达式运算。
函数参数;函数调用作为一个函数的实参。
   例printf(“%d”,max(a,b));
    m=max(a,max(b,c));

 

 

 

例如:
main()
{ float add(float,float); /*function declaration*/    被调函数出现在主调函数之前不必函数说明

float a,b,c;
scanf("%f,%f",&a,&b);
c=add(a,b);
printf("sum is %f",c);
}
float add(float x, float y)
{ float z;
z=x+y;
return(z);
}

二:遇到的问题及解决办法

在编码中,有的时候不知道该怎么输入,那种函数好,过程有些麻烦

#include <stdio.h>
int countdigit(int number,int digit=2)
{
int count,i;
count=0;
i=0;
while(number%10!=0){
i=number%10;
number=number/10;
if(i==digit)
count++;
}
return count;
}
int main()
{
int number,digit,count;
digit=2;
printf("输入一个整数:");
scanf("%d",&number);
printf("%d中有%d个2\n",number,countdigit(number,digit));
return 0;
}

三:心得体会

语言c果然比想象中的更难,在编码的时候必须要细心更细心!

而且,上课的时候不能走神!!!不然跟不上!!

 

posted @ 2016-10-31 21:49  王鑫沐  阅读(145)  评论(1编辑  收藏  举报