初识C语言之二
Posted Echoyaho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识C语言之二相关的知识,希望对你有一定的参考价值。
前言:
距离上次更新已经过去几个月了,因为忙着做其他事情,把博客这一块落下了,今天开始博主会一直更新关于C语言的知识从入门到进阶的,请大家多多支持,如果哪里博主哪里说错了,请一定告诉博主,进行改正!
上一篇博客们讲到了字符串,那么这一篇博客我们就从转义字符开始讲解
一、转义字符
首先我们来了解一下什么是转义字符:
转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。因此转义字符开头的字符序列被叫做转义序列。
简单的来说,转义嘛就是转换字符的意义,将一个字符转换成另一不同于这个字符的意义。
举一个简单的例子:我们怎么在屏幕上打印一个路径,就类似于这种的:c:\\code\\test.c
#include <stdio.h>
int main()
{
printf("C:\\code\\test.c");//这是错误的,这个的打印结果我贴在代码下面:
return 0;
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RIGzkfKG-1629185087212)(C:\\Users\\devil\\Desktop\\博客草稿\\初识C语言\\打印转移字符.png)]
结果不是我们预想的那样,为什么呢?
因为,在这里的’\\t’是一个转义字符,它转换成了制表符,所以中间空了那么大一块,为什么’\\c’没有转义呢,因为它不是一个规定的转义字符,编译器无法 识别,所以就没有对它进行转义。还有在这里我们可以看到,转义字符都是使用的’’+字符这样的组合,但是我们不能将它当做两个字符来看,它是一个字符,一个转义字符,在存储的时候也只算一个字节。计算长度的时候也是,它也是看做一个字符计算的。
然后继续说上面那段代码,我们要怎样才能打印出那个路径?其实,我们只需要将’\\ ‘进行转义就行了,因为’\\ ‘转义过后打印出来还是’\\ '。
所以我们将代码进行如下调整就可以正确打印出路径了
#include <stdio.h>
int main()
{
printf("C:\\\\code\\\\test.c");
return 0;
}
还有像我们打印的换行符’\\n’,也是一个转义字符,它转义之后的功能就是换行。接下来我把常用的转义字符贴在这里,仅供参考:
转义字符的内容就是这一些了,接下来我们讲一讲注释
二、注释
每种编程语言都有注释这种功能,C语言当然也不例外,我们要善用注释,多用注释,给代码增加可读性。使用注释我们可以为比较难懂代码添加一些注释文字,可以是解释代码的功能,也可以是解释代码的实现思路,以便别人或者自己以后看代码更容易理解这段代码。然后也可以将暂时不需要,后面可能要用的代码注释掉,在调试的时候就可以使用这中方法。
C语言是怎样进行注释呢?
C语言中的注释风格:/* xxxxcodexxxx */
这种注释风格的缺陷就是不能进行嵌套注释
#include <stdio.h> int main() { /*/**/*/ //这样的注释在C语言中是会出现错误的,C语言的注释是从第一个/*开始到第一个*/结束,中间的/*和最后的哪一个*/会失效,没有作用。 return 0; }
C++中的注释风格://xxxxxcodexxxxx
这种注释风格可一行也可以多行
#include <stdio.h> int main() { //C++的注释风格 //可以多行使用 //不会像C风格那样出现错误 return 0; }
注释就讲这么多,接下来我们再看一看选择语句~
三、选择语句
什么是选择语句呢,顾名思义,就是进行选择的语句,选择不同就执行不同的语句。
我们常用的选择语句就是if语句和if else语句。
这两条语句的用法就是
#include <stdio.h
int main()
{
float temperature=30;
if(temperature>30)
{
printf("吃雪糕");
}
//这就是if语句的用法,只要temperature大于30,就会打印吃雪糕否则就结束,接着执行这个代码块以后的代码。
if(temperatrue>30)
{
printf("吃雪糕");
}
else
{
printf("吃火锅");
}
//if else的简单用法就是这样的了,只要不满足if里面的语句,就会执行else下面的语句。
return 0;
}
选择语句还有好多其他的只是,但鉴于这只是初识C语言只用有一个简单的了解就行了 ,我们以后再更深入的学习选择语句,然后我们开始讲循环语句
四、循环语句
就是反复的执行一条或一段代码的语句,叫做循环语句。在C语言中有while循环,for循环do……while循环。不过我们今天只讲while循环
while循环的语法:
int main()
{
while(循环控制条件)
{
//满足循环控制条件就开始反复执行的循环语句
//当循环控制条件不满足之后就跳出循环,继续执行这段语句之后的代码
}
return 0;
}
实例:
#include <stdio.h>
int maint()
{
int temperature=0;
while(temperature<30)
{
printf("温度太低,我要吃火锅\\n");
temperature++;
}//当temperature增长到30的时候就会跳出循环执行后面的if语句
if(temperature>=30)
{
printf("太热了,吃雪糕\\n");
}
return 0;
}
关于循环就简单讲解到这里,我们来了解一下下一个知识点,函数
五、函数
函数,在各种语言都是必不可少的一部分,也是最重要的一部分之一。函数的作用就是简化代码,代码复用。换句话说就是将自己要反复使用的功能,封装成一个函数,再使用这个功能的时候就不用再去写同样的代码了,只需要调用函数就可以了,这样就能避免代码的冗余。
接下来用一个实例的代码演示一下怎样使用和定义函数。
#include <stdio.h>
int Add(int x,int y)
{
return x+y;
}
// Add 是函数名调用的时候只需要用 函数名(传参) 就可调用函数了
//Add 前面是函数的返回值类型就是 return语句返回的值的类型
//Add 后面的int x,int y就是规定传进来参数是什么类型的
int main()
{
int num1=1,num2=2;
int ret=Add(num1,num2);
//这里就是在调用Add函数,将num1,和num2传入函数Add进行计算,然后将返回值赋值给变量ret
printf("%d",ret);
return 0;
}
函数的简单使用和定义就是这样了,深入一点的知识我们到后面会专门讲解函数的,所以后面再讲,我们接着往下走
六、数组
数组,就是一个集合,里面存放的是同一种类型的元素,比如一个int类型的数组可以存放1-10的数字,一个char类型的数组可以存放a-z的字母等等。
在C语言中给数组的定义是:一组相同类型元素的集合
然后我们来说怎样在程序中定义和使用数组
#incude <stdio.h>
int main()
{
int arr[10]={1,2,3,4,5,6,7,8,9,10};
//定义了一个整型数组,数组中最多能存放10个整型的元素
int i=0;
while(i<10)
{
printf("%d",arr[i]);
i++;
}
//我们是通过数组的下标来对数组中的每一个元素进行访问的,每一个数组的下标都是从0开始的,所以我们定义的arr这个数组虽然有10个元素但是它的下标是0-9如果超出了这个界限就是数组越界访问,会报错,至于什么是越界访问我们后面在讨论。
return 0;
}
接着介绍下一个内容,操作符
七、操作符
操作符呢,在这里也只是简单介绍一下操作符的用法,不详细讲解,后面会写一篇博客专门讲解操作符的
操作符分为好几类
-
算数操作符
顾名思义,是进行算数的操作符,有以下几种+ - * / %前面四种是常用的算数操作符就不讲了,我们就说一说这个%这个操作符呢,是取模,就是取两个数相除的余数。
-
移位操作符
移位操作符就只有两个<< >>一个是左移,一个是右移,移位操作移的是二进制位,就是将一个数转换为二进制位然后左移几位或者右移几位。
具体的用法呢是这样的:
int main() { int a=1; a=a<<1; //就是将a的二进制位向左移了一位,得到的结果就是a=2了 //因为a的二进制位是这样的 //00000000000000000000000000000001 //左移一位 //00000000000000000000000000000010 //再转换为十进制就是2了 return 0; }
-
位操作符
虽然和移位操作符只差了一个字,但是作用是完全不同的,位操作符有三个& ^ |分别是按位与操作,按位异或操作,和按位或操作。位操作嘛,当然还是在二进制位上进行操作的。&就是两个二进制位只有同为1时,结果才为1,^就是两个二进制位不相同时结果为1比如1 ^ 0
和0 ^ 1(这里的0和1都是二进制位,不是十进制数字)的结果就是1,|就是只有两个二进制位都为0时,例如0 | 0的结果才是0。
-
赋值操作符
就是给变量赋值的操作符,一般使用=来给变量进行初始化,然后还有一些赋值操作符例如+= -= /= *= >>=等等这些操作符我简单说一下用法,例如+=。
#include stdio.h> int main() { a=1; a+=1; //其实a+=1就等于a=a+1; //所以此时a的值已经是2了 //后面的-= /= *= 都是一样的 return 0; }
-
单目操作符
单目操作符是指,只需要一个操作数就能运行的操作符。
常用的单目操作符和作用有这些:
! 逻辑反操作符 - 负值 + 正值 & 取地址 sizeof 操作数的类型长度(以字节为单位) ~ 对一个二进制数安慰取反 – 前置、后置– ++ 前置、后置++ ***** 间接访问操作符(解引用操作符) (类型) 强制类型转换 我把单目操作符的用法以及运行的结果用图片贴在这里。
-
关系操作符
就是判断两个操作数之间的关系,主要有> < >= <= != ==,意思显而易见,我就不多讲了,就说一下这个 != 和 == 这两个 != 适用于测试两个操作数是不相等的 == 适用于测试两个操作数相等的。记住,判断是否相等是 ,两个’=’,不要漏写了。
-
逻辑操作符
就两个&& ||,&&是逻辑与操作符,只有两个条件同时满足,结果才为真,||是逻辑或操作符,只要有一个为真整个表达式的结果就都为真
-
条件操作符
exp1?exp2:exp3
exp是表达式的意思,这个操作符的意思是,exp1的结果是真,那么就执行exp2这个表达式,否则就执行exp3这个表达式
-
逗号表达式
逗号表达式就是用逗号的表达式嘛
形式是这样的:
exp1,exp2,exp3,……,expn
逗号表达式中的每一个表达式都会依次执行,但是整个表达式的结果取决于最后一个表达式。
-
下标引用、函数调用和结构成员
[] — 下标引用操作符,用于数组,前面示范过了,就不再演示了
() — 函数调用,前面也用过了,也不演示了,不过()不只是用来函数调用,还有其他作用以后再说
. -> — 这两个都是结构体成员操作符,后面讲到结构体的时候再示范
结语:
今日份的更新就到这里了,明天还有C语言知识的后续更新~~
以上是关于初识C语言之二的主要内容,如果未能解决你的问题,请参考以下文章