• 008_stdc_C语言


    回顾:
    1.数组
    数组的作用
    数组定义
    int a[n];
    a = 0; //不可以
    数组的使用
    通过循环进行遍历读写
    a[0] 第一个元素
    ....
    a[n-1] 最后了一个元素
    a[n] 访问越界

             a[1]  当做一个普通的变量进行使用


          数组的初始化
             定义数组不初始化,里面是不确定值

    int a[n] = {0};
    int a[n] = {2}; //只有第一个是2

     int a[n] ={[1]= 2,[4]=5};//下标1等于2,下标4等于5


    数组地址
    看到数组元素的地址是连续的
    sizeof 对数组进行字节数计算 可以得到整个数组 字节数

          C99 支持的特性 可变长数组

    定义数组时,里面的长度是变量, 根据数组定义时 变量里面的值 确定 数组的长度,定义后,数组的长度不可变.

    多维数组

    int a[4]; //一维
    int a[2][2]; // 二维

        a[0][0],a[0][1],a[1][0],a[1][1]

    int a[4][4][4];//三维
    ---------------------------------

       函数

     函数 是 0-多条语句组成的 代码片段,通过函数的 调用,可以使用该代码片段的的语句,完成一个功能,函数名是合法标示符,并且能说明语句的功能.

    函数的声明
    函数的定义
    函数的调用

    //void print_star();  //说明print_star  是一个函数, 没有参数,返回值是void
                                 //声明函数的原型
       print_star();     //函数的调用/使用 ,  先声明后使用
    //c 不支持 在函数中定义函数
    /*
    [练习]
            1. 写一个 函数原型为  void  add() 的函数;
               功能   该函数 实现 2+3 的和,并打印 2+3的结果
               在主函数中 调用 add()函数
    */
    #include <stdio.h>
    void  add();//函数声明1
    int main(){
        add();//函数调用3
        getchar();
        getchar();
        return 0;
    }
     void  add() {//函数定义2
         printf("2+3=%d
    ",2+3);
     }
    /*
     * 函数的格式:
      函数返回值类型  函数名(函数的参数)
      {
          函数体 
      }  
     函数返回值类型:
        c89    如该不加  默认返回 int
        c99    要求加类型,否则编译报错或警告
              如果没有返回值  返回值类型为 void
              
              如果程序需要返回结果 通过return 语句 带回 返回值
              return 后的值类型   跟 函数返回值的类型一致
    #include <stdio.h>
    int  add(int a,int b);
    int main(){
        printf("%d
    ",add(2,3));
        getchar();
        return 0;
    }
    int  add(int a,int b) {
         return a+b;
     }
    函数的参数:
              如该不加 表示无参数
              支持加多个参数
    函数体:
             可以为空, 表示空函数,有的故意 预留 后面补充语句
    函数的结束:
             如该运行中遇到return 语句结束函数,否则 执行到最后一条语句结束.
             在子函数里调用 exit(0)  结束程序
    带参数的函数   y=f(x)
            c 中的函数  支持传入参数,根据参数决定代码的执行或者返回的结果
           
            声明函数 和定义函数  参数的个数 及类型要一致
    void print_star(int n)  //int  n  形参   形式参数
           int a =  10;
           print_star(a); //10 写在调用函数里面的参数 实际参数  实参
                          //形参 可以被函数体 当普通变量进行使用
                          //形参 的初始化 在调用的时候 用实参的值替换,初始化
    *
    */
    [练习]
           2.  函数原型 int  myabs(int x)
               功能 传入一个整数(正/负数) , 返回 该数的绝对值
              在主函数中通过scanf 输出一个 调用后 打印输出 该函数的返回结果
    #include <stdio.h>
    #include <math.h>
    int  myabs(int x);
    int main(){
        int value = 0;
        printf("请输入一个数");
        scanf("%d",&value);
        printf("%d
    ",myabs(value));
        getchar();
        getchar();
        return 0;
    }
    int  myabs(int x) {
         return abs(x);//库函数绝对值
     }

    自定义

    #include <stdio.h>
    #include <math.h>
    int  myabs(int x);
    int main(){
        int value = 0;
        printf("请输入一个数");
        scanf("%d",&value);
        printf("%d
    ",myabs(value));
        getchar();
        getchar();
        return 0;
    }
    int  myabs(int x) {
        if (x < 0)
            x=-x;
        return x;
     }
     变量作用域
                     //在函数里面可以声明变量,局部变量,只能在当前函数通过
                        //变量名进行访问,在同一函数变量名不重名,其他函数之间
                        //可以重名
                        //
                        //C89  变量声明必须在函数最开始位置,C99无此规定
    #include <stdio.h>
    #include <math.h>
    int  myabs(int x);
    int main(){
        int x = 0;
        printf("请输入一个数");
        scanf("%d",&x);
        printf("%d
    ",myabs(x));
        printf("main中的x=%d
    ",x);
        getchar();
        getchar();
        return 0;
    }
    int  myabs(int x) {
        if (x < 0)
            x=-x;
        printf("myabs中的x=%d
    ",x);
        return x;
     }
    
    请输入一个数-500
    myabs中的x=500
    500
    main中的x=-500
    /*
     * [练习]
     *        编写一个 void swap(int a,int b);
     *        功能:  实现 a ,b 值交换
    */
    #include <stdio.h>
    int  swap(int a,int b);
    int main(){
        int x = 5;
        int y =2;
        swap(x,y);
        getchar();
        return 0;
    }
    viod  swap(int a,int b) {
        int value = 0;
        value =a;
        a=b;
        b=value;
        printf("%d,%d
    ",a,b);
        return a,b;
     }
     
     
     
     
    何所为,不仅仅是一种态度,更是一种艺术!
  • 相关阅读:
    sql中生成随机字符串的function
    postgresql中uuid的使用
    sql中循环的存储过程
    java发送http的get、post请求
    data:image/png;base64
    Matcher和Pattern总结
    OPENXML解析sp_xml_preparedocument获取的XML句柄
    SqlServer性能优化
    python的2D绘图库matplotlib
    sift&surf检测关键点及描述子
  • 原文地址:https://www.cnblogs.com/tanzizheng/p/12904940.html
Copyright © 2020-2023  润新知