美文网首页
C语言基础入门必读

C语言基础入门必读

作者: iwen大大怪 | 来源:发表于2019-07-29 21:05 被阅读0次

            C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。下面我来分享我学习的c语言的一些收获。


    一、include是一个宏,用来导入头文件

           1.为什么要导入头文件?因为在这个头文件的库里包含了很多方法,方便我们在工程中直接调用

           2."  "是表示编译器会首先从自己的工程里面去查找这个头文件,如果找不到就会去从系统库里面查找这个头文件

           3.< >是表示编译器会首先从系统库里面查找这个头文件, 如果找不到会从自己的工程里面去查找这个头文件


    二、main函数

    任何一个程序都必须有,这是程序的入口点,在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。


    三、返回值

         int 标识这个程序的运行结果(程序在运行时会在系统中申请资源) 0正常 1失败

          0--->正常退出:程序在运行中申请的资源全由程序自己分配

          1--->非正常退出:程序会收回运行过程中获取的所有资源


    四、c语言运行机制

    预编译/预处理:

           1.宏定义指令:将所有的#define删除,并且展开所有的宏定义

           2.条件编译指令:用来处理所有的条件预编译指令

           3.头文件包含指令:用来处理#include预编译指令,将头文件展开并且插入到该预编译相应            的位置,得到完整的程序

    编译:

         1.所谓的编译,就是将预处理完成的程序文件进行语法分析、语义分析等生成相应的汇编代          码

    汇编:

        1.将汇编代码转化变成机器可以执行的命令

    链接:

        1.通过调用链接器ID来链接程序在运行过程中所需要的目标文件,以及工程中的其他库文             件,生成可执行文件


    五、定义一个变量

      定义变量时,系统会立刻分配一个内存,并且会赋值,当程序运行完了以后,内存会自动回收

    ```

    int _tmain(int argc, _TCHAR* argv[])

    {

    int a=1;

    return 0;

    }

    ```


    六、声明一个变量

    声明变量时,系统不会立刻分配内存,只有在这个变量要被用到时才会分配内存,当程序运行完了以后,内存会自动回收


    七、宏定义

    宏定义时变量要大写 ,后面的分号尽量不要加。

    例如int arr[PI]={};如果加了括号加会报错;会替换成arr[PI;]


    八、基本数据类型

    int    整数 64位系统里面占4个字节 32位占2个字节,输出格式:%d %02d 不足的补齐 01

    float   浮点型 占4个字节内存空间,输出格式:%f %.1f 保留1位有效数字

    double    双精度浮点型 占8个字节内存空间,输出格式:%f 

    long 长整型     占8个字节内存空间,输出格式:%ld

    char    字符型 占1个字节内存空间,输出格式:%c输出字符  %d输出ASCII码值

    bool    布尔类型 true/false 非零即真 零即假

    九、float与double的区别


    1.在内存中占有的字节数不同

    单精度浮点数在机内存占4个字节(32位),双精度浮点数在机内存占8个字节

    2.有效数字位数不同

    单精度浮点数有效数字8位,双精度浮点数有效数字16位

    3.数值取值范围

    单精度浮点数的表示范围:-3.40E+38~3.40E+38

    双精度浮点数的表示范围:-1.79E+308~-1.79E+308

    4.在程序中处理速度不同

    一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快


    十、结构化控制语句

    (一)if...else语句

    ```

    if(表达式1){

         语句块1

     } else  if(表达式2){

        语句块2

    }else  if(表达式3){

        语句块3

    }else  if(表达式m){

        语句块m

    }else{

         语句块n

    }

    ```

    1.执行过程

    依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句块n。然后继续执行后续程序。


    (二)while语句

    1.while(循环继续条件){ 循环体语句组;}

    2.执行过程

    (1)求解"循环继续条件"表达式。如果其值为非0,转2);否则转3)。

    (2)执行循环体语句组,然后转1)。

    (3)执行while语句的下一条。

    显然,while循环是for循环的一种简化形式(缺省"变量赋初值"和"循环变量增值"表达式)。


    (三)do...while语句

    1.一般格式

    do{ 循环体语句组; }

    while(循环继续条件);

    当循环体语句组仅由一条语句构成时,可以不使用复合语句形式。还是建议用复合语句写,显得你非常细心。

    2.执行过程

    (1)执行循环体语句组。

    (2)计算"循环继续条件"表达式。如果"循环继续条件"表达式的值为非 0(真),则转向(1)继续执行;否则,转向(3)。

    (3)执行do-while的下一条语句。

    do-while循环语句的特点是:先执行循环体语句组,然后再判断循环条件。


    (四)for循环语句

    1.选择for循环的标准:一般和数组相关,并且需要知道当前是第几次循环

    2.for(循环变量赋初值;循环条件;循环变量增值){内嵌语句}

    3.它的执行过程如下:

    (1)循环变量赋初值

    (2)先求循环条件,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第三步

                             若为假(值为0),则结束循环,转到第5步.

    (3)求解循环变量增值

    (4)转回上面第(2)步骤继续执行;

    (5)结束循环,执行for语句下面的一个语句;


    (五)switch语句

    ```

    1.switch(表达式)

    {

    case常量表达式1: 语句1;break;

    case常量表达式2: 语句2;break;

        ......

    case常量表达式n: 语句n;break;

    default: 语句n+1;break;

    }

    ```

    2.switch主要需要注意的方面有两个:

    (1)从哪进:表达式的值与case后的值相同则进入,case顺序不影响结果

    (2)从哪出:遇到break或整个switch结束(break以前是为了灵活,现在是累赘)

    3.与if语句的不同:

    If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句;

    而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。

    在每一case语句之后增加break语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。

    相关文章

      网友评论

          本文标题:C语言基础入门必读

          本文链接:https://www.haomeiwen.com/subject/zxjbrctx.html