1,字面量
3就是3,永远也不会代表4。
#include<stdio.h>
int main(){
printf("%d\n",3);
return 0;
}
效果:
2,const常量
当一个变量被const修饰,它就不能再次赋值。
本质还是变量,不过无法被赋值。
这段代码会报错:
#include<stdio.h>
int main(){
const int a=3;
a=4;
printf("%d\n",a);
return 0;
}
报错内容:
3,#define常量
#define可以定义一个常量。
#include<stdio.h>
#define hello "你好,世界!"
int main(){
printf("%s\n",hello);
return 0;
}
效果:
扫描二维码关注公众号,回复:
13990329 查看本文章
4,枚举常量
枚举代表一个可罗列的值,比如:
性别:male,female。
星期:1到7。
enum Gender{
Male,Female
}
male和female本质是0和1,用单词表示,有语义,可读性好。
简单使用:
#include<stdio.h>
enum Gender{
Male,Female
};
int main(){
enum Gender a=Male;
enum Gender b=Female;
printf("%d,%d\n",a,b);
return 0;
}
效果:
5,字符串
字符串由双引号包围。
"你好,世界!"
本质是char数组,而且以\0结尾,\0不在内容当中。
\0代表字符串的结束。
可以直接赋值给char数组,然后以%s字符串打印出来:
#include<stdio.h>
int main(){
char a[]="你好,世界!\n";
printf("%s",a);
return 0;
}
效果:
遇到\0就会结束:
#include<stdio.h>
int main(){
char a[]={
'a','b','c','\0','d'};
printf("%s\n",a);
return 0;
}
效果:
图中,d没有被输出。
转义字符
一些有含义的字符,本身不方便表示,就转变了一下:
换行:\n
tab位:\t
字符串结束:\0
单引号:\'
双引号:\"
斜线:\\
简单使用:
#include<stdio.h>
int main(){
printf("%c\n",'\\');
printf("%c\n",'\'');
printf("%c\n",'\"');
return 0;
}
效果:
字符的存储方式
ASC码,当char以%d输出时就会看到:
#include<stdio.h>
int main(){
printf("%d\n",'A');
printf("%d\n",'a');
printf("%d\n",'0');
return 0;
}
效果: