找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1967|回复: 0
打印 上一主题 下一主题
收起左侧

C语言教程(2)-关键字 变量

[复制链接]
跳转到指定楼层
楼主
ID:99082 发表于 2015-12-10 03:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
--啥是关键字呢


这图里的程序就是大家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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表