《初识C语言二(注释&字符串&转义字符&选择循环语句&函数&数组&操作符》

🌹作者:小泽同学~
📝csdn个人主页:小泽同学~
📝码云:classmate-mzq
🤟motto:己所不欲,勿施于人and勿以善小而不为,勿以恶小而为之
————————————————

前言:不出意外的话,我将在这里记录我的大学编程学习。
因为我也是小白,所以如果大家看到问题的话,可以直接在下面评论或者加我v私我,感谢大家!
个人v:m0106gm(添加的话麻烦备注csdn)
祝我们前程似锦

本人使用的开发环境工具是vs2022


1.注释

  1. 代码中有不需要的代码可以直接删除,也可以注释掉
  2. 代码中有些代码比较难懂,可以加一下注释文字(!这是我们添加注释的最主要的原因,解释复杂的代码,方便以后自己修改或其他人看懂你在写什么)

注释有两种风格(这里说风格,也就是说比较常用,但是无论什么编程语言俩种注释方法都是可行的):

  • C语言风格的注释 /* xxxxxx */
    缺陷:不能嵌套注释
  • C++风格的注释 //xxxxxxxx
    可以注释一行也可以注释多行
int main()
{
	//int a=10;   //c++注释风格
	/*
	int b=19;
	*/          //c语言注释风格
	return 0;
}
//   /* xxxxx */————不支持嵌套,例如下面的操作会报错: 
/*
int main()
{
	//int a=10;   //c++注释风格
	/*
	int b=19;
	*/          //c语言注释风格
	return 0;
}
*/

2.字符串

int main()
{
   
	"hdjah";
	"123jhaj";
	"Hello World\n";
	return 0;
}

定义:“hdjah”,“1213jhaj”,“Hello World\n”,这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。
注:字符串的结束标志是一个\0的转义字符。每一个字符串的结尾都隐藏了一个\0字符作为结束标记,只是表面上你看不到。在计算字符串长度的时候 \0是结束标志,不算作字符串内容。

清晰的认识到\0的作用1.0,知识储备>

  1. 数组:可以存放同种数据类型的数据类型
    字符数组:可以存放各种字符的数据类型
    字符数组定义:char a[];其中,char[ ]是字符数组类型,a是变量名。
  2. 字符数组初始化:char a[]="Hello";orchar a[]={'H','e','e','l','o'};
  3. 打印字符串:打印字符串的格式字符为%s,即printf("%s",a);输出Hello
#include <stdio.h>
int main()
{
   
	char arr1[] = "hello";
	char arr2[] = {
    'h','e','l','l','o' };
	printf("%s\n", arr1);
	printf("%s\n", arr2);
	return 0;
}

猜猜看会打印什么?

在这里插入图片描述

是不是完全没有想到啊!这就是\0的作用体现了:
事实上,第一种初始化的方法,它会在后面默认添上\0,即第一种初始化后arr1里面的内容其实是hello\0,而第二种初始化后arr2的内容就只是hello,所以当我们打印数组arr1时,当它打印到\0就停止了,而当我们打印数组arr2时,我们并不清楚hello后面的内容是什么,所以打印hello后后面的内容完全是随机的,直到它遇到了\0,才停止打印。

而如果我们这样做,即主动在数组arr2里面添一个\0:

#include <stdio.h>
int main()
{
   
	char arr1[] = "hello";
	char arr2[] = {
    'h','e','l','l','o','\0'};
	printf("%s\n", arr1);
	printf("%s\n", arr2);
	return 0;
}

打印:
在这里插入图片描述

清晰的认识到\0的作用2.0,知识储备>
函数strlen:: 作用:求字符串的长度,即传入一个字符串,会返回这个字符串的长度
使用方法:需要引用头文件string,即这样:#include <string.h>

#include <stdio.h>	 //使用了函数printf
#include <string.h>  //使用了函数strlen
int main()
{
   
	char arr1[] = "hello";  //初始化数组arr1
	char arr2[] = {
    'h','e','l','l','o',};  //初始化数组arrr2
	//定义俩个整型变量用来存放函数strlen的返回值,即字符串的长度
	int a1 = 0, a2 = 0;  
	a1 = strlen(arr1);
	a2 = strlen(arr2);
	printf("%d\n", a1);
	printf("%d\n", a2);
	return 0;
}

一样,猜猜会打印什么呢?

在这里插入图片描述

如果你猜对了,那你真是。。。赶快去买彩票吧。


函数strlen,当它遇到\0时结束计算,返回字符串的长度,而上面一开始也说了:计算字符串长度的时候\0是结束标志,不算作字符串内容。
因此数组arr1输出打印5,表面arr1的长度为5,理所当然,arr1就包含了"hello"5个字符嘛。那么数组arr2呢?:是一个随机值!我们并不清楚数组arr2中hello后面的内容是什么,所以strlen会一直计算下去,直到它遇到了\0,才停止并返回字符串的长度。

#include <stdio.h>	 
#include <string.h>  
int main()
{
   
	char arr1[] = "hello"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小泽同学~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值