【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,但是加上****\****以后,就转变了意思,变成了警报的意思。

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

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

1.2转义字符的分类:

⛳️字符原来的意思:

\?

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

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

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

\' \" \\

这些都是表示字符**' " \**

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

cpp 复制代码
#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中普通字符和转移字符的颜色也是不一样的。

cpp 复制代码
#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字符。

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

题目:

cpp 复制代码
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.

cpp 复制代码
#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

相关推荐
mascon几秒前
U3D的.Net学习
学习
加德霍克4 分钟前
【机器学习】使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测
人工智能·python·学习·机器学习·作业
漂亮_大男孩4 分钟前
深度学习|表示学习|卷积神经网络|局部链接是什么?|06
深度学习·学习·cnn
2401_843785235 分钟前
C语言 指针_野指针 指针运算
c语言·开发语言
l1x1n018 分钟前
No.37 笔记 | Python面向对象编程学习笔记:探索代码世界的奇妙之旅
笔记·python·学习
moton201720 分钟前
云原生:构建现代化应用的基石
后端·docker·微服务·云原生·容器·架构·kubernetes
骇客野人20 分钟前
【人工智能】循环神经网络学习
人工智能·rnn·学习
Aurora Dream极光之梦24 分钟前
CSRF漏洞学习总结
学习·安全·csrf
Jacob程序员24 分钟前
leaflet绘制室内平面图
android·开发语言·javascript
AitTech43 分钟前
C#编程:List.ForEach与foreach循环的深度对比
开发语言·c#·list