C语言转义序列的含义和用法

基础理论

在C语言中,转义序列是一种特殊的字符组合,以反斜杠\开头,后面跟着一个或多个字符,用于表示不能直接输入的字符或者控制字符。转义序列允许程序员在字符串中包含那些不易直接输入的字符,如换行符、制表符或特殊的非打印字符。
转义序列的工作原理是在编译阶段由编译器进行解析和转换。当编译器遇到字符串中的转义序列时,它会将转义序列替换为相应的字符或控制指令,例如,当编译器遇到\n时,它知道这意味着要在输出中插入一个新行.这种机制使得在字符串中包含特殊字符变得容易,而无需担心这些字符会破坏字符串的结构或语法。在运行时,程序将按照编译器解析后的结果来处理这些转义序列。例如,当程序输出一个包含\n的字符串时,它会在控制台上显示一个新行,而不是字面上的\n文本。

C语言转义序列表

转义序列含义用法示例
\n换行符printf("Hello\nWorld"); 在控制台上输出 “Hello” 后换行,然后输出 “World”
\t制表符(Tab)printf("Name:\tJohn"); 在 “Name:” 和 “John” 之间插入一个制表符
\\反斜杠字符printf("Path: C:\\Users\\John"); 表示文件路径,其中包含一个反斜杠字符
\"双引号字符printf("He said, \"Hello!\""); 在字符串内部表示一个双引号字符
\'单引号字符printf("It\'s a nice day."); 在字符串内部表示一个单引号字符
\r回车符通常与 \n 结合使用(\r\n)来表示Windows系统中的换行
\v垂直制表符不常用,但在某些上下文中可能用于文本对齐
\f换页符在打印输出中用于换页,但在控制台输出中通常不可见
\a警告(响铃)字符在某些终端或控制台上可能会发出哔哔声或闪烁光标
\?三字符序列的开始(不推荐使用)通常与接下来的两个字符结合,形成一个特殊的字符,但在现代C语言中很少使用
\ooo八进制转义序列\141 表示字符 ‘a’(在ASCII中,‘a’ 的八进制值是 141)
\xhh十六进制转义序列\x41 表示字符 ‘A’(在ASCII中,‘A’ 的十六进制值是 41)
\uhhhh\UhhhhhhhhUnicode转义序列(C11及更高版本)\u0041\U00000041 表示字符 ‘A’(Unicode编码)

代码实现

#include <stdio.h>  
  
int main() {  
    // \n 换行符  
    printf("Hello\nGay boy\n");   
    // \t 制表符(Tab)  
    printf("Name:\tGGBod\n");  
    // \\ 反斜杠字符  
    printf("Path: C:\\Users\\GGBond\n");  
    // \" 双引号字符  
    printf("He said, \"Hello!\"\n");  
    // \' 单引号字符  
    printf("It\'s a nice day.\n");  
      
    return 0;  
}

在这里插入图片描述

#include <stdio.h>  
  
int main() {  
    // \r 回车符  
    printf("This is a line.\rCarriage return test.\n");  
    // \v 垂直制表符  
    printf("1\v2\v3\v4\n");  
    // \f 换页符(在控制台中可能看不到效果)  
    printf("Page 1\fPage 2\n");  
    // \a 警告(响铃)字符  
    printf("Gay away:\a\n");  
    // \ooo 八进制转义序列  
    printf("\\141 represents 'a': \141\n");  
    // \xhh 十六进制转义序列  
    printf("\\x41 represents 'A': \x41\n");  
    // 对于超过16位的Unicode字符,可以使用\Uhhhhhhhh,而有一些编译器或环境不支持Unicode转义序列 
    // printf("\\u0041 represents 'A': \u0041\n");  
    // printf("\\U0001F600 represents a grinning face: \U0001F600\n");  
  
    return 0;  
}

在这里插入图片描述
使用转义序列符号+ASCII在终端打印LOGO

#include <stdio.h>    
    
int main() {    
    printf("   ____    ____   ____                        _ \n");    
    printf("  / ___|  / ___| | __ )    ___    _ __     __| |\n");    
    printf(" | |  _  | |  _  |  _ \\   / _ \\  | '_ \\   / _` |\n");    
    printf(" | |_| | | |_| | | |_) | | (_) | | | | | | (_| |\n");    
    printf("  \\____|  \\____| |____/   \\___/  |_| |_|  \\__,_|\n");    
  
    return 0;    
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/737763.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2-3KW户储、家储逆变器设计资料

储能电源方案双向逆变器板资料&#xff0c;原理文件&#xff0c;PCB文件&#xff0c;源代码&#xff0c;bom清单。 bom表&#xff1a; PCB&#xff1a; 变压器电感 2-3KW户储、家储逆变器设计通常需要考虑以下几个方面&#xff1a; 输入电压范围&#xff1a;逆变器需要能够适应…

“人工智能+”带来新变化

以生成式人工智能&#xff08;AIGC&#xff09;为代表的新一代人工智能技术创新加速演进&#xff0c;相关商业化应用成果也不断涌现&#xff0c;行业应用范围不断拓展&#xff0c;深度赋能实体经济&#xff0c;为行业提质增效与实现减排提供助力。 自主航运初创公司OrcaAI于6月…

帕金森患者营养补充指南:维生素的重要性与选择

帕金森病&#xff0c;在众多营养素中&#xff0c;维生素对于帕金森病患者来说尤为重要。本文将详细介绍帕金森患者应该补充哪些维生素&#xff0c;以及这些维生素的重要性。 一、维生素B组 维生素B组在帕金森病患者中扮演着重要的角色。其中&#xff0c;维生素B6是神经递质多…

JavaSE (Java基础):方法简介

6 Java中的方法 下面关于Java方法的介绍都引用了某B大佬狂神的PPT 6.1 方法简介 自己看注释&#xff0c;&#xff0c;&#xff0c;&#xff0c;这就是方法&#xff01; package com.zlx.method;public class Demo01 {//main方法public static void main(String[] args) {//实…

基于YOLOv5+PyQT5的吸烟行为检测(含pyqt页面、模型、数据集)

简介 吸烟不仅对个人健康有害,也可能在某些特定场合带来安全隐患。为了有效地监控公共场所和工作环境中的吸烟行为,我们开发了一种基于YOLOv5目标检测模型的吸烟检测系统。本报告将详细介绍该系统的实际应用与实现,包括系统架构、功能实现、使用说明、检测示例、数据集获取…

详细分析Springmvc中的@ModelAttribute基本知识(附Demo)

目录 前言1. 注解用法1.1 方法参数1.2 方法1.3 类 2. 注解场景2.1 表单参数2.2 AJAX请求2.3 文件上传 3. 实战4. 总结 前言 将请求参数绑定到模型对象上&#xff0c;或者在请求处理之前添加模型属性 可以在方法参数、方法或者类上使用 一般适用这几种场景&#xff1a; 表单…

同城跑腿APP开发,随叫随到超方便!

随着移动互联网的发展和人们生活节奏的加快&#xff0c;越来越多的人们没有闲暇的时间来做一些繁琐的事情&#xff0c;比如说买药、挂号、排队、送花、取文件等等。如果没有时间去处理这些事情怎么办&#xff1f;开发同城跑腿APP&#xff0c;提供跑腿服务&#xff0c;随时办事随…

uni-app与原生插件混合开发调试1-环境准备

uni-app与原生插件混合开发调试系列文章分为3篇&#xff0c;分别详细讲了《环境准备》、《搭建uni-app本地开发调试环境》和《安卓原生插件开发调试和打包》&#xff0c;3篇文章完整详细地介绍了“从环境安装配置到本地开发调试到原生插件打包”整个流程。 相关名词和概念解释…

C++ | Leetcode C++题解之第169题多数元素

题目&#xff1a; 题解&#xff1a; class Solution { public:int majorityElement(vector<int>& nums) {int candidate -1;int count 0;for (int num : nums) {if (num candidate)count;else if (--count < 0) {candidate num;count 1;}}return candidate;…

大咖共话|智领未来,数字化革新生命健康产业

在数字化浪潮席卷全球的今天&#xff0c;生命健康产业正迎来前所未有的发展机遇。6月20日&#xff0c;“第三届滨海中关村协同创新发展交流会”在北京隆重举办&#xff0c;唯迈医疗与业界大咖齐聚一堂&#xff0c;在“数字化赋能驱动生命健康产业发展”圆桌论坛上&#xff0c;共…

Modsecurity安装+Nginx+腾讯云CentOS+XSS-Labs靶场+WAF规则

君衍. 一、项目环境介绍二、ModSecurity介绍1、Modsecurity基本概述2、Modsecurity工作原理3、Modsecurity功能特点4、Modsecurity优点5、Modsecurity缺点 三、Nginx介绍及配置文件1、Nginx基本概述2、Nginx应用场景3、正向代理4、反向代理5、负载均衡6、动静分离7、主页面路径…

LeetCode 算法:二叉树的中序遍历 c++

原题链接&#x1f517;&#xff1a;二叉树的中序遍历 难度&#xff1a;简单⭐️ 题目 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 示例 2&#xff1a; 输入&…

运动蓝牙耳机哪个口碑最好?五大高口碑顶尖单品推荐

在这个快节奏时代&#xff0c;智能手机的普及使得运动开放式耳机逐渐成为我们日常出行的必备单品。运动开放式耳机凭借独特的外形设计&#xff0c;赢得了众多消费者的喜爱。它们不同于传统的入耳式设计&#xff0c;以舒适佩戴为核心&#xff0c;有效缓解了长时间佩戴对耳部造成…

Pikachu靶场--CRSF

借鉴参考 CSRF跨站请求伪造&#xff08;CTF教程&#xff0c;Web安全渗透入门&#xff09;_bilibili pikachu靶场CSRF之TOKEN绕过_csrf token绕过的原理-CSDN博客 CSRF(get) 发现需要登录 查看提示&#xff0c;获取username和password 选择一个用户进行登录 选择修改个人信息 …

哪款护眼落地灯护眼效果好?五款高品质护眼落地灯分享

哪款护眼落地灯护眼效果好&#xff1f;想要保护好宝宝视力&#xff0c;从灯光上下手可是很关键&#xff01;普通照明灯有眩光、蓝光是伤害娃视力的主要“元凶”&#xff01;现在市面上护眼大路灯炙手可热&#xff0c;哪款护眼落地灯质量好&#xff1f;护眼大路灯应该怎么选呢&a…

解决vscode运行js时突然报错

1. 问题背景 创建JavaScript文件运行&#xff0c;弹出错误&#xff1a;Can’t find Node.js binary “node”: path does not exist. Make sure Node.js is installed and in your PATH, or set the “runtimeExecutable” in your launch.json 这是由于没有配置好setting.js…

快手可灵:上线图生视频和视频续写

上次介绍的快手的 Kling 大模型上线了新功能&#xff0c;其中图生视频支持将静态图像转化为生动的 5 秒视频&#xff0c;运动幅度比 Luma 低&#xff0c;但是非常稳定。视频续写则支持单次让视频运动延续 4.5 秒&#xff0c;支持连续多次的续写&#xff0c;最长可生成 3 分钟的…

数据类型 运算符

基本数据类型与引用数据类型的区分 存储内容&#xff1a; 基本数据类型&#xff1a;直接存储实际的数据值&#xff0c;如整数、浮点数、字符等。引用数据类型&#xff1a;存储对象的引用&#xff08;内存地址&#xff09;&#xff0c;而不是对象本身。 内存分配&#xff1a; 基…

[JS]函数

介绍 函数就是用来执行特点任务的代码块, 目的是实现代码复用, 提高开发效率 使用 1.0函数的声明 function 函数名 () {//函数体 } 2.0函数的调用 3.0命名规范 和变量命名规则基本一致尽量小驼峰式命名前缀应该为动词 传参 函数的参数可以极大提高函数的灵活性 1.0参数…

HTTP3(QUIC)详解

文章目录 一、HTTP3简述二、为什么不升级改造TCP而使用UDP&#xff1f;三、QUIC的实现四、HTTP3改进详解1. 快速连接建立(1-RTT初次建立&#xff0c;0-RTT恢复&#xff09;2. 无队头阻塞&#xff08;Head-of-Line Blocking&#xff09;重传机制HTTP/2 中的流HTTP/3 中的流 3. 移…