• C语言之总结1


    1). 终端常用的命令:

        pwd 显示终端的工作路径.

        ls  list 清单 显示当前工作路径下的所有的文件以及文件夹.

        ls -l 以详细信息显示当前工作路径下的所有的文件以及文件夹.

        cd 要切换的工作路径    *******************  Change Drictory

        mkdir 在当前工作路径下创建1个文件夹.

        clear 清除屏幕上的信息.

    touch 在当前工作路径下创建1个空文件.******************

    2).编译

    编译器在编译代码的时候,会先检查你的.c文件是不是符合C语言语法规则的,如果不符合会报错或警告,提示你具体哪里出错了

         warning--->警告 编译可以通过,能形成.o文件 是否能形成a.out是不确定的

    error ---->错误,你代码是错的,连编译形成.o 的资格都没有

    3).C语言中常见的数据类型

    int    

    整数   -2147483648 ---- 2147483647

        "有效位: 从左边开始第一个不为0的数开始数,数相应的位数

    float  

    单精度小数(单精度浮点数)  有效位数不超过7位的小数,超过7位      的部分不能精确的保存

        1234.5678f

    double 

    双精度小数(双精度浮点数)  有效位数不超过16位的小数,超过16位的部分不能精确的保存

           12345678912345.127

    char   

    字符  'A' 'B' 'C' 'D'

    4).变量

    1.关于变量的概念

        变量 == 坑 == 用来存储数据

        变量的值 == 坑中存储的数据

        变量名 == 坑的别名 == 可以找到坑

        变量类型 == 坑的类型 == 内存中存储的数据的类型

        变量的本质:在内存中存储数据的那块空间.

       

    2.数据要存在内存中的步骤

        1>在内存中开辟一块空间

        2>开辟空间的同时要指定这块空间的别名类型

    3>这个空间的类型决定了这个空间中可以存储的数据的类型

    5).类型转换

       当赋值符号两边的数据类型不同的时候,数据类型转换是自动的,不需要程序员插手

               隐式转换:自动转换 编译器自动帮你判断转换成什么类型  

          int num = 3.3333;

    显示转换:强制转换  程序员自己写代码指定你的数据转换成什么类型 

    int num = (int)3.3333;

    6). 短路问题大全

    1. 当自增自减运算和逻辑运算组合时,编译器编译代码的时候,放弃优先级,去从左向右扫描,最后去判断自增自减要不要去执行
    2. 当逻辑&&和逻辑||组合运算时,仍然是放弃优先级,从左向右扫描,如果有短路,后面的就不执行,如果没有短路,那么就按照正常的优先级来计算

    7). 变量的作用域

    1. 变量的作用域如何寻找,向外寻找包裹着这个变量的定义的语句的最近一层的大括号

                          a.寻找作用域

          b.变量在自己的作用域内可以被访问,不受内层的大括号限制

    2.外层作用域可以和内层作用域的变量同名,使用遵循就近原则

    3.变量出了自己的作用域就会被操作系统从内存中回收,程序员就无权再使用

    8).switch-case

    1. switch后面可以写任何表达式,也可以直接写个数字,无论是什么形式,必须是整数类型

    2. 每一个case模块中的break可有可无,有就遇到break结束整个switch,没有就一直向下穿透,直到遇到break或者整个switch结束,不会进行判断.           **********

    3. 整个default模块也是可有可无的,有就所有case都不满足的情况下执行default,没有就所有case都不满足结束switch结构.

    4. 如果多个case模块所要执行的处理是一样的,可以利用case穿透来实现

    结论:

    switch适合做等值判断,不适合做范围判断,对于需要做范围判断的功能最好使用if结构

    9).for注意事项

    1.如果第3个表达式已经自增,那么在循环体中就不要自增了

    2.第3个表达式后没有分号   

    3.3个表达式都可以省略,但是分号不能省略

    4.如果第2个省略 那么循环条件默认就成立

    5.3个表达式其实任意的语句都是可以的. 但是只能是3句

    10).全局变量和局部变量的异同

    1.相同点

    都是一个变量,都是用来存储数据的

    2.不同点

    a.定义的位置不同

    局部变量:定义在函数内部的变量

    全局变量:定义在所有函数外部的变量变量叫做全局变量

    b.作用域不同

                                局部变量"最多"只能在函数的内部访问

                                全局变量:从定义的位置开始,从定义的这一行以下都能访问

        注意:全局变量一般都定义在程序最的最上面

     

    3.初始值

                 局部变量:初始是垃圾值

            全局变量:0

    注意:''这个字符的ASCII码是0,''这个字符是不可见的,不占位置的.

    4.创建和回收的时间不同

           局部变量:程序运行到局部变量那一行代码的时候才会创建,在作用域结束回收

          全局变量:程序一启动就会创建,在程序运行结束回收

    注意:局部变量可以和全局变量同名,具体使用哪一个,遵循就近原则.另外开发的时候不要这样做,程序的可读性太差.

    11).函数的声明和定义

      1. 如果函数写了声明,那么这个函数的定义就可以放在调用函数的后面了.

        2. 函数的声明最晚应该放在调用函数的前面. 一般情况下,函数的声明都是统一放在最顶部的.

        3. 如果被调用的函数在主调函数之前.那么这个时候,被调用函数的声明可以省略,在前面直接写定义.

        如果被调用函数的定义在主调函数的后面,那么这个时候必须在调用之前声明这个被调函数.

        4. 声明函数的函数头,必须要和实现函数的函数头一致.

        5. 在声明函数的时候,如果函数还有参数 那么参数的名称可以省略.只写类型.

        虽然这样可以,但是我们还是建议你 声明和实现的函数头一模一样. 

        6. 如果函数的返回值是int类型的,可以不写这个函数的声明.

    不忘初心,方得始终
  • 相关阅读:
    idea的tomcat消失
    数据表南车
    ElementU日历Demo
    ElementUI表格行编辑单元格编辑支持(输入框,选择框)Demo
    expect ':' at 0, actual = (JSON转化异常解决)
    java获取日历格式的日期数据
    java判断某个日期在两个日期之间(区间) (包含或不包含两个日期)
    localDate和Date的转化
    ImmutableMap的put方法问题
    invalid comparison: java.time.LocalDate and java.lang.String
  • 原文地址:https://www.cnblogs.com/jialiangliang/p/6075577.html
Copyright © 2020-2023  润新知