上一节我们了解到计算机是使用一个一个的小房子来记住数字。计算机有很多不同种类的小房子。
int a;
代表向计算机申请一个小房子用来存放数值,小房子的名字叫做a。int和a之间有一个空格,a的末尾有一个分号,代表这句话结束。
如果要申请多个小房子,则在a后面继续加上b和c。用逗号隔开,形如:
int a,b,c;
这里有一个小问题,就是给申请的“小房子”起名字,原则上来说,你可以随便起,叫a可以,叫b也可以,叫x也可以,名字甚至是多个字母组成,例如利益叫做aaa,也可以叫做abc,也可以叫做book。也可以是字母和数字的组合例如:叫做a1.或者叫做abc123都是可以的。
到这里,可能还有很多童鞋想问,int究竟是什么意思呢?
其实,int是用来控制“小房子”存放那种类型的数。int表示你目前申请的小房子只能够存放整数。
int是英文单词integer(整数)的缩写。
如果要存放小数怎么办?
我们用float来申请一个小房子用来存放“小数”,形式如下:
float a;
这样“小房子a”就可以用来存放小数了,例如:
float a;
a=1.5;
printf("%f",a);
就表示申请一个用来存放小数的“小房子a”,里面存放了小数1.5.
注意:小数在C语言中称作“浮点数”,在C语言中用float表示。
之前我们在printf语句中输出整数时候,使用的事%d,此时需要输出的是小数,我们要用%f。
好了,我们来总结一下,这里的“小房子”在外面C语言的专业术语中叫做“变量”。int和float是用来说明小房子是用来存放何种类型的数,我们这里将其称作“变量类型”或者“数据类型”。
类似int a;或者float a;这种形式,我们称作“定义变量”,它的语法格式如下:
口语】 【小房子的类型】 【小房子的名称】,【小房子的名称】;
术语】 【变量的类型】 【变量的名称】,【变量的名称】;
代码 int a,b;
现在我们知道,int a表示申请一个小房子a用来存放一个整数,即定义一个整型变量a来存放整数;而float a表示的则是申请一个小房子a来存放一个小数,即定义一个浮点型(实型)变量a来存放浮点数(小数)。
再来看另外一个有趣的问题,代码如下:
#include#includeint main(){int a;a=1;a=2;printf("%d",a);return 0;}
请问计算机执行完上面的代码,将会输出1还是2?
尝试过后就会发现,计算机显示的是2,也就是说小房子a中的值最终为2.通过观察代码我们可以发现,我们首先是将1放入小房子a中,紧接着我们又将2放入小房子a中,那么请问原来小房子中的1去哪里了呢?,答案是被信赖的2给覆盖掉了,原来的1已经消失了。也就是说,小房子a中有且仅能存放一个值,如果多次给小房子a复制的话,小房子a中存放的实在是最后一个的值,例如:
#include#includeint main(){int a;a=1;a=2;a=3;a=4;a=5;a=6;printf("%d",a);return 0;}
计算机运行完上面这段代码最终将输出6.也就是说小房子a中的值最终为6,前五次的赋值全部被覆盖了。
一个更有意思的问题来了,请继续看下面的代码:
#include#includeint main(){int a;a=7;a=a+1;printf("%d",a);return 0;}
计算机运行完上面这段代码最终将输出6.也即是说小房子a中的值最终为8.计算机在执行a=7这句话后,小房子a
存储的值为7,之后计算机又紧接着运行了a=a+1这句话。运行完a=a+1这句话后,小房子的值就变化为8了。也就是说a=a+1这句话的作用是把小房子a中的值在原本的基础上增加了1,我们来分析一下这句话。
a=a+1这句话计算机分两步执行,这句话中有两个操作符,第一个是“+”号,另一个是“=”(赋值号),因为+号的优先级别要比“=”要高,因此计算机先执行a+1,此时小房子a中的值仍然为7,所以a+1的值为8.紧接着计算机就会执行复制语句,将计算机的值8再赋值给a。此时a的值就更新为8了。
第一节:C语言编程之《让计算机开口说话》
第二节:C语言编程之《让输出带有颜色》
第三节:C语言编程之《用计算机做加法》