转义字符和语句
11. 转义字符11.1 定义及作用也许在前⾯的代码中你看到 \n / \0 很纳闷是啥。其实在字符中有⼀组特殊的字符是转义字符转义字符顾名思义转变原来字符意思的字符。比如我们有字符n在字符串中打印的时候⾃然能打印出这个字符如下:如果我们修改⼀下代码在n的前⾯加上\,变成如下代码我们可以看到修改的前后代码输出的结果截然不同的那这是为什么呢这就是转义字符的问题\n 是⼀个转义字符表示换行的意思我们可以简单的理解为 \ 让 n 的意思发生了转变 n 本来是⼀个普通的字符被 \ 转义为换⾏的意思。再例如如果我想在屏幕上打印内容:龟叔说:人生苦短,我学python,这时我们应该怎样处理呢?如果我还像之前那样直接打印内容,请看效果:这显然不能满足我的需求,因为计算机并不能充分了解你的意图,只能单纯的按照顺序分配双引号的使用,那么这时使用转义字符就可以实现我们的需求,请看:11.2 代表性的转义字符C语⾔中像这样的转义字符还有⼀些具体如下下面是代码演示:#include stdio.h int main() { printf(%c\n, \); printf(%s\n, \); printf(c:\\test\\code\\test.c\n); //题目一 printf(%s,D:\\MyFiles\\2025\\test.c\r\n) //题目二 printf(\a); //是8 printf(%c\n, \130); //130是8进制转换成10进制是88以88作为ASCII码值的字符是x printf(%c\n, \x30); //x30中的30是16进制转换成10进制是48以48作为ASCII码值的字符是0 return 0; }这些ASCII码值是可以自己写代码验证的⼤家也可以自己验证。关于转义字符我们首先要了解然后要能在字符串中识别出来。11.3 两道练习题现在我们接着做两道题目来巩固一下知识点吧,看上方代码中的题目一和题目二,要求你分别数出它们之中字符串的长度题目一:其中所有的 \\ 都算作一个字符,可打印出字符 \ , \n 算一个字符,表示换行.故它的长度为:20.题目二: 除 \\ 和 \n 外, 这里面还有一个转义字符 \r ,是回车符 ,故它的长的是24.那么我上面给到的答案一定对吗?这是个值得思考的问题,这时回想起我在上面强调过的,使用双引号( )的字符串如果尾部没有 \0 的话,会自动在尾部加上 \0. 故所有上述答案应该在原有数值上再加一才是正确答案.是不是更加印象深刻了呢?12. 语句和语句分类C语⾔的代码是由⼀条⼀条的语句构成的C语⾔中的语句可为以下五类• 空语句• 表达式语句• 函数调⽤语句• 复合语句• 控制语句12.1 空语句空语句是最简单的⼀个分号就是⼀条语句是空语句。#include stdio.h int main() { ;//空语句 return 0; }空语句在语法上是一条完整语句常用于循环或条件判断中充当循环体表示 “暂时什么都不做”。例如在需要延时、占位或者后续再补充逻辑的场景中使用空语句可以避免语法报错。但随意使用空语句也可能造成逻辑错误比如多写了一个分号导致循环体提前结束。12.2 表达式语句表达式语句就是在表达式的后边加上分号。如下所示#include stdio.h int main() { int a 20; int b 0; b a 5; //表达式语句 return 0; }12.3 函数调⽤语句函数调用的时候也会加上分号就是函数调⽤语句。#include stdio.h int Add(int x, int y) //加法函数 { return xy; } int main(void) { printf(hehe\n);//函数调⽤语句 int ret Add(2, 3);//函数调⽤语句 return 0; }12.4 复合语句复合语句其实就是代码块成对括号中的代码就构成⼀个代码块也被称为复合语句。#include stdio.h void print(int arr[], int sz) //函数的⼤括号中的代码也构成复合语句 { int i 0; for(i 0; i sz; i) { printf(%d , arr[i]); } } int main() { int i 0; int arr[10] {0}; { for(i 0; i 10; i) //for循环的循环体的⼤括号中的就是复合语句 arr[i] 10 - i; printf(%d\n, arr[i]); } return 0; }12.5 控制语句控制语句⽤于控制程序的执行流程以实现程序的各种结构⽅式C语言支持三种结构顺序结构、选择结构、循环结构它们由特定的语句定义符组成C语言有九种控制语句。可分成以下三类1. 条件判断语句也叫分⽀语句if语句、switch语句2. 循环执⾏语句dowhile语句、while语句、for语句3. 转向语句break语句、goto语句、continue语句、return语句。这是C语言中非常重要的内容,需要着重学习,这里就先不给出范例,后期会给⼤家⼀⼀介绍控制语句。