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

embedded/2025/1/24 12:15:56/

🎁个人主页:我们的五年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


http://www.ppmy.cn/embedded/156562.html

相关文章

C语言二级 2025/1/20 周一

20. 关系表达式 四、程序设计题 1&#xff0e;请编写函数fun&#xff0c;其功能是&#xff1a;计算并输出3到n之间&#xff08;含3和n&#xff09;所有 素数的平方根之和。例如&#xff0c;在主函数中从键盘给n输入100后&#xff0c;输出 为&#xff1a;sum&#xff1d;148.8…

8、项目经理的 “基本功” 修炼手册

在项目管理的领域里&#xff0c;项目经理就如同战场上的指挥官&#xff0c;肩负着带领团队达成目标的重任。而要成为一名出色的指挥官&#xff0c;扎实的 “基本功” 必不可少。从抽象层面来讲&#xff0c;项目经理的 “基本功” 涵盖了必须掌握的知识与技能。但如果从实际工作…

如何在 Spring Boot 中实现自定义属性

&#x1f3ac; 秋野酱&#xff1a;《个人主页》 &#x1f525; 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 Spring Boot 自定义属性配置指南一、引言二、使用 Value 注解读取单个配置项代码示例设置默认值 三、使用 ConfigurationPropertie…

WPF基础 | 深入 WPF 事件机制:路由事件与自定义事件处理

WPF基础 | 深入 WPF 事件机制&#xff1a;路由事件与自定义事件处理 一、前言二、WPF 事件基础概念2.1 事件的定义与本质2.2 常见的 WPF 事件类型 三、路由事件3.1 路由事件的概念与原理3.2 路由事件的三个阶段3.3 路由事件的标识与注册3.4 常见的路由事件示例 四、自定义事件处…

基于RAG构建Text2SQL的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于大模型算法的研究与应用。曾担任百度千帆大模型比赛、BPAA算法大赛评委,编写微软OpenAI考试认证指导手册。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。授权多项发明专利。对机器学…

Docker的原理:如何理解容器技术的力量

在今天的软件开发和运维中&#xff0c;Docker 已经成为了一个炙手可热的技术名词。它改变了开发者和运维人员的工作方式&#xff0c;使得应用的打包、分发、运行变得更加简便和高效。然而&#xff0c;很多人虽然在使用 Docker&#xff0c;但对它的内部原理了解却并不深入。今天…

一文大白话讲清楚webpack基本使用——3——图像相关loader的配置和使用

文章目录 一文大白话讲清楚webpack基本使用——3——图像相关loader的配置和使用1. 建议按文章顺序从头看是看2. 图像文件Loader的配置和使用2.1 file-loader2.2 url-loader 一文大白话讲清楚webpack基本使用——3——图像相关loader的配置和使用 1. 建议按文章顺序从头看是看…

@RabbitListener处理重试机制完成后的异常捕获

application.properties中配置开启手动签收 spring.rabbitmq.listener.direct.acknowledge-modemanual spring.rabbitmq.listener.simple.acknowledge-modemanual定义一个重试器 Slf4j Configuration public class RabbitMQRetryConfing {Bean("customRetry")publi…