C(函数、变量)

2021-01-14

函数(重点)

  1、为什么需要函数?
        避免重复性操作
        有利于程序的模块化
  2、什么叫做函数
        逻辑上看:能够完成特定功能的独立的代码快
        物理上看:能够接收数据[也可以不接收],并对数据进行处理,最后返回操作结果[可以不返回任何值]。
        总结:函数是个工具,为了解决大量类似问题而设计;函数可以当作一个黑匣子;
  3、如何定义函数
        函数的返回值 函数名(函数的形参列表){
              函数的执行体;
                    }
        a、函数的本质:是详细描述函数之所以能执行特定的独立的某个功能的具体方法;
        b、return 表达式;
              return 是终止整个函数,向主调函数返回表达式的值,break是终止这个循环;
              如果返回值为空,则只中止函数,不想主调函数返回任何值;
        c、return返回的值是以函数的类型为准;
  4、函数的分类
        (1)有参数函数 和 无参数函数;
        (2)有返回值函数 和 无返回值函数;
        (3)普通函数 和 主函数(main函数);
              一个程序必须有且仅有一个主函数;
              主函数可以调用普通函数,普通函数不能调通主函数;
              普通函数可以相互调用;
              主函数是程序的入口,也是程序的出口;
  5、注意的问题
        (1)函数调用和函数声明顺序:先函数声明,再函数调用
        (2)对库函数的声明是通过#include<库函数所在的文件名字.h>来实现的系统函数。
        (3)形参和实参:
              个数相同;位置一一对应;数据类型必须相互兼容;
        (4)如何在软件开发中合理的设计函数来解决问题?
              一个函数的功能尽量单一;模仿牛人的代码(字节跳动、腾讯、百度、leecode等平台)
  6、常用的系统函数
        (1)函数是C语言的基本单位,类是Java,C#,C++的基本单位。
        (2)double sort(double x);//求x的平方根
              int abs(int x);//求x的绝对值
              等等;
        
  7、举例
        //判断输入的数是否是素数?
        #include <stdio.h>
         bool isPrime(int val){//函数:判断是不是素数
              int i ;
              for (i = 2;i <val;++i){
                     if(val%i ==0 ){
                     break;
                      }
                   }
                    if(i == val) 
                          return true;
                    else
                          return false;
                    }
        int main(void){
              int m;
              scanf("%d",&m);//接收键盘输入
              if(isPrime(m))//调用函数,并且判断返回的是不是素数:是true或不是false;
                    printf("Yes!\n");
              else
                    printf("No!\n");
              return 0;
              }
                    
        //递归:先学会栈(数据结构)
              递归的定义 和 不同函数之间相互调用:
              递归必须满足三个条件:
              一个函数调用自己:
              循环 和 递归比较:
              递归应用:
              1+2+3+...+100之和用递归实现:

变量的作用域和存储方式

  1、按作用域分:
        (1)全局变量:在所有函数外部定义的变量
              使用范围:从定义位置 到 整个程序结束。
        (2)局部变量:在一个函数内部定义的变量或者函数的形参
        注意问题:局部变量名和全局变量名一样,局部变量名会屏蔽全局变量名。
  2、按变量的存储方式(java没有继承过来)
        静态变量
        自动变量
        寄存器变量
posted @ 2021-01-14 22:43  一名初学者  阅读(477)  评论(0)    收藏  举报