步步为营<二> C语言基本概念 和 数据类型

来源:互联网 发布:荷兰殖民地知乎 编辑:程序博客网 时间:2024/04/29 09:50

    通常,我们在大学的课堂上已经了解了C语言,这里大致的介绍一下C语言的基本情况.


C语言发展过程
产生背景
ALGOL 60→CPL语言→BCPL→B语言,写UNIX系统
产生过程
时间:1972~1973
地点:美国贝尔实验室
目的:UNIX操作系统
设计人: Ken.Thompson和Dennis.M.Ritchie (向大神致敬)
C标准
标准C: 1978年
         K&R合著《The C Programming Language》
ANSI C: 1983年
目前常见的编译器标准 C89 , C99


怎么区分 C89 和 C99 呢,

通常 所有变量必须写在程序开头才能编译通过的是C89,如51单片机用到的C51,以及Tuobo C,

GCC 通常都是支持C99的.


下边继续介绍C 语言程序开发步骤: 

 


就初学者而言,通常接触的都是 MS windows系统,这里也只针对Windows系统,这里不考虑 目标程序和可执行程序在 Linux 系统的情形,等大家了解了之后, 基本上能够快速的明白这个过程.


在这里举个经典的例子, Hello world: 



接着介绍数据类型;



什么是数据类型?只看了上边这些 不理解,OK, 没问题,

举个例子, 我们去煤窑厂,面对的是一座煤堆成的山(这是内存), 那么我们每次运煤需要工具,

 人力小推车, 面包车,大卡车,火车,

先假设这些单个工具拉煤的重量都是固定的, 

比如人力小推车每次50kg,面包车每次500kg,大卡车每次5000kg, 火车每次50000kg. 

short int long, char ,float,double 其实都是类似这些运输工具的东西.



很多书上都说了 int , char ,double 是几个字节,这其实是不准确的,

C语言标准没有规定各类数据所占内存字节数,

通常一个int型数据所占内存与计算机字长大小相同,为16位或32位,short型数据通常占16位,long型数据是32位。

这个地方解释一下计算机字长,

机器字长:CPU一次可处理的二进制代码位数,通常寄存器长度等于机器字长.
通常我们的51单片机是8位的, 430单片机是16位的, Arm32位,我么使用的电脑通常也是32位的.
最新的芯片,比如苹果手机使用的最新芯片A9, android 旗舰手机使用的高通的骁龙820,以及Intel的PC 芯片I7
这些都是64位.


每种编译器可以为硬件选择适合的长度,仅受一些限制,如short 和int 型数据至少占16位,long型至少占32位, short型数据不能超过int型数据的字节数,

而int型不长于long 型。这些不过多介绍,暂时对我们的编程也不会有什么影响


如果不确定 正在使用的数据类型字长,可以使用sizeof 关键字来确认.

如下:





今天到此为止.


0 0