zoukankan      html  css  js  c++  java
  • 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类型的,可以不写这个函数的声明.

    不忘初心,方得始终
  • 相关阅读:
    docker 安装mysql
    Java web项目搭建系列之二 Jetty下运行项目
    Java web项目搭建系列之一 Eclipse中新建Maven项目
    Maven 添加其他Maven组件配置问题
    C# 中定义扩展方法
    Oracle 函数
    【Webservice】2 counts of IllegalAnnotationExceptions Two classes have the same XML type name
    Linux精简版系统安装网络配置问题解决
    Rsync 故障排查整理
    Failed to set session cookie. Maybe you are using HTTP instead of HTTPS to access phpMyAdmin.
  • 原文地址:https://www.cnblogs.com/jialiangliang/p/6075577.html
Copyright © 2011-2022 走看看