前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【C语言学习】:C语言补充:转义字符,<<,>>操作符,IDE

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

作者头像
用户11396661
发布2025-01-24 10:39:29
发布2025-01-24 10:39:29
4300
代码可运行
举报
文章被收录于专栏:C++开发C++开发
运行总次数:0
代码可运行

C语言学习笔记:

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

前言:

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

1.转义字符:

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

1.1理解:

转移字符:

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

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

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

代码语言:javascript
代码运行次数:0
复制
#include <stdio.h>
int main()
{
	printf("\a");
	return 0;
}

1.2转义字符的分类:

⛳️字符原来的意思:

\?

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

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

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

\' \" \\

这些都是表示字符' " \

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

代码语言:javascript
代码运行次数:0
复制
#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中普通字符和转移字符的颜色也是不一样的。

代码语言:javascript
代码运行次数:0
复制
#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字符。

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

题目:

代码语言:javascript
代码运行次数:0
复制
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.

代码语言:javascript
代码运行次数:0
复制
#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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 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负数:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档