C语言王国探险记之字符串+注释

这篇具有很好参考价值的文章主要介绍了C语言王国探险记之字符串+注释。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

王国探险记系列

文章目录(3)


前言

一,什么是字符串呢?

1,那C语言是怎么表示字符串的呢?

"hello world.\n"

2,证明字符串的结束标志是一个 \0 的转义字符

3,证明字符串的结束标志\0 的重要性

3.1我们在arr2的字符串数组后面加一个\0然后看结果

四,我们还可以通过计算字符串长度来证明字符串后面有一个隐藏的\0

提前知道:

五,注释

总结


前言

C语言王国探险记,是我们学习C语言,从小白成长为大佬的的探险历程,我们在这章将探险字符串和注释这个知识关卡


一,有字符串类型吗?

c语言中字符类型,但是有字符串类型吗?

char

short

int 

long 

long long 

folat

double

我们在怎么类型里面有没有见到一个叫字符串类型的呢?没有

C语言有字符类型,但是没有字符串类型。

1,那C语言是怎么表示字符串的呢?

"hello world.\n"

这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符 串。

注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串 内容。

2,证明字符串的结束标志是一个 \0 的转义字符

简单写一个代码让大家跟着我们看一下

我们主函数写出来就什么都不写

我们将在代码加注释和结果运行图中进行知识点的讲解:


//如何证明\0是字符串的结束标志呢
int main()
{

	return 0;
}
//调试技巧:先按F10,开始调试之后,出现箭头开始调试了
//在菜单栏里点调试,然后是监视窗口的,分为1,2,3,4
//点那个监视窗口都可以
//这里给上一个双引号然后加上abcdef。好像平平无奇
//然后我们点开可以看到abcdefg后面跟了一个\0
//实际上当你看到这个字符串的时候可以看到字符串有个\0吗,看不到
//只有当你真正的去观察会发现,g后面还放了一个\0的字符
//其实在字符串的末尾是隐藏了一个\0的字符的,当你写出这样一个字符串的时候悄悄的隐藏了一个\0
//这个\0叫做字符串的结束标准
//一个字符串当真正往后走,遇到\0的时候,它才认为这个字符串结束了
//\0是字符串的结束标志

注意:

我们的main()函数里面是没有任何的值的,我们的第三张图里面的“abcdef"字符串是我们在监控窗口里面添加的

看图:我们可以看到一套流程后,我们可以看到,在字符串的最后有一个隐藏的\0。

C语言王国探险记之字符串+注释,c语言,c语言,开发语言

C语言王国探险记之字符串+注释,c语言,c语言,开发语言

C语言王国探险记之字符串+注释,c语言,c语言,开发语言

3,证明字符串的结束标志\0 的重要性

 我们现在再举一个有打印字符数组来证明\0对字符串有很重要的意义的代码实例:

//字符串是可以存放在字符数组中的
//%s是打印字符串
int main()
{
	char arr1[] = "abc";
	//我们这个地方看到的是这样一个现象,隐藏了一个\0
	char arr2[] = { 'a' , 'b' , 'c'};//我们说C语言里面两个单引号引起来的是一个字符,
    //中间是一个逗号
	//我们可以看到后面没有\0
	//现在开始打印字符串
	//pfintf()怎么来打印字符串呢很简单
	//一个"%s"就可以打印
	printf("%s\n", arr1);//就是把arr1这个里面的字符串数组打印出来,打印完换个行
	printf("%s\n", arr2);//就是把arr2这个里面的字符串数组打印出来,打印完换个行
	//这就是我们现在的打印两个字符串
	//看一下我们的效果
	return 0;
}
//调试调监控,发现确实后面隐藏了\0
//证明了字符串里面放了一个隐藏的\0
//这个\0是字符串的结束标志,她对于字符串来说非常重要

我们通过代码+注释和结果运行图来理解:

C语言王国探险记之字符串+注释,c语言,c语言,开发语言

C语言王国探险记之字符串+注释,c语言,c语言,开发语言

结果分析: 

我们可以看到arr1有\0作为结束标志,arr2数组是没有\0作为结束标志,我们在通过运行结果图可以看到

arr1打印完abc就停下来了

arr2打印完abc就是烫烫烫烫.....

在里面最大的问题就在于\0,我们前面说了\0是字符串的结束标志

我们还可以通过字符数组在内存中的表示形式来理解\0的重要性:

arr1的内存布局

a b c \0

因为有\0所以就只打印到c就停止了,就证明了\0的重要性

arr2的内存布局

a b c 

后面是啥不知道,我只知道我在数组里面放了abc,后面是不是\0不知道所以当%s打印arr2的时候,字符串打印一定是遇到\0停止,当c打印完之后要不要打印呢,取决于后面有没有\0,我们这个结果可见没有遇到\0,直达在某一个一个地方遇到\0了,恰好又是他随机碰上的一个\0才停止打印。这就证明了\0的重要性

3.1我们在arr2的字符串数组后面加一个\0然后看结果

我们通过代码+注释和结果运行图来理解:

int main()
{
	char arr1[] = "abc";
	//我们这个地方看到的是这样一个现象,隐藏了一个\0
	char arr2[] = { 'a' , 'b' , 'c' ,'\0'};
	//如果这里主动放一个\0呢,我们打印看一下
	// 这个时候就是两个abc了
	//我们说C语言里面两个单引号引起来的是一个字符,中间是一个逗号
	//我们可以看到后面没有\0
	//现在开始打印字符串
	//pfintf()怎么来打印字符串呢很简单
	//一个"%s"就可以打印
	printf("%s\n", arr1);//就是把arr1这个里面的字符串数组打印出来,打印完换个行
	printf("%s\n", arr2);//就是把arr2这个里面的字符串数组打印出来,打印完换个行
	//这就是我们现在的打印两个字符串
	//看一下我们的效果
	return 0;
}

C语言王国探险记之字符串+注释,c语言,c语言,开发语言

 我们可以看到运行结果图,在arr2后加一个\0就可以被编译器正常的识别结束

再一次证明了\0的重要性

四,我们还可以通过计算字符串长度来证明字符串后面有一个隐藏的\0

提前知道:

我们计算字符串长度用到一个函数叫strlen()
str就是字符串的意思,len就是计算的意思
strlen()是一个库函数 -- 求字符串长度的,统计的是字符串中\0之前的字符个数
#include <string.h>//是strlen()这个函数所需要的头文件,string就是字符串的意思,
注意你使用字符串系列的的函数都需要引用这个头文件

我们通过代码+注释和结果运行图来理解:

//我们计算字符串长度用到一个函数叫strlen()
//str就是字符串的意思,len就是计算的意思
//strlen()是一个库函数 -- 求字符串长度的,统计的是字符串中\0之前的字符个数
//#include <string.h>//是strlen()这个函数所需要的头文件,string就是字符串的意思,
//注意你使用字符串系列的的函数都需要引用这个头文件
int main()
{
	char arr1[] = "abc";//我们统计arr1的时候我们统计到c就停止了,
	//因为遇到了\0,所以统计出来是3
	char arr2[] = { 'a','b','c' };
	printf("%d\n",strlen(arr1));//长度肯定是整数嘛,我们用%d来打印
	//strlen在数arr1的时候应该是3
	printf("%d\n", strlen(arr2));//求长度的时候也是遇到\0才停止,所以是一个随机的值
	//在计算字符串长度的时候\0是结束标志,不算作字符串内容。是统计个数的时候不统计在内的
	//但是对于arr2来说统计玩c,后面还要统计多少个字符才能遇到\0都是未可知的
	//所以strlen统计的arr2是多少是不知道的,就可能是一个随机值
	return 0;
}

C语言王国探险记之字符串+注释,c语言,c语言,开发语言

 解释:

arr1和arr2的区别呢?
他们里面就差一个\0
像arr2这种没有\0的字符串是不能使用%s来打印的
但是你想要使用%c一个一个字符的去打印也是没有问题的
上面这些就是为了告诉我们字符串是上面,已经字符串中的\0是干什么的,
她是作为字符串的结束标志而存在的
这个结束标志是在统计长度的时候,和打印的时候遇到\0就停止了

五,注释

1,代码中不需要的代码可以直接删除,也可以注释掉
 我们就会将写注释方便我们去理解,当我们遇到不想删除的代码我们就可以注释掉,
 让其不在发挥作用
2.代码中有一些代码比较难懂,可以加一下注释文字
我们在上面写的代码当中,为了让我们更好的去理解代码,
写注释就是一个解释这个东西到底是啥,有啥用,帮助我们理解代码,帮助别人阅读代码的

int main()
{	
	/*这种注释方式是C语言自带的,可以一次注释多行,
	但是这种注释方式是不能嵌套注释的,如果它里面已经有了/**/就会不能完全注释掉*/
	//这是c++的注释方式
	int a = 10;//创建一个整型变量,并赋值为10
	return 0;
}

c语言风格的注释/*xxxxxxx*/

        缺陷:不能嵌套注释
c++语言风格的注释//xxxxxxxx
        可以注释一行也可以注释多行,能嵌套注释


总结

以上就是今天要讲的内容,本文仅仅简单介绍了字符串的基本概念及和注释,可以让你在c语言王国的探险更加有趣,充实。文章来源地址https://www.toymoban.com/news/detail-605047.html

到了这里,关于C语言王国探险记之字符串+注释的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】字符串+注释

    前言 一,什么是字符串呢? 1,那C语言是怎么表示字符串的呢? \\\"hello world.n\\\" 2,证明字符串的结束标志是一个 \\0 的转义字符 3,证明字符串的结束标志\\0 的重要性 3.1我们在arr2的字符串数组后面加一个\\0然后看结果 四,我们还可以通过计算字符串长度来证明字符串后面有一个

    2024年02月14日
    浏览(36)
  • C语言篇 -(1)初识C语言 - (5)字符串-转义字符-注释-1

    我是一名初学者,我会以我的角度来展现学习编程的一个过程,每个阶段的对知识点的理解都将写在上面,如果后续对知识点的理解有所偏差,我将会在最上面备注所要纠正的地方,并在新发布的博客上面,提醒之前哪个博客的知识点需要纠正,每个阶段全部发完之后将会总

    2023年04月24日
    浏览(48)
  • 在 C 语言中添加注释、包含头文件和使用 printf 函数输出字符串的方法

    注释是程序员在编写代码时添加给自己或其他人的说明文字,用来提高代码的可读性,方便理解。注释通常会添加在代码的关键部分以及不易理解的地方。 在C语言中,注释可以使用两种方式:单行注释以及多行注释。单行注释使用\\\"//\\\",多行注释使用\\\"/* */\\\"。多行注释不可嵌套

    2023年04月22日
    浏览(50)
  • 【玩转Linux操作】详细讲解shell的注释,变量,字符串,数组等操作

    🎊专栏【玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Counting Stars 】 欢迎并且感谢大家指出小吉的问题🥰 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用

    2024年02月11日
    浏览(43)
  • 【Day28】力扣算法(超详细思路+注释) [1790. 仅执行一次字符串交换能否使两个字符串相等 ] [328. 奇偶链表 ][148. 排序链表]

    原题链接:1790. 仅执行一次字符串交换能否使两个字符串相等 题目描述 : 给你长度相等的两个字符串 s1 和 s2 。一次 字符串交换操作的步骤如下:选出某个字符串中的两个下标(不必不同),并交换这两个下标所对应的字符。 如果对 其中一个字符串 执行 最多一次字符串交

    2024年01月22日
    浏览(43)
  • Java中字符串拼写常用方法和高级技巧,举例并说明,加上注释和实际运行效果说明

    Java中字符串拼写常用方法和高级技巧,举例并说明,加上注释和实际运行效果说明 目录 1、使用\\\"+\\\"操作符拼接字符串 2、使用StringBuilder类拼接字符串 3、使用String.format()方法格式化字符串 4、使用String.concat()方法拼接字符串 5、使用String.join()方法拼接字符串 6、使用StringBuffe

    2024年02月11日
    浏览(37)
  • 字符串变换最小字符串(C语言)

    给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。 变换规则:交换字符串中任意两个不同位置的字符。 一串小写字母组成的字符串s 按照要求进行变换得到的最小字符串。 输入 abcdef 输出 abcdef 说明 abcdef已经是最小字符串

    2024年02月22日
    浏览(32)
  • c语言字符串转数字,数字转字符串

    目录 一、字符串转数字 1. 标准库转换 atoi(),字符串转换成整型数 atol(),字符串转换成长整型数 atof()字符串转换为浮点值 atoll(),字符串转换成长长整型数 strtod(),字符串转换为浮点数  strtol(),将字符串换成长整型数 二、数字转字符串 1. 通过C语言标准库函数 itoa(),整数转换成字符

    2024年02月02日
    浏览(37)
  • C语言:字符函数和字符串函数(一篇拿捏字符串函数!)

    目录 求字符串长度: 1. strlen(字符串长度) 长度不受限制函数: 2. strcpy(字符串拷贝) 3. strcat(字符串追加) 4. strcmp(字符串比较) 长度受限制函数: 5. strncpy(字符串拷贝) 6. strncat(字符串追加) 7. strncmp(字符串比较) 字符串查找: 8. strstr(查找字符串子串) 9. strtok(字符串分割) 错误信

    2024年02月10日
    浏览(101)
  • 【c语言】字符串的基本概念 | 字符串存储原理

    创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡𖥦)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ c语言系列专栏: c语言之路重点知识整合 字符char知识点

    2024年02月03日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包