作为绝大多数人入门的编程语言C语言,同时又是编程语言榜前三的常青树,无论学到什么水平的人都不敢说自己是完全精通吧, 虽然之前已经学了两遍,但是寒假回来又自己学了一遍,还是有原来没有的收获,所以呢,废话不多说,开始和大家分享。

  一,首先是原码,反码,补码的问题:

  1.正数的原码也就是反码也就是补码(所谓的三位一体),很简单,没什么需要特别说明的。

  2.负数的反码是原码符号位不动,其他位按位取反,负数的补码是反码加1。

    例:6   0000 0110 原码 反码 补码

        17  0001 0001 原码 反码 补码

       -23  1001 0111 原码

            1110 1000 反码

            1110 1001 补码

       -15  1000 1111 原码

            1111 0000 反码

            1111 0001 补码

  二,标识符由数字字母下划线组成,由字母开头,(下划线可以当成字母)虽然我也不太明白,但是C语言中,确实可以把下划线当做字母来用。

  三,一个字节是八个二进制位。

    1024个字节是1k

    1024k = 1兆

    1024兆 = 1t

    1024t = ..等于啥我也不知道,一般单位到t在先使用就够用了

  四,内存不看怎么存,只看怎么读!计算机只识别0和1。

  五,强制跳转语句

    例:#include<stdio.h>

        int main(void)

        {

            printf("1\n");

            ABC://标号

            printf("2\n");

            printf("3\n");

            printf("4\n");

            goto ABC;//改变程序的运行顺序,跳转到标号的位置继续执行

            printf("5\n");

            return 0;

         }

强制跳转语句的优点:语法简单,让人们更容易理解该语法的用法

强制跳转语句的缺点:是的程序的可读性变差,让程序更没有逻辑性,但是却又非常好用。

  即便不知道强制跳转语句的用法,使用判断循环也可以达到相同的效果, 但作为一个非常好用的语法,以及作为一个大牛程序员的骄傲,会这样一个语法也是不错的吧~

  六,const 语法

    const在C语言中的作用只有一个,就是安全性的考虑,const语法本质上分两种,如果细分还可以分三种

    例:1,const char *p = &a;

            把它的名字叫做星前const,不能通过*p改变所指变量的值,但是却可以改变指针p的指向

        2,char * const p = &a;

            把它的名字叫做星后const,不能改变指针的指向,但是能改变指针所指的值

        3,const char * const p = &a;

            无非是前两种的结合,一颗指针指向一个变量,值不能改变,指针指向也不能改变。

当然了,如果想强行改变的话,也是可以的,但是在该加的地方加上const能够说明开发人员的思维更严谨!

 七,二维数组作为函数参数

#include<stdio.h>

void func(int (*p)[4])

{

    return;

}

int main(void)

{

    int a[5][4];

    func(a);

    return 0;

}

没什么具体说明的了,自己认为代码已经说明了一切~




先写这些吧,留点消化的时间,一会儿再开始C语言第二篇,本来感觉C语言没什么好说的了,但是每看一回都自觉不自觉的会有新的收获。想起那句老话:学到老,活到老~~。