🌹作者:小泽同学~
📝csdn个人主页:小泽同学~
📝码云:classmate-mzq
🤟motto:己所不欲,勿施于人and勿以善小而不为,勿以恶小而为之
————————————————
前言:不出意外的话,我将在这里记录我的大学编程学习。
因为我也是小白,所以如果大家看到问题的话,可以直接在下面评论或者加我v私我,感谢大家!
个人v:m0106gm(添加的话麻烦备注csdn)
祝我们前程似锦
本人使用的开发环境工具是vs2022
1.注释
- 代码中有不需要的代码可以直接删除,也可以注释掉
- 代码中有些代码比较难懂,可以加一下注释文字(!这是我们添加注释的最主要的原因,解释复杂的代码,方便以后自己修改或其他人看懂你在写什么)
注释有两种风格(这里说风格,也就是说比较常用,但是无论什么编程语言俩种注释方法都是可行的):
- 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,知识储备>
- 数组:可以存放同种数据类型的数据类型
字符数组:可以存放各种字符的数据类型
字符数组定义:char a[];
其中,char[ ]是字符数组类型,a是变量名。- 字符数组初始化:
char a[]="Hello";
orchar a[]={'H','e','e','l','o'};
- 打印字符串:打印字符串的格式字符为
%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"