常量:在程序运行过程中,其值不可改变的量称为常量
3.1.2在C语言中常量与变量是有区别的
我所知道的C语言常量有一下几种:
- 字面常量
- const修饰的常变量
- #define 定义的标识符常量
- 枚举常量
1.字面常量
int main()
{
//此处的13.14与99就是字面常量
13.14;
99;
return 0;
}
2.const修饰的常变量
int main()
{
//int num = 10;
//num = 23;
//printf("num=%dn", num);
return 0;
const int num = 10;//这里的num是const修饰常量
num = 23;
printf("num=%dn", num);
}
上图是在编译器中编写出现的情况。
看图可知const修饰的变量不能直接修改
3.#define 定义的标识符常量
标识符常量就是运用#define 来定义,例如:#define m 10
#define max 10
int main()
{
printf("max=%dn",max);
return 0;
}
4.枚举常量
枚举变量常用于能够一一列举的常量 它的关键字是 enum
enum Sex
{
YIN,
ZI,
LI
};
int main()
{
printf("%dn", YIN);
printf("%dn", ZI);
printf("%dn", LI);
return 0;
}
由图可看出:枚举常量的默认是从0开始,依次向下递增1的
3.2字符串+注释+转译
3..2.1字符串
"@尹子里"
这种由双引号引起来的一串字符我们叫做字符串 ,字符串里面有一个结束标志 的转义字符。
例如;
int main()
{
char arr1[] = "yin";//字符串数组 数组是一组相同类型的元素
char arr2[] = { 'y', 'i', 'n' };
char arr3[] = { 'y', 'i', 'n',' ' };
printf("%sn", arr1);
printf("%sn", arr2);
printf("%sn", arr3);
return 0;
}
这一段代码运行后没有结束转义字符就会持续打印(这个打印是随机的) ,而字符串数组后面会默认含有一个 的转义字符,这里介绍一个函数strlent()求字符串的长度
3.2.2注释 1.代码中有不需要的代码可以直接删除,也可以注释掉 2. 代码中有些代码比较难懂,可以加一下注释文字 C语言:注释格式是 C语言注释存在一定安全隐患 :由图可知缺陷:不能嵌套注释
C++:注释 / / 此注释较方便好用 //xxxxxxxx 可以注释一行也可以注释多行 列如下图//int main()
//{
// char arr1[] = "yin";
// char arr2[] = { 'y', 'i', 'n' };
// char arr3[] = { 'y', 'i', 'n',' ' };
// printf("%sn", arr1);
// printf("%sn", arr2);
// printf("%sn", arr3);
// return 0;
//}
3.2.3转译
转译:就是运用字符的转义字符方式给其赋值,转译字符是已经失去本来意义的字符
例如:printf("%dn") 这里的n,加上字符""之后n就会失去他本来的意义,在这里表示换行。转译字符可以使用八进制'ddd',十六进制'xhh', 在C语言中有许多转义字符。
| 转义字符 | 意义 | ASCII码值(十进制) |
| ? | 在书写连续多个问号时使用,防止他们被解析成三字母词 | 063 |
| ' | 用于表示字符常量 | 039 |
| “ | 用于表示一个字符串内部的双引号 | 034 |
| \ | 用于表示一个反斜杠,防止它被解释为一个转义序列符。 | 092 |
| a | 警告字符,蜂鸣 | 007 |
| b | 退格符 | 008 |
| f | 进纸符 | 012 |
| n | 换行 | 010 |
| r | 回车 | 013 |
| t | 水平制表符 | 009 |
| v | 垂直制表符 | 011 |
| ddd | ddd表示1~3个八进制的数字。 如: 130 X | 3位八进制 |
| xdd | dd表示2个十六进制数字。 如: x30 0 | 2位十六进制 |



