先看一个例子:
输入圆的半径,输出圆的周长。
设半径为r,周长为c,则:c=23.1415926r
#include <stdio.h>
#define PI 3.1415926 //将PI定义为后面的3.1415926
main()
{
float r,c; //r表示半径,c表示周长
scanf("%f",&r); //scanf将从键盘获取一个值存到r中
c=2*PI*r; //周长公式
printf("c=%f\n",c); //输出
}
结果:
在这段程序中PI、2是C语言中的常量,c、r是这段程序的变量。接下来介绍常量与变量。
- 常量与变量简单介绍
在c语言中,以数据在程序中能否被改变为依据,将数据分为常量与变量两类。
常量——是指在程序中,其数值不能改变的量
分为两类:
直接常量——指C语言中的数值常量和字符常量
符号常量——指C语言中用标识符定义的常量
变量——是以某标识符为名字,其值可以改变的量 - 常量具体了解
直接常量:在C语言中以本身的表示形式出现,有整型常量、实型常量、字符型常量、字符串型常量等形式。
例如:
f=i+2; //2是整型常量
b=3.14*a; //3.14是实型常量
printf("Hello world"); //"Hello world"是字符串常量
'*' 'a' //'*' 'a'是字符常量
符号常量:在C语言中可以将标识符定义成一个常量。
格式:#define 标识符 常量数据
例如:
#define PI 3.1415926
#define F "false"
符号常量定义后,在程序处理时,凡是遇到该标识符,都将替换成对应的常量。
3.变量具体了解
在C语言中,变量代表计算机内存中的某以存储空间,这个存储空间可以存放不同的数据。
变量的使用要遵循先定义后使用的原则。
定义变量的一般格式为:
类型标识符 变量名1,变量明2…变量名n;
例如;
int a,b; //定义两个整型变量a和b
float x,y; //定义两个实型变量x和y
char c; //定义一个字符型变量c
类型标识符——声明了变量的类型,决定了程序为变量分配的内存单元字数及变量的取值范围。
变量名:遵循标识符命名规则,标识符只能由数字、字母、下划线组成,首位必须是字母或下划线。
例如:
a1(√)、book_1(√)、_no(√)、7_paa(❌)
变量名的长度:变量名的有效字符最多是31个(有的编译系统32个),有效字符相同的变量名都被视为同一个变量名。
变量名有大小写之分。如:ADD、add、Add是三个不同变量名。
变量名不能使用C语言规定的关键字,关键字如下表:
例:定义两个整型变量a和b,分别赋值5和7,将其值交换。
让我们先分析一下,有的人可能会想a和b互换不久行了,这时候想b赋值给a,这时候a=7,a再赋值给b,b还是7,显然不行,需要借助一个变量c,正确代码如下
#include <stdio.h>
main()
{
int a,b,c;
a=5;b=7;
c=a;
a=b;
b=c;
printf("a=%d\nb=%d",a,b);
}
我觉得代码很简单,就不解释了
结果:
变量“初始化”
定义变量后,程序便在内存中为变量分配相应的存储空间,但此时,存储空间的数据是随机的。我们需要给变量重新赋值,这个过程称为变量的初始化。
变量初始化的方式
//定义的同时赋值
int a=10;
float x=2.5;
char c='#';
//先定义再赋值
int a;
float x;
char c;
a=10;
x=2.5;
c='#';
//多重赋值,同类型
int a,b,c;
a=b=c=10;
a=(b=(c=10));//从右往左
变量的“生存周期”
当变量被定义,程序便在内存中为变量分配相应的存储空间
通过赋值语句,使变量获得初始值
程序运行中,变量存放的值可能会发生变化
程序结束后,释放所占用的内存空间
变量的分类
下面大家来找茬☺
#include <stdio.h>
main()
{
int a;
a=3.14;
float f;
f=1.23;
printf("%d\n",a);
printf("f=%f\n",f);
}
报错:F:\C\C-programming\bianliang\bianliang.c(5) : warning C4244: ‘=’ : conversion from 'const double ’ to 'int ', possible loss of data
解析:问题出现在a=3.14;,a已经被定义为整型,而3.14是浮点型
报错:F:\C\C-programming\bianliang\bianliang.c(7) : error C2065: ‘f’ : undeclared identifier
解析:问题出现在float f;,这句话本身没有问题,但是在C语言中不管是哪种类型都需要定义完再赋值
正确代码:
#include <stdio.h>
main()
{
int a;
float f;
a=3;
f=1.23;
printf("a=%d\n",a);
printf("f=%f\n",f);
}
结果:
这一节就到这了!!!