适合初学者的C语言转义字符讲解

什么是转义字符

今天我们来了解一下转义字符,转义字符顾名思义就是转变意思。

现在了解一下这些字符:

转义字符      释义
    \?        在书写连续多个问号时使用,防止他们被解析成三字母词
    \'        用于表示字符常量'
    \“        用于表示一个字符串内部的双引号
    \\        用于表示一个反斜杠,防止它被解释为一个转义序列符。
    \a        警告字符,蜂鸣
    \b        退格符
    \f        进纸符
    \n        换行
    \r        回车
    \t        水平制表符
    \v        垂直制表符
    \ddd      ddd表示1~3个八进制的数字。 如: \130 X
    \xdd      dd表示2个十六进制数字。 如: \x30 0

为什么要使用这些转义字符

我们来说一下三字母词(过去有,现在使用的编译器不使用它了,所以就演示不了了),如果我们要打印一些字符,比如??),在三字母词中它对应的符号是]

??) --> ]
     ??( --> [

表示的是你本来想要打印的是??) 这三个符号,但是在编译器看来,它们是],所以它会给你打印出],而不是??)

那么你就想要打印出 ??) 怎么办呢?

我们只需要把??)前加一个 \

\?\?)
//转义字符  \?

它可以让 变成不是三字母词中的,让它老老实实的就是一个?,所以编译器就不会打印出 ]

三字母词实在是太古老了,但是这个语法不能消失,所以我们一直都在使用转义字符

这里总结一下我们打印所用到的格式

//%d - 打印整型
//%c - 打印字符
//%s - 打印字符串
//%f - 打印float类型的数据
//%lf - 打印double类型的数据
//%zu - 打印sizeof的返回值

如果我们要打印一个字符,如下:

#include<stdio.h>

int main()
{
printf("%c",''');   //我们来打印'
return 0;
}

运行结果:

出现了错误

那么出错的原因是什么?

我们来看这 ''' ,printf识别的时候,识别第一个 ' ,然后再识别一个 ' ,哎,到这里就结束了,就像识别这个字符一样'w',只要识别到一对儿',打印就会结束,但是后面还有第三个 ' 是多余的,就出错了

那么,我们使用转义字符 \' ,让'不再是一对儿'w' 里面的',就像上面的??)一样

验证一下:

#include<stdio.h>

int main()
{
printf("%c",'\'');   //我们来打印'
return 0;
}
//转义字符  \'

运行的结果:

再来继续了解转义字符

我们打印字符串有两个形式:

#include<stdio.h>

int main()
{
printf("%s\n","abcdef"); //形式一
printf("abcdef");        //形式二
return 0;
}

第二种形式不能直接像下面这样打印:

printf(2123456)//错误的

如果我们在abcdef中间加一个\0,但因为它代表的是换行,所以我们需要让它失效,让\0就是\0,没有其他含义,只需要这样就可以了:

#include<stdio.h>

int main()
{
printf("%s\n","abc\\0def"); //形式一
printf("abc\\0def");        //形式二
return 0;
}
//转义字符  \\

上面那个表里的转义字符都是这样子来使用的

来练习一个题

#include <stdio.h>
#include <string.h>
int main()
{
    printf("%d\n", strlen("c:\test\121"))
    return 0;
}

它的输出结果是什么?

答案解析:

strlen:获取字符串的有效长度,不包括’\0’

“c:\test\121”: 在该字符串中,\t是转移字符,水平制表,跳到下一个tab的位置;而\121表示一个字符,是讲121看做8进制数组,转换为10进制后的81,作业为ASCII码值的字符,即:字符’Q’ ,故上述字符串实际为:“c: esty”,只有7个有效字符

如果我们真的要打印c:\test\121,需要变成c:\\test\\121,这样就可以把c:\test\121给打印出来

关于转义字符,我们只需要记住特殊的就行,没有必要全部记忆,我们以后是会用到一些的

到此这篇关于适合初学者的C语言转义字符讲解的文章就介绍到这了,更多相关C语言 转义字符内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C语言转义字符实例详解

    在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么.这类字符称为可显示字符,如a.b.c.$.+和空格符等都是可显示字符. 另一类字符却没有这种特性.它们或者在键盘上找不到对应的一个键(当然可以用特殊方式输入),或者当按键以后不能显示键面上的字符.其实,这类字符是为控制作用而设计的,故称为控制字符. 在C语言中,构成字符常量的控制字符必须用转义字符表示.转义字符是一种以"\"开头的字符.例如退格符用'\b'表示,换行符用'\

  • C语言的变量与常量 字符字符串与转义字符详解

    目录 一.变量 1.1定义变量的方法 1.2变量的分类 1.3变量的使用 二.常量 2.1字面常量 2.2 const修饰的常变量 2.3#define定义的标识符常量 2.4 枚举常量 三.字符和字符串 3.1 定义 3.2字符串的应用 3.3转义字符 四.注释 总结 一.变量 1.1定义变量的方法 如图中所示,变量可被定义为各种数据类型,如int 整型 char字符数据类型,short短整型,float单精度浮点数,double双精度浮点数等等.一般在变量定义后,需给变量赋值,如图中对所有变

  • 浅谈c语言中转义字符的用法及注意事项

    c语言中的转义字符: \a 响铃符 \b 退格 \f 换页符 \n 换行符 \r 回车符(回到该行的首位置) \v 纵向制表符 \\ 反斜杠 \? 问号(?经vs10测试可以直接打印) \"(\') 双引号(单引号) \ooo 八进制数(ooo表示一个用8进制数表示出来的对应ANSII代码对应出字符,用此方法可以表示出所有ASCII字符.不过测试发现打不出%号,存疑!) \xhh 十六进制数(功能同八进制数,用hh表示一个十六进制数,如\x20表示空格) 注:使用转义字符的退格符,换行符,回车符

  • 浅谈C语言转义字符和格式控制符

    转义字符参考: \a:蜂鸣,响铃 \b:回退:向后退一格 \f:换页 \n:换行,光标到下行行首 \r:回车,光标到本行行首 \t:水平制表 \v:垂直制表 \\:反斜杠 \':单引号 \":双引号 \?:问号 \ddd:三位八进制 \xhh:二位十六进制 \0:空字符(NULL),什么都不做 注: 1,\v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操作. 2,\n其实应该叫回车换行.换行只是换一行,不改变光标的横坐标:回车只是回到行首,不改变光标的纵坐标. 3,\t 光标向

  • C语言的常量,字符串,转义字符,注释你都了解吗

    目录 四种常量: 字符串: 转义字符 注释 总结 四种常量: 1.字面常量 如数字100,‘a’ 2.const修饰的常变量 const int n = 10 //常变量而非常量 不能用 int a[n]={1,2,3}定义数组 3.define定义的标识符常量 #define NUM 100 //NUM是define定义的常量 4.枚举常量: 生活中有些取值可以一一列举的如: 性别:男,女,保密 星期:1,2,3,4,5,6,7 //创建一种枚举类型 #include <stdio.h> e

  • C语言转义字符详解

    ####1.认识转义字符 所有的ASCII码都可以用"\"加数字(一般是8进制数字)来表示.而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了.在学习c最常见的是使用\n进行换行. /*转移字符代码实现*/ printf("hello"); printf("\b");//退格符 printf("\n"

  • C语言入门篇--注释,关键字typedef及转义字符详解

    目录 注释 1.注释意义 2.两种注释风格 2.1 C语言注释风格 2.2 C++注释风格 关键字typedef 1.注意 2.用法 语法结构 转义字符 1.转义字符及其含义 2.字面 转 特殊 3.特殊 转 字面 注释 1.注释意义 (1)代码中有不需要的代码可以直接删除,也可以注释掉. (2)有些代码比较难懂可以注释一下. 2.两种注释风格 2.1 C语言注释风格 /*xxxxxx*/ 一次可以注释一行或多行,但不能嵌套注释. eg: #include <stdio.h> int main

  • 适合初学者的C语言转义字符讲解

    什么是转义字符 今天我们来了解一下转义字符,转义字符顾名思义就是转变意思. 现在了解一下这些字符: 转义字符      释义    \?        在书写连续多个问号时使用,防止他们被解析成三字母词    \'        用于表示字符常量'    \“        用于表示一个字符串内部的双引号    \\        用于表示一个反斜杠,防止它被解释为一个转义序列符.    \a        警告字符,蜂鸣    \b        退格符    \f        进纸符   

  • 适合初学者的C语言字符串讲解

    这一篇博客我们来了解一下字符串,看下面这个我们熟知的也是最先学习的代码 "Hello world!" 这一堆的字母就是字符串字面值,简称字符串,每一个字母都是一个字符,字符串需要用" "双引号来引起,字符需要用’ '单引号来引起,就像下面 "Hello world!"  //字符串'a'  //字符'!'  //字符 字符串也算常量,上面三条都算字面常量,之前的讲常量的时候就举过这种例子 那么字符串有什么用呢? 假设我们要把下面的字符串存起来,那

  • 适合初学者的C语言常量类型的讲解

    目录 常量的定义 常量的分类 字面常量 const修饰的常变量 #define 定义的标识符常量 枚举常量 生活中有一些是可变的量(比如你的年龄,身高,体重,对象) 还有一些不变的量(比如圆周率,性别,身份证号码)[哎,这里你说性别可变啊,我们只能笑一下,哈哈] 常量的定义 常量就是一个不变的量(比如圆周率,性别,身份证号码) C语言中的常量和变量的定义的形式有所差异. 常量的分类 C语言中的常量分为以下以下几种: 1.字面常量 2.const 修饰的常变量 3.#define 定义的标识符常量

  • 适合初学者的C语言数据类型的讲解

    之前说过写代码是为了解决生活中的问题,比如购物. 假设我们要买一本书,它的价格是10.5,是个小数,也可以是一个整数10,它的书名是钢铁是怎样炼成的,是一组字符串,就像svli@gikvw这些,里面每个称为字符. 我们要去用c语言来去存储这些信息呢,在c语言里面为了能够描述这些类型. 就把小数抽象出来一个数据类型,叫浮点型 把整数抽象出来一个数据类型,叫整型(就是上一个博客里面的int) 把字符抽象出来一个数据类型,就叫字符 10.5 -  小数  -  浮点型 10   -  整数  -  整

  • python和c语言哪个更适合初学者

    C语言是编译型语言,经过编译后,生成机器码,然后再运行,执行速度快,不能跨平台,一般用于操作系统,驱动等底层开发. Python是编译型还是解释型这个界限并不明显,但大致上可以理解为解释型语言,执行速度慢,由于Python虚拟机,Python是可以跨平台的,Python高度集成适合于软件的快速开发. C语言中需要事先定义变量类型,以int类型为例,当定义一个int型变量后,就会在内存中开辟4个字节,再来进行初始化,由于长度是指定的,在运算过程中需要考虑,溢出,精度等问题. Python不需要事先

  • C语言示例讲解转义字符的用法

    目录 1.转义字符\t. 2.转义字符\n. 3.转义字符\? 4.转义字符\'. 5.转义字符\''. 6.转义字符\\ , \t. 7.转义字符\a, \b, \f, \n, \r, \v. 8.转义字符\ddd 9.转义字符\xdd. 10.习题求字符串长度 1.转义字符\t. 代码段1: #include<stdio.h> int main() { printf("c:\test\test.c"); return 0; } “\”和“t”组成了一个转义字符“\t”.

  • 适合初学者练习的C语言实现三子棋小游戏

    目录 一.写代码前明确下棋时的步骤与顺序 二 根据初步的主函数完成想要的代码 1.写一个函数来初始化棋盘 2.打印棋盘 3.玩家落子 4.电脑落子 5.判断胜负 三.三子棋实现代码 用简单的C语言来实现小时候玩的三子棋游戏,下面是人机对战,当然这个代码的电脑对手是人工智障而不是人工智能 一.写代码前明确下棋时的步骤与顺序 1.创建一个3*3的棋盘. 2.将上面创建的棋盘中每个格初始化成' '状态. 3.打印出初始化完成的棋盘 4.玩家落子 5.电脑落子 6.判断胜负 写代码之前梳理好大概的思路,

  • C语言 详细讲解接续符和转义符的使用

    目录 一.接续符的意义 二.接续符的使用 三.转义符的意义 四.转义符的使用 五.转义符和其他的语法混合 六.小结 一.接续符的意义 C语言中的接续符(\)是指示编译器行为的利器 下面看一段接续符的代码(代码1-1): #in\clud\e <st\dio.h>in\t m\ain(\){pri\ntf\    (\    "Hello AutumnZe.\n"    )\    ;  ret\urn 0;} 可以看到上述代码写的很凌乱,但是可以正常编译运行,如下: 二.接

  • C语言由浅入深讲解文件的操作上篇

    目录 为什么使用文件 什么是文件 文件名 关于文件的一些概念 文件函数 fopen fclose 实例代码 绝对路径 文件的打开方式 文件操作流程 为什么使用文件 前面写的通讯录,增加人数退出程序后,数据就会消失.此时数据是存放在内存中,下次运行通讯录程序的时候,数据又得重新录入,如果使用这样的通讯录就很难受. 所以文件操作就应运而生.数据持久化的方法有两种:1.把数据存放在磁盘文件2.存放到数据库使用文件我们们可以将数据直接存放在电脑的硬盘上,做到了数据的持久化. 什么是文件 但是在程序设计中

  • C语言简明讲解队列的实现方法

    目录 前言 队列的表示和实现 队列的概念及结构 代码实现 束语 前言 大家好啊,我又双叒叕来水博客了,道路是曲折的,前途是光明的,事物是呈螺旋式上升的,事物最终的发展结果还是我们多多少少能够决定的,好啦,吹水结束,这与这篇博客的主题并没有太多联系.关于栈和队列这一板块本来是想不写(就是想偷懒),但是想了想,觉得这样不太好,关于数据结构这一块可能会有缺失,所以最终还是决定写,必须补齐这一块,恰好最近有时间写博客,所以还是写了,这篇博客将介绍队列的知识点,理解链表那一块的操作后,栈和队列的相关操作还

随机推荐