字符串(“\0”)
" Hello world"
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
顾名思义字符串就是一串字符
C语言没有这种类型,所以通常存放在数组中
//字符 char ch='w'; //字符串 char arr1[]={ 'H','e','l','l','o'}; char arr2[]="hello";
字符串的结束标志’\0’;
注:字符串的结束标志是一个\0的转义字符。
在计算字符串长度的时候\0是结束标志,不算作字符串内容。
可以直观看到字符串arr2内有6个字符,而字符数组只有5个字符
打印arr1和arr2时因为打印函数遇到‘\0’才会停止打印
所以arr1在后面找了很久才遇到’\0’所以Hello后面都是随机值
那‘\0’算字符串长度吗?
strlen计算字符串长度函数遇到’\0’计算结束
arr1找了31个字符才找到结束标志‘\0’
所以‘\0’并不算字符串长度
总结
字符串的结束标志是一个\0的转义字符。
在计算字符串长度的时候\0是结束标志,不算作字符串内容。
转义字符
当你要打印你的文件路径时
就很迷,为什么这样呢?
这是就要提到转义字符这个概念了
难道转义字符是转变了该字符的本来意思?
下面看一些转义字符
转义字符的使用
看了转义字符成功打印了正确的路径
自己可以去试试
C注释
1.代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
注释有两种风格:C语言风格的注释/xxxxxx/
缺陷:不能嵌套注释
C++风格的注释//xxxxxxxx可以注释一行也可以
VS默认c++风格
注释快捷键
选择(分支)语句
我们先来认识一下最简单的选择语句
eg:如果好好写博客,你就能获得粉丝,不写博客就没得粉丝!
if else 语句 如果 否者
怎么用带吗实现呢?
上代码
int main() { int blog=0; scanf("你会好好写100篇博客>1\0"); if(blog==100) { printf("收获粉丝\n"); } else { printf("没有粉丝\n"); } return 0; }
循环语句
有些事必须一直做,比如我要日复一日的写博客,比如大家,日复一日的学习。
for 循环
while循环
do while 循环
我们在拿上面的代码举例
用while循环实现
int main() { int blog=0; printf("你会好好写100篇博客>1\0"); while(blog<100)//当blog<100进入循环 { blog++; //blog数加一 printf("再写一遍博客\n"); } //循环结束来到这 printf("很多粉丝\n"); return 0; }
函数
函数是一个自我包含的完成一定相关功能的执行代码段。我们可以把函数看成一个“黑盒子”,你只要将数据送进去就能得到结果,而函数内部究竟是如何工作的,外部程序是不知道的。
函数了解
还记得我们一开始写的这个程序吗?
让我们先从main函数开始吧
int main() { return 0; }
函数名:main是函数名,函数名一般自己书写,就像创建变量一样
参数:()里面可以输入参数,参数由类型名和变量名组成, 因为main函数的参数为空(void)可以省略
返回值:返回值即是这个函数可以返回某些量 比如 int 说明这个函数最后会返回一个int的量,retun 0 说明该函数的返回值为0;某些函数不需要返回值 写成void
函数体:{ }里面的内容便是函数体,由很多语句构成
我们已经认识到了上面这个便是主函数,那我们自己尝试写一个函数
int Add(int x,int y) //实现加法功能的函数 { //函数体 return x+y;//返回x+y的和 } int main() { int a=0,b=0,sum=0; sum=Add(a,b); //调用该函数 }
学到这里,想必你已经对函数有了一定的了解
那就够了,哈哈哈其实博主现在也就只会这点点
数组
数组(Array)是有序的元素序列。 [1] 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 [1] 这些有序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
int arr[5]={1,3,4,5};//int指数组类型是int // arr是数组名 // [5]是数组长度 char ch[]={'a','b','c'};//初始化时数组类型也可省略
你是否注意点arr数组并不是从1开始而是从0开始
一开始初始化的arr[10]只是定义数组长度为10
而后面对数组的存放则是从0开始到9 ,10个数。
切记不可越界 对arr[ 10]进行操作是错误的。