10.10日上课简记
1.变量
在程序执行过程中,其值可以改变的量。
#include<stdio.h>
int main()
{
int i;
int j;
int sum=0;
scanf("%d%d",&i,&j);
sum=i+j;
printf("%d\n",sum);
return 0;
}
该例中,i,j,sum均为变量,它们是变量的名字,它们空间中存储的值称为变量的值。变量必须先声明再使用。语句int i;和语句int j;分别声明了变量i和j。而语句int sum=0;在声明变量sum的时候又给它赋值为0,称为初始化。变量的定义是在程序的执行过程中,其值可以改变。本例中的sum最初的值是0,但运行到sum=i+j;语句后,sum的值发生了改变,所以它为变量。
有同学会说,i和j是不是变量?它们当然也是变量。在声明语句中int i和int j中,尽管没有给它们赋初值,但它们的空间里会有一个随机值(上节讲过),然后在scanf中又给它们输入了新的值,所以它们的值在运行过程中可以进行改变,因而是变量。假如上述程序中没有scanf语句,也就是说i和j的空间中一直存储的是最初的随机值,它们还是变量,因为人家的值可以改变,是程序中没有进行改变而已。
通常情况下,相同类型的变量可以这样写:int i, j, sum=0;
2.常量
与变量的定义相反,常量是指在程序执行过程中,其值不能改变的量。
例如:100就是一个整型常量,无论太阳升起还是落下,100永远就是100.
其实,对于我们每个学生来说,假设程序执行时间是大学四年,在这四年里,我们的学号(假设是20180634)它就是常量,同理我们的性别(例如:男)和名字(张三)也是常量,而我们的身高、体重和知识量就是变量。
此外,还有实型常量,例如0.1;2.1E5。无论是在赤道还是两极,这两个数字也变不成0.2。有同学会说,0.1+0.1就变成0.2了,但0.1还是0.1,你不能说它是0.2.
综述:常量就是一个具体的值。例如:int sum=0;该语句中,sum是变量,它的值可以改变,而0是常量,0的值不能改变。
还有字符常量:’A’,’0’。转义字符也是常量,例如’\n’就是一个转义字符,功能是换行,因为换行这个符号无法从键盘录入,所以聪明的编程人发明了转义字符,这是智慧的结晶。
字符串常量:”lcy”,”Big Date’
还有一个比较好用的符号常量。
#define PI 3.14
例如:
#include<stdio.h>
int main()
{
double r,s;
scanf("%lf",&r);
s=2*3.14*r;
printf("s=%lf\n",s);
return 0;
}
思考:假设程序上千行,里面涉及到50个地方用到圆周率。最初的时候设置圆周率为3.14。某一天,圆周率需要设置为3.1,你该怎么做?50个地方一个一个去改吗?还是。。。。。。