首页 > 其他分享 >C语言转义字符

C语言转义字符

时间:2023-11-15 19:59:04浏览次数:31  
标签:字符 输出 一个 C语言 转义字符 ASCII 光标

在我们实际生活中,有一些特殊的字符,它们并没有实际的意义,但是我们需要用到它们,比如换行、制表符等。在C语言中,我们可以使用转义字符来表示这些特殊的字符。转义字符是以反斜杠\开头的字符,比如\n表示换行,\t表示制表符。下面是一些常用的转义字符:

转义字符 含义
\n 换行
\t 制表符
\\ 反斜杠
\" 双引号
\' 单引号
\? 问号
\a 警报
\b 退格
\f 换页
\r 回车
\v 垂直制表
\ooo 八进制ASCII
\xhh 十六进制ASCII
\0 空字符

转义字符表示一个字符,只是表现形式是两个字符组成的。下面分别解释一下这些转义字符的含义:

首先我们明确字符输出的具体过程。程序在执行的时候,会将字符串中的每一个字符输出到屏幕上,然后将光标移动到下一个字符的位置,再次输出,直到字符串的最后一个字符输出完毕。输出时光标所在的位置如果有字符,那么会覆盖掉原来的字符。

  • \n:换行,将光标移动到下一行的行首。
    • 当前一个字符输出后,遇到了\n,那么光标会移动到下一行的行首,然后输出下一个字符。
  • \t:制表符,将光标移动到下一个制表符位置。
    • 当前一个字符输出后,遇到了\t,那么光标会移动到下一个制表符位置,然后输出下一个字符。
    • 制表符(也叫制表位)的功能是在不使用表格的情况下在垂直方向按列对齐文本。
    • 一般情况下,制表符的位置是每隔8个字符。ASCII码中的字符每个占一个字符位置,汉字每个占两个字符位置。
  • \\:反斜杠,输出一个反斜杠。
    • 当前一个字符输出后,遇到了\\,那么输出一个反斜杠。
  • \":双引号,输出一个双引号。
    • 当前一个字符输出后,遇到了\",那么输出一个双引号。
  • \':单引号,输出一个单引号。
    • 当前一个字符输出后,遇到了\',那么输出一个单引号。
  • \?:问号,输出一个问号。
    • 当前一个字符输出后,遇到了\?,那么输出一个问号。
  • \a:警报,输出一个警报。
    • 当前一个字符输出后,遇到了\a,那么输出一个警报。
    • 警报的具体表现形式是:发出一声嘟的声音。
  • \b:退格,将光标移动到上一个字符的位置。
    • 当前一个字符输出后,遇到了\b,那么光标会移动到上一个字符的位置,然后输出下一个字符。
  • \f:换页,将光标移动到下一页的行首。
    • 当前一个字符输出后,遇到了\f,那么光标会移动到下一页的行首,然后输出下一个字符。
    • 一般在控制台中,这个转义字符没有效果。在一些文本编辑器中,这个转义字符的效果是将光标移动到下一页的行首。
  • \r:回车,将光标移动到当前行的行首。
    • 当前一个字符输出后,遇到了\r,那么光标会移动到当前行的行首,然后输出下一个字符。
  • \v:垂直制表,将光标移动到下一个垂直制表符位置。
    • 当前一个字符输出后,遇到了\v,那么光标会移动到下一个垂直制表符位置,然后输出下一个字符。
    • 具体的效果是将光标向下移动一个字符位置。
  • \ooo:八进制ASCII,输出一个八进制ASCII码对应的字符。
    • 当前一个字符输出后,遇到了\ooo,那么输出一个八进制ASCII码对应的字符。
    • 八进制ASCII码是指以八进制表示的ASCII码,比如\141表示的是字符a
  • \xhh:十六进制ASCII,输出一个十六进制ASCII码对应的字符。
    • 当前一个字符输出后,遇到了\xhh,那么输出一个十六进制ASCII码对应的字符。
    • 十六进制ASCII码是指以十六进制表示的ASCII码,比如\x61表示的是字符a
  • \0:空字符,输出一个空字符。
    • 当前一个字符输出后,遇到了\0,那么输出一个空字符。
    • 空字符的ASCII码是0,所以也可以写成\0
    • 注意,空字符和空格是不同的,空格的ASCII码是32。

标签:字符,输出,一个,C语言,转义字符,ASCII,光标
From: https://www.cnblogs.com/BryceAi/p/17834628.html

相关文章

  • C语言中的关键字
    C语言中有32个关键字,关键字不能用作变量名、函数名、数组名等标识符。关键字的作用是用于定义变量、函数、结构体、联合体等。需要注意,这些关键字都是小写的。这些关键字分别是:auto:自动变量,用于定义自动变量。break:跳出循环,用于跳出循环。case:用于switch语句中,表示某个值......
  • C语言新年祝福程序设计
    以下是一个基于C语言的简单新年祝福程序代码,通过打印特定的字符画和文字,为用户送上新年的祝福:#include<stdio.h>intmain(){printf("\n");printf("\n");printf("__________________________________\n");printf(&qu......
  • 【C语言】argc 和argv
    主函数的标准写法有两种:1//第一种2intmain(void)34//第二种5intmain(intargc,char*argv[])6//第二种等价于7intmain(intargc,char**argv) 而对于我们常看到的1intmain()在一些编译器里是不支持的argc& argv的意义int argc 代表了所输......
  • C语言如何一次给全部数组元素赋初值?
    在C语言中,可以在声明数组的同时一次性地为所有元素赋初值。下面是一个例子:c复制代码intarr[5]={1,2,3,4,5};在这个例子中,我们创建了一个包含5个整数的数组,并且一次性地为所有元素赋了初值。另外,需要注意的是,如果你在数组初始化后尝试更改数组中的元素值,那么该数组将不再是常......
  • C语言程序设计入门教程4
    1define#定义常量和宏(1)#define定义的标识符常量(eg:MAX=100)(2)define定义宏--宏:带参数eg:比较俩数大小用函数方式表示intMax(intx,inty)//定义函数方式{if(x>y) returnx; else returny;}用宏表示//定义MAX(x,y)=(x>y?x:y)#defineMAX(x,y)(x>y?x:y)//定义MA......
  • 学习C语言的一天(2):简易扫雷的实现
    思路:建立三个文件,头文件用于声明函数和保存程序的声明,源文件(1)用于函数的具体实现,源文件(2)用于主函数的实现建立扫雷菜单。建立2个二维数组,一个用于布置雷(下文称雷二),一个用于打印棋盘(下文称棋盘二);最终效果如下:(实际效果中保留上面的棋盘,而下面的布置雷的效果不需要打印,这里打印是......
  • C语言0长度数组
    一、零长度数组概念众所周知,GNU/GCC在标准的C/C++基础上做了有实用性的扩展,零长度数组(ArraysofLengthZero)就是其中一个知名的扩展.多数情况下,其应用在变长数组中,其定义如下structPacket{intstate;intlen;charcData[0];//这里的0长结构体就......
  • C语言程序设计教程3
    1强制类型转换当类型不同时可能导致数据丢失所以需要强制类型转换所以需要强制类型转换,()中间放需要转变的类型2关系操作符>,<,=;>=(大于等于);<=(小于等于);!=(相当于数学里面的“不等于”用于测试不相等);==(用于测试相等),一个=叫做赋值操作符3逻辑操作符&&(逻辑与,”并且“,全真则真,有一......
  • 实验4 C语言数组应用编程
    一、实验目的能正确使用c语法规则定义、初始化、访问、输入/输出一维/二维数值型数组能正确使用c语法规则定义、初始化、访问、输入/输出一维/二维字符数组能正确使用数组作为函数参数能熟练使用常用的字符串处理函数针对具体问题场景,能灵活用数组组织数据,应用、设计算法编......
  • C语言——共用体union存储结构与大小端存储模式
    1、大小端存储模式大端:低位数据字节存储在高地址小端:低位数据字节存储在低地址注释:例如int的权重低的8bit,低位指的是00000001000000000000000000000000000000012、共用体union存储结构共用体内每段数据元素从低地址开始存储。注释:数组的每个元素的地址随着索引的增大......