--啥是关键字呢
这图里的程序就是大家C语言考试里的考试重点:冒泡法。 拿来举个例子(整篇文章都拿这里的代码举例子)
每行前边标注的数字是为了方便大家查找行数:
0. #include“stdio.h” 1. void main(void) 2. { 3. int i,j,t,a[10]; 4. printf("imput 10 numbers:"); 5. for(i=0;i<10;i++) 6. scanf("%d",&a[i]); 7. for(i=0;i<10;i++) 8. for(j=0;j<10;j++) 9. if(a[j]<a[j+1]) 10. { 11. t=a[j]; 12. a[j]=a[j+1]; 13. a[j+1]=t; 14. } 15. printf("\nthe result is :\n"); 16. for(j=0;j<10;j++) 17. printf("%d ",a[j]); 18. } 比如说里边的红色的字:void、int、for都是关键字。(里边的蓝色的字:+、=、<都是运算符。后面几周会讲到)
自己对关键字的理解,跟大家说说:
第一个方面:关键字是C语言本身语法认可的标准字(或者换句话说是C语言提供给大家使用的标准字),而且每个关键字的功能的已经规定好,不能更改。 第二个方面:关键字就是已被C语言本身使用,不能作其它用途使用的字。
--C语言的关键字总结
首先给大家整理整理关键字的相关内容,虽然基本每本书都肯定会介绍,但多数都没整理总结,每个章节跳出来几个,很乱。从整体上整理总结一下可以帮助大家更好的理解C语言关键字的组成和作用。 C语言里共有32个关键字,这对于一门高级编程语言来说已经很少了,而且还有的关键字已经过时,所以使用的很少。 其中: 数据类型的关键字有12个 (char、double、enum、float、int、long、short、signed、struct、union、unsigned、void) 控制类型的关键字有12个 (break、case、continue、defaut、do、else、for、goto、if、return、switch、while) 储存类型的关键字有4个 (auto、register、static、extern) 其他类型的关键字有4个 (const、sizef、typedef、olatile)
--如何声明我们常用的各种变量
数据类型关键字是主要的作用就是声明变量,如例子中第三行: int i,j,t,a[10];
----int型
int是语言的关键字,代表C中最基本的一个数据类型--整数。顺便说一下,整数的英文单词是integer,从而得到int。
主要透漏了两个消息:
1.在函数中我已经声明标识符i,j,t,a[10]。表示声明了一个名字叫i的变量、一个名字叫j的变量、一个名字叫t的变量和一个叫a[10]的数组。 2.这个名字叫i的变量、名字叫j的变量、名字叫t的变量和叫a[10]的数组。它们的是整数,就是没有小数点或小数部分。 声明完这些整数型的变量,就能对他们赋值。比如例子中i=0,注意这里的“=”不是我们学的数学里的等号“等号含义:左边等于右边”,而C语言中的“=”是赋值运算符,表示“将右边的值赋予给左边”。 声明的形式:
举例: int i,j,t,a[10]; 也可以这样分别进行声明, 举例: int i; int j; int t; int a[10]; 赋值的形式: 举例: int i; i=0; 也可以在声明时直接进行赋值 举例: int i=0; 声明的形式和赋值的形式在声明和赋值浮点变量(float)和字符变量(char)也是适用的。 ----赋值后硬件如何储存
如果咱们运行了下面的两个语句: int i; i=7; 咱们的意思是声明了一个整数型的变量i,让i的值为7。 那嵌入式系统(或计算机)收到命令是如何执行的呢,这里先跟大家明确几个简单的概念: 位:最小的储存单位称为位(bit),可以容纳两个值(0或1)之一。就好像一个开关的开和关的两种状态。大家都说电脑是二进制的世界、是由0和1组成的,总是非黑即白。 字节:(byte)是常用的计算机储存单位。几乎所有的机器,1个字节都是8位。由于每个位都是0或1,所以一个8位的字节包含256(2的8次方)种可能的0、1组合。 字:对于一种给定的硬件设计,字(word)是自然的储存单位,对于8位机,一个字就是正好8位。16位机一个字就是16位,以此类推32位、64位。 举例: 比如整数7用8位的字节储存 则为:00000111为二进制数。 
用途:整数型的变量是每个程序都离不开的吧。举个最简单的例子,单片机流水灯实验(堪称学习单片机的"hello Word! ")里控制一个灯亮多久的延迟函数里的时间参数变量就是整数型。 ----float型
光有整数自然也是不够的,还要有小数啊。咱们在纸上写个整数和写个小数没什么区别,只是找个地方加个小数点就OK了,但计算机干起这件事可就大不相同了。比如说你付给了浮点型变量 float i;
i=3.1415926; 计算机会怎么储存呢(图为十进制版本示意图): 
硬件会用科学计数法的形式将小数进行储存,但储存毕竟是电脑的事,我们可以不管他。 声明和赋值浮点型变量: 例子1: float i;
i=3.1415926;//i=3.1415926 例子2: float i=1.12e2;//1.12e2采用了科学计数法1.12乘以10的2次方 例子3: float i=1.12e-5; //1.12e-5采用了科学计数法1.12乘以10的-5次方 ----char型
char类型的用于存储字母和标点符号之类的字符。但是在技术实现上char却是整数类型,这是因为char类型实际储存的是整数而不是字符。
char i;//声明了一个char变量
i=‘C’;//把字符赋给变量时只能用单引号‘ ’ 计算机会把字符按照ASCII码的形式储存储存呢: 
01000011就是67,如果在ASCII表上查询,第67号就是大写字母C。 char通常定义为使用8位内存单元,这和它储存的数据时有关的。因为char储存的实际是ASCII码的编号,ASCII码的编号是0-127,只要7位就能储存的下。所以给了8位那是绰绰有余。 声明和赋值字符型变量: char i;//声明了一个char变量 i=‘C’;//正确 i=C;//不正确,会把C当变量。 i=“C”;//不正确,把“C”当成一个字符穿。 用途:字符型的变量是很常用的,因为表达肯定有时要用到字母的啊。举个最简单的例子,单片串口通信实验(堪称学习单片机的"调试必备实验")里想电脑打印选择结果Y或N,打印的变量就是是字符型。
----unsigned和signed关键字
每个简单的数据类型都可以是有符号数(signed)或无符号数(unsigned),用unsigned和signed这两个关键字来进行修饰。 
常用的三种数据类型(整数型int 浮点型float 字符型char)就介绍完了。呃,变量的类型就写了这么多。下周的小文章还是写关键字的--关于常用控制语句的。
以下是本系列教程文章列表:欢迎大家踊跃讨论,有问题可在51黑论坛回帖提出.
C语言基础教程(1):http://www.51hei.com/bbs/dpj-41177-1.html C语言教程(2)-关键字 变量:http://www.51hei.com/bbs/dpj-41178-1.html C语言教程(3)-控制语句:http://www.51hei.com/bbs/dpj-41179-1.html C语言教程(4)-运算符:http://www.51hei.com/bbs/dpj-41180-1.html C语言教程(5)-函数:http://www.51hei.com/bbs/dpj-41181-1.html C语言教程(6)-数组与函数指针:http://www.51hei.com/bbs/dpj-41182-1.html
51单片机教程:http://www.51hei.com/bbs/mcu-xuexi-1.html STM32教程:http://www.51hei.com/bbs/dpj-41167-1.html
|