zoukankan      html  css  js  c++  java
  • 编程基础C—— 常量、宏、枚举、函数以及函数的递归调用的应用总结

    1. 常量
     
    为什么使用常量:
    防止数据在程序中被任意修改,造成前后不一致
    可以很方便的批量进行调整,能做到快捷、方便、安全
    使用const进行定义常量
     
    2.宏
     
    使用宏定义常量:
     
    #define开头的语句称为宏定义
    #作用是预编译
    #define   宏名 对应的表达式
      
    #define Age 1
    #define Sum(a,b)((a)+(b))
    #define Max(a,b)((a)>(b)?(a):(b))
     
    注意:最后没有分号。
     
           宏定义不需要类型,因为只是文本替换。
           变量名不要与宏名重复,宏定义会用宏对应的值替换掉程序中出现的宏名(引号里的除外)
           #include Sum(a,b)((a)+(b))
     
           使用宏要注意,必须在使用之前进行定义。
     
    3.枚举
         (1) enum 枚举名  {枚举元素1,枚举元素2,,,,,};
            enum  Season {spring,summer,autumn,winter};
     
            一组有限的常量称为枚举
            枚举元素是常量不能赋值
     
    enum是用来声明枚举类型数据,它可以像数组一样存储许多的元素,但是不同于数组的是,它除了数字不能存储以外,其他类型的如字母、特殊符号、汉字都可以以任意组合存入enum当中去。
     
    (2) enum的声明:enum A { a, b, c };
     
    enum声明不同于数组,其只可以声明在Main()方法体外,在Main()中可以被调用。
     
    (3)  enum的枚举数值默认是从0开始的,往后依次加1,但是也可以强制元素序列进行改变。enum A {a=1, b, c}; 这样就可以实现了。
     
    (4) enum可以通过枚举名加点通过枚举的元素访问枚举数值。
    例:
    int i = (int)A.a;
    枚举值虽然是int类型的,但是也必须进行显示的强制转换。
     
    (5) 同样enum也可以通过枚举数值来访问枚举内的各个元素。方法是:Console.WriteLine( " (A)1 " );这样就可以访问enum内的各个元素。
     
    (6) 定义枚举变量的三种形式:
    1.先定义枚举类型,再定义枚举变量:   enum Season s;(s是枚举变量)
    2.定义枚举类型的同时定义枚举变量:  enum  Season {spring,summer,autumn,winter} season;
    3.省略枚举类型名,直接定义变量:       enum    {a,b}  c;
     
       (7)枚举的适用场合
                一个变量有几种可能的值,我们可以将变量制定的值一一列出
       (8)枚举的使用事项
                enum color{red=0,orange=1,green=3,blue=4};
                enum color{red=10,orange,green,blue};
         (9)遍历需要注意的地方,枚举类型的元素的值要具有连续性才可以使用for遍历。
       (10)枚举的好处
                  提高代码可读性
                  便于程序维护
    4.函数
    用函数实现模块化程序设计。
     函数的定义:
    返回值类型 函数名(形参列表,多个形参要对变量的类型单个声明)
    {
         函数体
         return 函数值;
    }
     
    将函数的定义写在主函数(main函数)之前。
     
    注意有返回值的函数,return的类型要与函数返回值类型一致,无返回值,不能return一个值,但是可以使用return。
    函数调用的结果就是return返回的值,
    调用函数时,实参列表的个数要与形参保持一致,并且类型也要一致。
     
    变量的作用域:
     
    1)局部变量:(在某函数体内时),变量的作用域取决于其定义的大括号内,如果在函数的形参列表内,其作用域属于该函数。
    (2)全局变量:其作用域取决于其声明的位置,在其位置之后的,均可以使用。
       注意: 当局部变量与全局变量名字重复时,变量的值取决于离其最近的赋值运算。
     
    函数调用的一般形式:
    函数名(实参表列)
     
      例:
    //使用函数调用求两个数中比较大的数

    #include <stdio.h>
    int max(int a,int b)
    {
        int m;
        m = a > b?a:b;
        return m;
    }
    int main(int argc, const char * argv[])
    {
        int x,y,z;
        printf("请输入两个整数:");
        scanf("%d%d",&x,&y);
        z =  max (x,y);       //函数调用
        printf("max=%d",z);
        return 0;
         }    
    5.函数的递归调用:
    在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为该函数的递归调用。
     
    例:
    用递归函数计算10以内偶数的和;
     
    #include <stdio.h>
    int sum(int a)
    {
        if(a == 0)
        {
            return 0;
        }
        int b = a + sum(a - 2);
        return b;
    }
    int main(int argc, const char * argv[])
    {
        int c = sum(10);
        printf("c = %d",c);
        return 0;
    }
    感谢您的访问! 若对您有帮助或有兴趣请关注博客:http://www.cnblogs.com/Rong-Shengcom/
  • 相关阅读:
    css盒子模型
    怎么查看浏览器内核以及浏览器版本
    matlab 读取文件(mat)存储为json文件
    js的闭包
    听别人报告
    关于windows下 python3安装 cython的说明
    python某个module使用了相对引用,同时其__name__又是__main__导致的错误
    python编程指南
    javacc在stanfordnlp中的应用
    hystrix熔断机制修改配置
  • 原文地址:https://www.cnblogs.com/Rong-Shengcom/p/4931372.html
Copyright © 2011-2022 走看看