在我们学习C语言的过程中,常量以及变量是非常重要的一个知识点。因为程序中出现的常量是要存放在计算机的储存单元中的,要确实它的字节大小,所以常量的类型也是有非常多的。C语言中常量和变量的定义也有所差异。
C语言中常量分为以下几种:
下面用代码举例
#include
//举例
enum Sex //定义枚举类型
{
MALE,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
//字面常量演示
13.27;//字面常量
999;//字面常量
//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 word.\n”
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串 内容。
#include
int main()
{
char arr1[] = "bit";
char arr2[] = { 'b', 'i', 't' };
char arr3[] = { 'b', 'i', 't', '\0' };
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
运行结果
注:用单引号引用字符来写字符串一定要加“\0”.上面的例子突出“\0”的重要性。
假如我们要在屏幕上打印一个字符串:“http\test\x03\n”
#include
int main()
{
printf("http\test\x03\n");
return 0;
}
打印结果:
为什么会出现这种情况呢,这就必须要了解转义字符。
字符集(Character Set)为每个字符分配了唯一的编号,我们不妨将它称为编码值。在C语言中,一个字符除了可以用它的实体(也就是真正的字符)表示,还可以用编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)。
转义字符以\
或者\x
开头,以\
开头表示后跟八进制形式的编码值,以\x
开头表示后跟十六进制形式的编码值。对于转义字符来说,只能使用八进制或者十六进制。
下面给出转义字符表
那我们要打印出一些特殊字符应该怎么做呢?
int main()
{
printf("%c\n",'\''); //打印出一个单引号
printf("%s\n", "\""); //打印出一个字符串,字符串内容为“\"”
return 0;
}
运行结果为:
小挑战:这个打印结果为什么呢?
printf("%d\n", strlen("c:\test\628\test.c"));
提示:\62被解析成一个转义字符。
为什么会有注释呢,说白了,就是让你以后维护或查看程序时候,知道这段代码是干什么用的包括以后就业,企业有注释规范,比如,一段程序百分之10-30都是注释,便于其他人员查看。还有很多规范,命名规范等等。
下面用代码举例
#include
int Add(int x, int y)
{
return x+y;
}
/*C语言风格注释
int Sub(int x, int y)
{
return x-y;
}
*/
int main()
{
//C++注释风格
//int a = 10;
//调用Add函数,完成加法
printf("%d\n", Add(1, 2));
return 0;
}
注释有两种风格:
缺陷:不能嵌套注释
可以注释单行也可以注释多行
在C语言中主要使用if–else;和switch case语句
if-else语句
基本形式是:
if(表达式) 语句1
else 语句2
下面用代码举例
#include
int main()
{
int a;
scanf("%d",&a); //输入一个数,如果这个数小于0,打印0;大于等于0,打印1
if(a<0)
printf("0");
else
printf("1");
}
if-else语句的嵌套
下面用代码举例:
#include
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
printf("未成年\n");
else if (age >= 18 && age < 28)
printf("青年\n");
else if (age >= 28 && age < 45)
printf("壮年\n");
else if (age >= 45 && age < 70)
printf("老年\n");
else
printf("长寿\n");
return 0;
}