常量
字面常量
用""包裹的内容
const修饰的常变量
#include <stdio.h>
int main() {
const int a = 0;
a = 10;
return 0;
}
define定义的标识符常量
#include <stdio.h>
#define MAX 100
int main() {
printf("%d", MAX);
return 0;
}
枚举常量
#include <stdio.h>
// 枚举常量
enum Color {
RED,
GREEN,
BLUE
};
int main() {
enum Color color = RED;
return 0;
}
字符串
用""双引号引起来的一串字符称为字符串字面值,或者简称字符串
字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候,\0是结束标志,不作为长度被记录
下述代码阐释了"\0"的重要性
#include <stdio.h>
#include <string.h>
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);
// strlen获取字符串的长度,会去内存中去找到"\0"的标识符,查找arr2的长度会一直去读取内存,
// 一直找到"\0"为止,就是字符串的长度
printf("%d\n", strlen(arr1));
printf("%d\n", strlen(arr2));
printf("%d\n", strlen(arr3));
return 0;
}
转义字符
可以转换字符原本的含义,叫做转义字符。C语言支持的转义字符如下
| 转义字符 | 释义 |
|---|---|
| ? | 在书写连续多个问号时使用,防止他们被解析成三字母词 |
| ' | 用于表示字符常量' |
| " | 用于表示一个字符串内部的双引号 |
| \ | 用于表示一个反斜杠,防止它被解释为一个转义序列符 |
| \a | 警告字符,蜂鸣 |
| \b | 退格符 |
| \f | 进纸符 |
| \n | 换行 |
| \r | 回车 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
| \ddd | ddd表示1~3个八进制数字,读取ASCII编码表,如\130 |
| \xdd | dd表示2个十六进制数字,如 \x30 |
#include <stdio.h>
int main() {
printf("C:\\Users\\G\\Desktop\\新建文本文档.txt");
printf("\n");
printf("\130");
return 0;
}
注释
在C语言中有两种注释方式:(vs编译器可以用//个人感觉更方便)
- 一种是以
/*开始、以*/结束的块注释(block comment)(不能嵌套) c语言风格的注释 - 另一种是以
//开始、以换行符结束的单行注释(line comment)c++风格的注释
#include <stdio.h>
int main() {
// 行注释
/*
块注释
*/
return 0;
}
分支语句
人生处处存在选择,选择不同,走的路也不同,在C中,也同理。
#include <stdio.h>
int main() {
int num;
// scanf("%d", &num); 新版vs系列认为scanf不安全,使用存在安全隐患,推荐使用vs2020标准的scanf_s
scanf_s("%d", &num);
if (num > 10) {
printf("你输入的数字大于10");
}
else {
printf("你输入的数字小于10");
}
return 0;
}
循环语句
循环语句:将一段代码循环重复去执行n次数叫做循环语句,例如显示生活中,老师罚抄xxx100遍,在C语言中也就是循环“抄写xxx”这个行为100次
while循环语句
#include <stdio.h>
int main() {
int num = 0;
while (num < 10) {
printf("num的值为%d\n",num);
num = num + 1;
}
}