C语言初阶之转义字符

您所在的位置:网站首页 转义字符十六进制是什么 C语言初阶之转义字符

C语言初阶之转义字符

2024-06-29 11:09| 来源: 网络整理| 查看: 265

在这里插入图片描述

转义字符 一、什么是转义字符二、简单转义字符1、空字符2、警报符3、退格符4、换页符5、换行符6、回车符7、水平制表符8、垂直制表符9、反斜杠字符10、问号字符11、单引号字符和双引号字符 三 、八进制转义字符四、十六进制转义字符五、总结

一、什么是转义字符

转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C语言中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符;在平常的代码编写中,printf函数经常会用到。 转义字符虽然由两个及两个以上的字符构成,但它表示的却是单个字符 简单转义字符(Simple escape sequence)

转义字符含义说明\0空字符(NULL)在c语言中代表“字符串结束符”\a警报符(alert)发出听觉或视觉上的警报\b退格符(backspace)将当前位置移到前一列\f换页符(form feed)换页,将当前位置移到下一页开头\n换行符(new line)换行,将当前位置移到下一行开头\r回车符(carriage return)将当前位置移到本行开头\t水平制表符(horizontal tab)将当前位置移动到下一个水平制表位置\v垂直制表符(vertical tab)将当前位置移动到下一个垂直制表位置\\字符\\?字符 ?\’字符 ’\"字符 "

八进制转义字符(Simple escape sequence)

转义字符含义说明\dddddd是3位八进制数一般来说是在ASCII中的八进制数值为ddd的字符

十六进制转义字符(Simple escape sequence)

转义字符含义说明\xhhhh是2位十六进制数一般来说是在ASCII中的十六进制数值为hh的字符 二、简单转义字符 1、空字符

空字符\0 它的存在是为了告诉编译器’\0’是空字符,而不是字符0. 字符’0’对应的ASCII码为00110000,而’\0’对应的ASCII码为00000000;在C语言中通常用一个字符数组来存放字符串,’\0’ 是字符串的结束标志,任何字符串之后都会自动加上’\0’。如果字符串末尾少了‘\0’转义字符,则在输出时可能会出现乱码问题。 比如:

int main() { char str1[] = {"abc"}; char str2[] = {"abc\0"}; return 0; }

上述代码中str1与str2在打印输出时均为abc, 包括在使用库函数strlen计算时,str1与str2均为3, 原因是printf函数与strlen函数均认定’\0’ 是字符串的结束标志; 但在使用单引号进行赋值的时候,这两个函数可能会出现一些问题。 比如:

int main() { char str1[] = {'a','b','c'}; char str2[] = {'a','b','c','\0'}; return 0; }

在上述代码中如果我们使用printf函数与strlen函数进行打印输出和计算str1时, 该数据类型会丢失’\0’ ,此时打印的时候可能会出现乱码情况和计算出随机值的情况, 这时如果非要用单引号进行赋值的话,建议使用str2的写法。

在使用库函数sizeof进行字符串计算时,输出个数会比实际字符个数多1, 比如:

int main() { char str[] = {"abc"}; return 0; }

在上述代码中,如果使用sizeof函数对字符串str进行运算时,得出的结果应该是4,而不是3,所以如果使用固定值对元素个数进行赋值时,在方括号[]中应该输入的是4,而不是3。

2、警报符

警报符\a C语言中的转义字符\a(响铃)是在标准输出设备输出字符’\a’时,系统自带的扬声器(或蜂鸣器)会发出“叮”的一声(有些环境不发出声音,只令画面闪烁)

#include int main() { printf("\a你好"); return 0; }

在上述输出代码中输出你好时,你会听见“叮”的一声(不同操作系统提示音可能不同);

3、退格符

退格符\b 输出退格符\b后,当前显示位置就会移动到当前所在行的前一个字符。 并没有规定当前显示位置处于所在行的开头时输出退格符会怎么样,这是因为光标在某些环境下回不到前一行。那么我们怎么运用呢? 比如:

#include int main() { printf("12345\n67\b\b\b\b89"); return 0; }

效果:

12345 89

在上述代码中在12345后使用换行符\n,正常我们使用两个退格符就能达到上述效果, 而在这里我使用了4个,是因为不论使用几个,退格符都不会再向上访问了。

下面我们再写一个有趣的代码:

#include #include int main() { printf("HelloWorld!"); for (int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3