常量:整型、字符
C语言中的常量分为以下几种:
- 字面常量 实型常量是带小数位的数值
- const修饰的常变量
- #define定义的标识符常量(符号常量) 字符用 ‘ ’
- 枚举常量 字符串用 “ ”
#include <stdio.h>
//举例
enum sex
{
MALE,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
//字面常量演示
3.14; //字面常量
1000; //字面常量
//const 修饰的常变量
const float pai = 3.14f; //这里的pai是const修饰的常变量
pai = 5.14; //是不能直接修改的!
//#define的标识符常量 演示
#define MAX 100
printf("max = %d\n", MAX);
//枚举常量演示
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
//注:枚举常量的默认值是从0开始,依次向下递增1的
return 0;
}
注:上面例子上的pai被称为const修饰的常变量,const修饰的常变量在C语言中只是在语法层面限制了变量pai不能直接被改变,但是pai本质上还是一个变量的,所以叫常变量。
字符串 + 转义字符 + 注释
字符串
" hello world.\n "
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。
例1
#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{
char arr1[] = "abc";
char arr2[] = {'a', 'b', 'c'};
char arr3[] = {'a', 'b', 'c', '\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
运行后的结果:
abc
abc烫烫烫烫蘟bc
abc
例2
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[] = "abc";
char arr2[] = {'a', 'b', 'c'};
char arr3[] = {'a', 'b', 'c', '\0'}; //数组后面加'\0'
//求一下字符串的长度
printf("%d\n", strlen(arr1));
printf("%d\n", strlen(arr2));
printf("%d\n", strlen(arr3)); //结果才是3
return 0;
}
运行的结果:
3
15 ←随机值(arr2这组的运行结果)