【C语言学习】:C语言补充:转义字符,<<,>>操作符,IDE

🎁个人主页:我们的五年https://blog.csdn.net/djdjiejsn?type=blog

🔍系列专栏:C++课程学习https://blog.csdn.net/djdjiejsn/category_12617142.html

🎉欢迎大家点赞👍评论📝收藏⭐文章

C语言学习笔记:

https://mp.csdn.net/mp_blog/manage/column/allColumnList

前言:

虽然说C语言的期末考试,平时的小考都是满分,但是那基本都是刷题,上机形式,考察的内容比较局限,很多细节小的东西考不到。到现在寒假有机会复习复习。

目录

1.转义字符:

1.1理解:

1.2转义字符的分类:

⛳️字符原来的意思:

⛳️特殊含义:

⛳️特殊表示:

题目: 

2.C语言补充:

2.1各类IDE(继承开发环境)用的编译器:

2.2main函数可以放在任意位置:

2.3sizeof不是函数,是关键词。

2.4早期C语言注释风格的局限性:

2.5早期布尔类型:

2.6最大值表示:

3<<,>>操作

3.1正数:

3.2负数:


1.转义字符:

这部分内存那时候刚刚大一听的时候,就比较一下把它过掉了,没有认真记一下理解一下。现在就好好讲一下。

1.1理解:

转移字符:

在字符串中,字符中,如果我们只是正常的abcdef,就表示字母的abcdef。这是普通的字符。

但是转移字符是什么意思呢?就是转变原来的意思,一开始a就表示字母a,但是加上 \ 以后,就转变了意思,变成了警报的意思。

如果想听听电脑的警报是什么声音,就把这段代码放电脑上跑一下吧。

#include <stdio.h>
int main()
{
	printf("\a");
	return 0;
}

1.2转义字符的分类:

⛳️字符原来的意思:

\?

在如今的电脑上,我们在字符串中输入?,确实是表示问号的意思,但是之前比较早的时候,要\?才能表示?,不然就表示为其他意思了。

为了保证代码的不同平台的同样性,输出?尽量为\?

早的时候,??)表示的是

\'        \"        \\        

这些都是表示字符'        "        \

为什么要这样呢,因为在字符串中"可能表示的是一个字符串的开始表示或者结束标志,所以\"就让编译器不要认为它是字符串的开始或者结束,同样'        \也是这样的理由。

#include <stdio.h>
int main()
{
	printf("\?");
	printf("\n");

	printf("\'");
	printf("\n");

	printf("\"");
	printf("\n");

	printf("\\");
	return 0;
}

 

⛳️特殊含义:

\a        表示电脑的警报。

\b        表示光标回退一个字符,但是不删除字符。

\f        换页符。

\n        换行符。光标移动到下一行最开始。

\r        回车符。光标移动到同一行的最开始。

\v        垂直分割符。

\t        制表符,让光标移动到下一个水平制表位,通常是8的倍数。

在VS Vsiual中普通字符和转移字符的颜色也是不一样的。

#include <stdio.h>
int main()
{
	printf("a");

	printf("\a");
	printf("\b");
	printf("\f");
	printf("\t");
	printf("\v");
	printf("\n");
	printf("\r");
	return 0;
}

⛳️特殊表示:

\ddd        三个d表示八进程数,和十进程一样,权重不一样。具体的意思就是这个三个八进程的三位数表示的大小,对应的ASCII表中的字符。

A的ASCII码是65.

101:1*8*8+0*8+1*8=65,数字乘以权重。

\xdd        这两个d表示的就是16进程数。含义和上面一样。

为什么要这么设计,因为三个八进程可以表示超过所有ASCII表中的字符,两个16进程数可以表示完这128个ASCII字符。

特别注意的就是,这些转义字符只占一个字符位置,为一个整体,一个字节。

题目: 

printf("%d\n", strlen("c:\test\121"));

输出的结构是:7.。


2.C语言补充:

下面就是关于C语言的一些补充。

2.1各类IDE(继承开发环境)用的编译器:

VS(visual studio):msvc。

XCode(苹果编译器):clang。

DevC++,CodeBlockS:gcc。

clion:cmake。

2.2main函数可以放在任意位置:

出乎意料的是还能放在库函数前面。main函数有且只有一个,这肯定都是知道的。

2.3sizeof不是函数,是关键词。

返回的类型为size_t,单位字节。

2.4早期C语言注释风格的局限性:

/**\是早期的C语言注释形式。每一个/*遇到*\就会停止,比较局限。

//是C++的注释形式。

2.5早期布尔类型:

_Bool.

#define bool _Bool
#define true 1
#define false 0

2.6最大值表示:

SCHAR_MIN , SCHAR_MAX :signed char 的最⼩值和最⼤值。
• SHRT_MIN , SHRT_MAX :short 的最⼩值和最⼤值。
• INT_MIN , INT_MAX :int 的最⼩值和最⼤值。
• LONG_MIN , LONG_MAX :long 的最⼩值和最⼤值。
• LLONG_MIN , LLONG_MAX :long long 的最⼩值和最⼤值。
• UCHAR_MAX :unsigned char 的最⼤值。
• USHRT_MAX :unsigned short 的最⼤值。
• UINT_MAX :unsigned int 的最⼤值。
• ULONG_MAX :unsigned long 的最⼤值。
• ULLONG_MAX :unsigned long long 的最⼤值。


3<<,>>操作

3.1正数:

不管<<,还是>>都是补0,左移右边补0,右移左边补0.

3.2负数:

对补码进行操作。

<<还是补0.

>>右移,算术运算补1,逻辑运算还是补0。

<<正数,负数都是右边补0。正数补码为本身。
>>正数,负数逻辑运算,左边补0,负数算术运算补1.负数对补码进行操作。

具体可以用代码进行验证。doge

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

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

相关文章

Cesium特效——城市白模的科技动效的各种效果

最终效果图如下&#xff1a; 实现方法&#xff1a; 步骤一&#xff1a;使用cesiumlib生产白模&#xff0c;格式为3dtiles 注意事项&#xff1a;采用其他方式可能导致白模贴地&#xff0c;从而导致不能实现该效果&#xff0c;例如把步骤二的服务地址改为Cesium Sandcastle 里的…

仿 RabbitMQ 的消息队列3(实战项目)

七. 消息存储设计 上一篇博客已经将消息统计文件的读写代码实现了&#xff0c;下一步我们将实现创建队列文件和目录。 实现创建队列文件和目录 初始化 0\t0 这样的初始值. //创建队列对应的文件和目录&#xff1a;public void createQueueFile(String queueName) throws IO…

无人机 PX4 飞控 | PX4源码添加自定义参数方法并用QGC显示与调整

无人机 PX4 飞控 | PX4源码添加自定义参数方法并用QGC显示与调整 0 前言 之前文章添加了一个自定义的模块&#xff0c;本篇文章在之前的自定义模块中&#xff0c;添加两个自定义参数 使用QGC显示出来&#xff0c;并通过QGC调整参数值&#xff0c;代码实现参数更新 新增的参…

【真机调试】前端开发:移动端特殊手机型号有问题,如何在电脑上进行调试?

目录 前言一、怎么设置成开发者模式&#xff1f;二、真机调试基本步骤&#xff1f; &#x1f680;写在最后 前言 edge浏览器 edge://inspect/#devices 谷歌浏览器&#xff08;开tizi&#xff09; chrome://inspect 一、怎么设置成开发者模式&#xff1f; Android 设备 打开设…

2024年第十五届蓝桥杯青少组国赛(c++)真题—快速分解质因数

快速分解质因数 完整题目和在线测评可点击下方链接前往&#xff1a; 快速分解质因数_C_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/cpp/show-3781.htmlhttps://www.hixinao.com/tiku/cpp/show-3781.html 若如其他赛事真题可自行前往题库中心查找&#xff0c;题…

Linux系统下速通stm32的clion开发环境配置

陆陆续续搞这个已经很久了。 因为自己新电脑是linux系统无法使用keil&#xff0c;一开始想使用vscode里的eide但感觉不太好用&#xff1b;后面想直接使用cudeide但又不想妥协&#xff0c;想趁着这个机会把linux上的其他单片机开发配置也搞明白&#xff1b;而且非常想搞懂cmake…

【FFmpeg】FLV 格式分析 ③ ( Tag Body 数据块体结构 - Vedio Data 视频数据 )

文章目录 一、Tag Body 数据块体结构 - Video Data 视频数据1、Vedio Data 视频数据 类型标识2、Vedio Data 视频数据 结构分析3、Composition Time Offset 字段涉及的时间计算4、AVC Packet Type 字段说明① AVC Sequence Header 类型② AVC NALU 类型③ AVC End of Sequence …

尚硅谷大数据数仓项目superset db upgrade报错解决(2025.1.23解决)

尚硅谷大数据数仓项目superset db upgrade报错解决&#xff08;2025.1.23解决&#xff09;和 superset安装MySQL报错解决 解决方法&#xff08;2025.1.23解决&#xff09; 0.卸载之前安装好的Superset -- 退出当前环境 conda deactivate-- 卸载Superset conda remove -n sup…

vue3+uniapp开发鸿蒙初体验

去年7月20号&#xff0c;uniapp官网就已经开始支持鸿蒙应用开发了&#xff0c;话不多说&#xff0c;按照现有规则进行配置实现一下鸿蒙开发效果&#xff1b; 本文基于macOS Monterey 版本 12.6.5实现 开发鸿蒙的前置准备 这里就直接说我的版本&#xff1a; DevEco Studio 5.…

996引擎 - 前期准备-配置开发环境

996引擎 - 前期准备 官网搭建服务端、客户端单机搭建 开发环境配置后端开发环境配置环境 前端开发环境配置环境 后端简介前端简介GUILayoutGUIExport 官网 996传奇引擎官网 所有资料从官网首页开始&#xff0c;多探索。 文档&#xff1a; 996M2-服务端Lua 996M2-客户端Lua 搭…

Python FastAPI 实战应用指南

文章目录 1. 前言2. FastAPI 的优势3. FastAPI 快速入门3.1 安装3.2 最简单的 API 案例 4. 基础功能应用4.1 模型验证和参数校验4.2 实现高级计划&#xff1a;用于实时功能和快速发布 5. 高级应用5.1 实现 OAuth2 认证5.2 提供 WebSocket 支持 6. 总结 1. 前言 FastAPI 是一个…

Vue3 项目打包并部署到Nginx

一、安装Nginx 官网下载链接&#xff1a; nginx: downloadhttps://nginx.org/en/download.htmlhttps://nginx.org/en/download.html 下载后解压并双击 nginx.exe 启动服务&#xff1a; 打开浏览器&#xff0c;访问 http://localhost/ &#xff0c;若出现如下页面&#xff0c…

二叉树(了解)c++

二叉树是一种特殊的树型结构&#xff0c;它的特点是: 每个结点至多只有2棵子树(即二叉树中不存在度大于2的结点) 并且二叉树的子树有左右之分&#xff0c;其次序不能任意颠倒&#xff0c;因此是一颗有序树 以A结点为例&#xff0c;左边的B是它的左孩子&#xff0c;右边的C是…

会议签到系统的架构和实现

会议签到系统的架构和实现 摘要:通过定制安卓会议机开机APP呈现签到界面&#xff0c;并且通过W/B结构采集管理签到信息&#xff0c;实现会议签到的功能。为达到此目标本文将探讨使用Redis提供后台数据支持&#xff1b;使用SocketIo处理适时消息&#xff1b;使用Flask进行原型开…

PIC单片机HEX文件格式分析

在调试PIC单片机在bootloader程序时&#xff0c;需要将hex文件转换为bin文件&#xff0c;在转换之前先了解一下hex文件中数据是如何定义的。 直接打开一个LED灯闪烁的程序生成的hex文件&#xff0c;芯片型号为PIC18F46K80 可以看到每条数据都是由6部分组成的&#xff0c;下面分…

17-使用椭圆制作鼻子

17-使用椭圆制作鼻子_哔哩哔哩_bilibili17-使用椭圆制作鼻子是一次性学会 Canvas 动画绘图&#xff08;核心精讲50个案例&#xff09;2023最新教程的第18集视频&#xff0c;该合集共计53集&#xff0c;视频收藏或关注UP主&#xff0c;及时了解更多相关视频内容。https://www.bi…

通过 Visual Studio Code 启动 IPython

在Visual Studio Code 中&#xff0c;你可以使用内置的终端来启动 ipython&#xff0c;当然首先要安装好ipython。 安装ipython的方法是在cmd里面输入以下命令安装&#xff1a; pip install ipython 启动ipython的步骤如下&#xff1a; 打开 VSCode 终端&#xff1a; 在 VSCo…

网络(三) 协议

目录 1. IP协议; 2. 以太网协议; 3. DNS协议, ICMP协议, NAT技术. 1. IP协议: 1.1 介绍: 网际互连协议, 网络层是进行数据真正传输的一层, 进行数据从一个主机传输到另一个主机. 网络层可以将数据主机进行传送, 那么传输层保证数据可靠性, 一起就是TCP/IP协议. 路径选择: 确…

Qt基础项目篇——Qt版Word字处理软件

一、核心功能 本软件为多文档型程序&#xff0c;界面是标准的 Windows 主从窗口 拥有&#xff1a;主菜单、工具栏、文档显示区 和 状态栏。 所要实现的东西&#xff0c;均在下图了。 开发该软件&#xff0c;主要分为下面三个阶段 1&#xff09;界面设计开发 多窗口 MDI 程序…

Python+langchain+通义千问qwen(大模型实现自己的聊天机器人)

Langchain langchain是一个用于开发由语言模型驱动的应用程序的框架&#xff0c;致力于简化AI模型应用的开发。简单来说&#xff0c;langchain就是一个&#xff08;帮助开发者轻松完成AI模型应用开发的&#xff09;框架,现在支持python和js两个版本&#xff0c;它集成多种大语…