1.2变量
我们知道,电脑的本质就是一台高级的计算器,既然是计算器,就需要我们输入一些东西,然后由计算器进行计算,加工,然后输出出来,那么,怎么样才能输入数据,输入的东西又怎么处理呢?这里引入一个概念,变量。
变量是什么?想理解这个概念,让我们走进一家图书馆。
看到这琳琅满目的书了么?这一本一本的书——不是变量,它们相当于我们输入的数据,我们把目光放到平时不会注意的这些书架上,这些书架,就是变量,书架上会贴一个个标签,比如“武侠小说”,这个标签是变量的名字,我们叫它变量名。没有书架,我们无法有效地放书,没有变量,电脑也不能高效地处理数据。
好了,下面,我们看程序。
#include<stdio.h>
int main(void)
{
int wu_xia, yan_qing;
wu_xia = 10;
yan_qing = 5;
printf("武侠小说有%d本,言情小说有%d本。",wu_xia, yan_qing);
return 0;
}
这里我们看加粗的部分,我们向电脑申请了两个“int”型的变量(int是整数型的意思,也就是说这种变量里只能存放整数,放带小数点的小数就放不下了,就像专门放32开本的书的书架,你要放16开本的大书是放不下的,关于数据类型,后面专门讲的时候再细谈),一个起名叫wu_xia,一个起名叫yan_qing,然后我们在wu_xia里放了10本书,在yan_qing里放了5本书。然后把他们输出出来,输出的部分我们也使用了变量,这样我们就不必在printf()中书写大量的计算,程序也就更容易理解了。
这里还要强调“=”在这里并不是等于号,c语言中的等号是==,在这里,=叫赋值号,意思是对变量赋值,即把右边的数据放到左边的变量里。
有了变量,数据就有了活力,比如说,有男生借了两本武侠小说,就可以表示为:wu_xia=wu_xia-2;有女生还了一本言情小说,可以表示为yan_qing=yan_qing+1;是不是觉得有点古怪?总想着把等号两边相同的部分消掉?这里再提醒一遍,=是赋值号,不是等于号。赋值号的计算过程是先计算右边部分,然后赋值给变量。wu_xia=wu_xia-2;计算过程是这样的,计算机先找到wu_xia这个变量的位置,发现里面是10,然后用10-2得到8,再把8放进变量里,完成计算过程。
变量名是变量的名字,是程序员起的,给变量起名字就和给孩子起名字差不多,叫阿猫阿狗也行,叫任我行令狐冲也行,但名字也不能乱取,比如说秦始皇,诸葛亮等历史上赫赫有名的名字不能取,卧倒、起立等表示命令的名字也不能起,否则大家喊名字的时候就会产生歧义。下面说说c语言变量的命名规则。
1、起名最好有意义,为了以后修改的时候方便。
2、只能以英文字母(推荐)、下划线( _ )(不推荐)、美元符号( $ )(不推荐)开头。后面可以接数字、英文字母、下划线和美元符号( $ )(可以使用中文,但不推荐使用)
3、不能是C语言中的关键字
很多人包括我自己经常在翻笔记的时候发现因为字迹太过潦草,自己也不知道自己写的是什么了。而程序员们也会常常因为自己的变量名太过混乱而不知道变量里放的是什么。所以变量名最好有意义,最起码自己能看懂。
c语言很多内部变量是用_和$开头的,我们可以用,但可能出现重名,虽然出现重名的概率很小,但我们最好还是避免,直接用字母开头算了,省心省力。
变量名里面不能有空格,需要用空格的时候用下划线代替,比如wu_xia。
关键字是在c语言中有特殊含义的字符,类似于立正,稍息等命令,所以不能用,不过不用怕,不多,总共才32个,列下边了,挑认识的看看就行,以后慢慢会记住的。
auto register unsigned if while static double int struct break else long switch case enum typedef char extern return union const float short continue for signed void default goto sizeof volatile do