常量
昨天我们编写了计算小明10年后的程序,我们先来回顾一下:
#include<stdio.h>
int main()
{
int age= 0;
printf("小明今年多少岁:");
scanf("%d",&age);
int tenyear = year + 10;
printf("小明十年后%d岁",tenyear);
return 0;
}
那么在int tenyear = year + 10;
这行代码中的10是一个固定的数值。其实我们在编写程序的过程中应该把10放到常量当中去。
常量
常量是固定不变的数,是常数。直接写在程序里,我们称作直接量(literal) 。
所以在程序里面我们更好的方式就是定义一个常量:
const int TEN = 10;
这样写之后我们的程序就可以改为这样:
#include<stdio.h>
int main()
{
const int TEN = 10;
int age= 0;
printf("小明今年多少岁:");
scanf("%d",&age);
int tenyear = age + TEN ;
printf("小明十年后%d岁",tenyear);
return 0;
}
这样写有助于别人阅读你的代码,否则你突然出现一个莫名其妙的数字我们不容易理解。
补充:在程序中出现莫名的数字我们称之为magic number
const
const是一个修饰符,加在int的前面,用来给这个变量加上一个const(不变的)的属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了。
int tenyear = year + TEN ;
如果你试图对常量做修改,把它放在赋值运算符的左边,就会被编译器发现,指出为一个错误。
#include
int main()
{
const int TEN = 10;
int age= 0;
TEN = 20;
printf("小明今年多少岁:");
scanf("%d",&age);
int tenyear = age+ TEN ;
printf("小明十年后%d岁",tenyear);
return 0;
}
#define 预处理器
在上面我们使用了 const 关键字,来定义我们的常量,当然我们业课一使用#define预处理器来定义常量。
#include<stdio.h>
#define TEN 10
int main()
{
int age= 0;
printf("小明今年多少岁:");
scanf("%d",&age);
int tenyear = age + TEN ;
printf("小明十年后%d岁",tenyear);
return 0;
}
下面是使用 #define 预处理器定义常量的形式:
#define identifier value
字符常量
在常量中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,被用来表示如换行符(\n)或制表符(\t)等我们将它们称作字符常量。
下表列出了一些这样的转义序列码:
转义序列 | 含义 |
---|---|
\ | \ 字符 |
’ | ’ 字符 |
" | " 字符 |
? | ? 字符 |
\a | 警报铃声 |
\b | 退格键 |
\f | 换页符 |
\n | 换行符 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ooo | 一到三位的八进制数 |
\xhh . . . | 一个或多个数字的十六进制数 |