字符串+转义字符+注释
字符串
- "hellow word.\n" 这种由双引号引起来的一串字符称为字符串字面值,或简称字符串
- 注:字符串的结束标志是一个\0的转义字符。在计算机字符串长度的时候\0是结束标志,不算作字符串的内容
字符数组
- 数组是一组形同类型的元素
- 由单引号引起的是一个数字,由花括号括起来的是一串数组
- 符串在结尾的位置隐藏了一个\0的字符
- \0是字符串的结束标志
#include<string.h>
#include <stdio.h>
int main(){
//字符数组-数组是一组形同类型的元素
//字符串在结尾的位置隐藏了一个\0的字符
//\0是字符串的结束标志
//可以按f10调试,然后打开监视观察字符数组arr
char arr[]="abc";
char arr1[]={'a','b','c'};//由单引号引起的是一个数字,由花括号括起来的是一串数组
char arr2[]={'a','b','c','\0'};
//打印字符串
printf("%s\n",arr);//输出abc
printf("%s\n",arr1);//输出除了abc还有,因为没有\0这个结束标志,所以会继续输出后面内存空间里的未知内容
printf("%s\n",arr2);//输出abc
return 0;
}
运行结果:
字符串的长度
- 格式:strlen("xxx");
- strlen=string length需要引用头文件#include
#include <stdio.h>
#include<string.h>
int main() {
//求字符串长度
int arr3 = strlen("abc");//strlen=string length需要引用头文件#include<string.h>
printf("%d\n", arr3);//会输出3,字符串的结束标志仅仅是结束标志,计算字符串长度的时候不包含\0
return 0;
}
运行结果:
转义字符
- 转义字符就是转变了字符原本的意思
常见转移字符有:
转义字符 | ||
转义字符 | 意义 | ASCII码值(十进制) |
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 代表一个反斜线字符'\' | 092 |
\' | 代表一个单引号(撇号)字符 | 039 |
\" | 代表一个双引号字符 | 034 |
\? | 代表一个问号 | 063 |
\0 | 空字符(NULL) | 000 |
\ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
\xhh | 十六进制所代表的任意字符 | 十六进制 |
- “\ddd”ddd表示1~3个八进制的数字。如:\130X
- "\xdd"dd表示2个十六进制数字。如:\x30 0
#include <stdio.h>
int main() {
printf("abc\nde\n");//会吧\n这两个字符组成一个换行
printf("%c\n",'\'');//系统会默认前边两个单引号是一组,后边一个单引号缺少,报错,如果加上\会把单引号作为字符来输出
printf("c:\test\test\n");//系统会将\t作为转义字符水平制表来输出:c: est est
printf("c:\\test\\test\\n");//系统会输出c:\test\test
printf("%d\n", 100);//打印数值
printf("%c\n", 'a');//打印字符
printf("%s\n", "abc");//打印字符串
//“\ddd”ddd表示1~3个八进制的数字。如:\130X
//"\xdd"dd表示2个十六进制数字。如:\x30 0
printf("%c\n", '\x30');//48-'0'字符
printf("%c\n", '\130');//8进制130对应的十进制数在ACSLL码中的字符-X
return 0;
}
运行结果:
ASCLL码
- 每一个字符都有一个值——ASCII值
注释
- 注释快捷键:ctrl + k ——ctrl + c
- 注释快捷键:ctrl + k ——ctrl + u
- 注释是用来解释复杂代码的
- "//"这种注释方法是C++的注释风格
- "/* */"是C语言的注释风格-不支持嵌套注释
#include <stdio.h>
int main() {
/*C语言的注释风格
int a = 2;
printf("变量a的值为:%d\n");
*/
//C++的注释风格
//int a = 2;
//printf("变量a的值为:%d\n");
}