步步为营<二> 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 关键字来确认.
如下:
今天到此为止.
- 步步为营<二> C语言基本概念 和 数据类型
- 数据类型和基本概念(二)
- 步步为营<三> C语言 语句和表达式
- 步步为营<一> C语言简介 和 编译环境搭建
- MongoDB学习(二):数据类型和基本概念
- MongoDB学习(二):数据类型和基本概念
- MongoDB学习(二):数据类型和基本概念
- MongoDB学习(二):数据类型和基本概念
- MongoDB学习(二):数据类型和基本概念
- MongoDB学习(二):数据类型和基本概念
- C语言(二)--数据类型
- C语言基础教程(二)数据类型、变量和运算符
- 关于C语言的数据类型需要了解的基本概念
- C语言数据类型 和 数据类型转换
- C语言变量和数据类型
- C语言概述和数据类型
- C语言 数据类型和变量
- c语言关键字和数据类型
- WebRTC源码分析三:视频处理流程
- chm转换为html的超简单方法
- 孤儿进程与僵尸进程[总结]
- Eclipse:No fixes avaliable for 'Access restriction: The type basic is not accessible due to restrict
- Beyond Compare如何比较表格
- 步步为营<二> C语言基本概念 和 数据类型
- 职来职趣|这些定律,初入职场的你知道吗?
- Android 5.0+ 解析(七)Snackbar控件
- H5 canvas 笔记 一
- mqtt之初步探索
- 大型网站架构系列:缓存在分布式系统中的应用(二)
- java中的线程同步
- HTML5独家分享:原生JS学习笔记2——程序流程控制
- pom.xml log4j配置