(C语言篇)第一章c语言入门基础——下

目录

 一、字符串

 二、转义字符

1、\"

2、\'

3、\n

4、\\

5、\t

6、\ddd

7、\xdd


一、字符串

字符串就是一串字符——用双引号括起来的字符:

#include <stdio.h>

int main()
{
    char arr[] = "Hello World";//"Hello World"就是字符串
    printf("%s\n", arr);
    return 0;
}

这里%s是打印字符串的意思,结果就为Hello World.

注:字符串的结束标志是一个转义字符\0,在用strlen计算字符串长度的时候\0不计入长度,只是结束标志。

重点:字符串的结尾都隐藏着一个\0的字符,这里我们来看看

这里我们通过监视可以看到字符串abcd后有个\0字符,这也证实了字符串结尾隐藏了\0 。

那么字符串和字符有什么区别呢,我们通过strlen函数来分析分析。

这里我们用strlen计算字符长度,计算的结果为整数,所以用%d。注:在用strlen函数时需要引用头文件#include <string.h>这里的道理是和引用printf一样的。 那么这里字符arr2为什么是16呢?我们通过调试看看

这里我们可以看到字符串arr1有\0为结束标志,而字符arr2没有\0做为结束标志 ,当字符arr2没有\0时它就会一直计算直到找到结束标志\0为止(即打印随机值),上面的arr2就是在第17个字符找到\0。这里需要知道的是不同编译器打印的随机值可能都不一样,博主用的是vs2019打印的随机值为16。

那么我们在字符arr2后加上\0又是怎么样的结果呢

当arr2计算到\0时就结束了不会再打印随机值了。

 二、转义字符

这里我们先上图

下面我们来介绍一下上面的转义字符。

1、\"

当我们需要打印"(双引号)时,需要在其前面加上转义字符,表示一个普通的"

像这样,我们想打印俩个双引号,编译器报错了,原因是编译器把第一个双引号和第二个双引号为一语句,当 语句结束后需要加分号(;),第三个双引号和第四个双引号为一对。而"卖红薯"这个字符串就会呗省略报错。

当我们在 " 加入 \  时就是为了把""变为普通的双引号 ,就可以打印这句话了。

\': ' 和 " 是一个道理的。

2、\'

和 \" 是一个道理的,当想要打印字符 ' 时需要在前面加 \ 当然在字符串中是不需要的。

3、\n

\n是换行的意思。

这里我们可以看到第一次打印没加 \n 没有换行,第二次打印加了,就换行了。 

4、\\

两个 \\ ,前面的 \ 把后面的 \ 转化成普通的 \ ,使其失去转换的意思。

当在 \n 前加入 \ 时,把 \n 中的\变为普通的字符,所以不会发生换行。

5、\t

\t 是制表符的意思,相当于我们键盘上的TAB键,即缩进。

可以看到打印时进行了缩进。

6、\ddd

ddd表示1~3个八进制。当出现这样的时候先把八进制转换为十进制再打印相应的ASCII码上的数值,例:

这里打印的值为字符5,我们来分析一下:

一下是ASCII表,大家可以对应看看

7、\xdd

表示十六进制,\x表示是十六进制,dd则是1~2个十六进制,其道理和\ddd是一样的,我们这里再以65为例:

最后我们再来练习一下:

printf("%d",strlen("c abc\t\581")); 打印几个字符呢。

这里打印的是9,有些同学就会有疑惑了,不是打印7吗,为什么是9,这里我们需要注意的是,8不是八进制已经超过了八进制的最大值,不算入其中,所以后面的85算两个字符。

完结

好了我们这一章就到这里结束了,如果喜欢的话可以动动小手赞一下哟,我们下期再见^_^。

  

  • 40
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没完没了的麦当

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值