当前位置:主页 > 查看内容

C语言入门(基础二)

发布时间:2021-05-06 00:00| 位朋友查看

简介:延续上作本篇博客带大家继续入门C语言 运算符 C语言三大结构 顺序结构 选择结构 循环语句 运算符 C语言为我们提供了很多的运算符有单目运算符双目运算符和三目运算符这里的一目二目三目指的是操作的对象个数我们可以使用这些运算符来解决一些实际的问题接下……

延续上作,本篇博客带大家继续入门C语言

运算符

C语言为我们提供了很多的运算符,有单目运算符,双目运算符和三目运算符,这里的一目二目三目指的是操作的对象个数,我们可以使用这些运算符来解决一些实际的问题,接下来就一一认识一下吧:

赋值运算符:‘=’就是赋值运算符,是双目运算符,可以使用它对变量进行赋初值,例如:
在这里插入图片描述
我们在上面的代码中分别对a,b,c赋了初值,在后面我们使用到它们的时候它们的值就是我们赋给他们的,这就是赋值操作符。

算术运算符:‘+’ ,‘ -’,‘*’,“/”,“%”,这些都是双目运算符,/是除法,%是取模(余数),这些运算符想必大家是很熟悉的,数学中经常用到,在这里我想多说的是C语言只会进行加法运算,所谓的减法其实是加负数。
这里还有两个大家不熟悉的算术运算符‘++’和‘- -’(这里的减减中间是没有空格的,因为编译器的问题我加了一个空格以让大家看清),这两个运算符是自增和自减的意思,要注意它们放的位置不同效果不同,上代码:
在这里插入图片描述
在这里插入图片描述
可以看到我们对a赋初值为0,在输出的时候应该是a++,应该是++a,可以看到结果是不同的。
++在变量的前面,是先对变量的值加1,再使用变量,如果是在后面先使用变量的值,再对变量进行加一操作。
在这里插入图片描述
现在应该清楚了吧。

关系运算符
“>”,"<=",">=","==","<","!=",双目运算符,关系运算符的含义很简单,它是用于两个值的比较,返回的值只有两个,关系成立返回真,关系不成立返回假,真值是1,假值是0,上代码:
在这里插入图片描述
在这里插入图片描述
两次的代码不一样之处就是b和c的值相不相等,==是判断左右两边的值是否相等的运算符,我们将其结果存放到a中去,可以看到b与c相等时a=1,不相等时a=0,所以说关系运算符只会返回1/0;

这里我想多说一些,一定要区分==和=,它们是完全不一样的运算符,前者起的是判断作用,后者则是赋值,如果使用错误会造成不可预期的错误,所以一定不要记混了,即使是一些经验丰富的程序员有时候也会反这种错误。

逻辑运算符
“&&”,“||”,“!”,这三个叫逻辑运算符,它们会根据表达式的真假返回真值或者假值,是不是和上面的关系运算符有点类似?不同的是这里的真是非0值(等价1),假依然是0.

“&&”:双目操作符,逻辑与,两边都为真的时候返回真,有任何一方为假就返回假。
在这里插入图片描述
a为假,所以返回0.

“ ||” :双目操作符,逻辑或,只要有一边为真就返回真,否则返回假。
“ !”:单目操作符,逻辑非,就是把真变成假,把假变成真

位逻辑运算符
“&”,“|”, “^” , " ~"
“&”:按位与,双目运算符,相同为1,不同为0。
“|”:按位或,双目运算符,有1为1,无1为0。
“^”:按位异或,双目运算符,相同为0,相异为1。
“ ~ ”:按位取反,单目运算符,将1变成0,0变成1。
要注意这里的按位的意思是按照二进制的补码进行,这也就意味着这些运算符不能对小数使用,不清楚补码的小伙伴快去补知识啦。

移位运算符:和上面的一样,也是对二进制补码进行
“<<” :左移运算符,将二进制补码左移一位,在最低位补0;
例如:将0001左移一位得到的是0010。
“>>”:右移操作符,将二进制补码右移一位,最高位补原来的最高位(符号位)
例如:将1000右移一位得到1100。

复合赋值运算符:其实是一种缩写
"+= " "-= " " * = " "/= " " %= " "&= " "|= " "~= " “^=”
a+=b其实就是a=a+b;其他的运算符都是一样的。

优先级:非常重要的一个概念,运算符的优先级会决定运算顺序,就好比乘除要比加减先算,以下是运算符优先级表,每一本C语言的入门书都会有这张表:

在这里插入图片描述
这里建议大家直接上手操作,多练。

C语言三大结构

所有的C语言程序都是由这三种结构组成的,可见这三大结构的重要性。

顺序结构

顺序结构是最简单的了,它就是说C语言的每条语句都是自上而下执行的,不会无缘无故地跳过某个语句,也不会无缘无故的重复执行某条语句,从前面的代码中可以看出,在基础一中的最简单程序中只打印了一个Hello world,没有重复打印。

选择结构

选择结构可以决定哪些语句执行,哪些语句不执行。

if语句
首先来看看if语句的基本形式
在这里插入图片描述
除了这种形式外还有如下:
在这里插入图片描述
但是仅仅上面的两种形式是不够用的,例如以下代码;
在这里插入图片描述
这里我想通过输入不同的a来输出不同的值,但是当我输入1的时候却出现了问题,他竟然同时打印了haha和lala,通过分析我们也很容易找出问题,a=1的时候第一个if为真,执行输出了haha,但是程序未结束,继续向下,第二个if判断为假,没有执行hehe,但是else可就要执行了,于是输出了lala。

为了解决这样的问题,C语言的if语句还有一种形式:

在这里插入图片描述

多了一个else if(),就能够解决上述的问题,a=1的时候if判断为真,那么就会跳过后面的else if和else,从而避免了上述问题的发生。
在这里插入图片描述
假如我要在a大于10的时候输出haha,再a大于0且小于10的时候输出hehe,其他的时候输出lala,那么我在写第二个判断的时候就不用写成a>0&&a<10了因为当if判断为假的时候a必然是小于10的,这样就不用重复书写了。

switch语句:C语言选择语句的另外一种。
基本形式如下:
在这里插入图片描述
注意switch后面的变量必须是整形,可以是整形表达式,char也可以,每条语句后都有一个break,可以在执行完语句后跳出选择语句,不会执行下面的语句,如果没有了break,那么下面的代码会出现这样的问题
在这里插入图片描述

在这里插入图片描述
这里令a=‘\0’字符,\0对应的阿斯克码值是0.所以打印了XXXXX,C语言的整形和字符是相通的。

循环语句

循环语句可以让计算机重复的执行某些特定的语句,以完成较复杂的工作。

while循环
在这里插入图片描述
这是while循环的基本写法,括号内可以是表达式,变量名,数字等等,如果是数字的话要么循环会一直进行,要么循环不会进行。
在这里插入图片描述
这样的代码就不会死循环,因为我们人为设置了进入循环的条件,当a大于5的时候表达式就为假,就不会进入循环了,当然我们也可以是使用break来跳出循环,就像这样。
在这里插入图片描述
for循环:for循环是使用比较频繁的一种循环。
在这里插入图片描述
for循环的执行次序如下
1:先执行对变量初始化的语句
2:判断循环条件是否满足
3:若满足则进入大括号执行语句块/若不满足则循环结束
4:执行完语句块后执行语句1.
上面的是第一次for循环的执行步骤,下一次循环的时候就不会执行对变量初始化的语句了,其他的还是一样的。
在这里插入图片描述
这就是一个简单的for循环,当然我们也可以使用break来跳出循环。

还有一种循环叫do while循环
在这里插入图片描述

可以看到do while循环有一个不同于while循环和for循环特点,那就是它在进行第一次循环的时候并没有判断是否进行循环的条件,所以do while循环是一定会进行一次循环的,第二次循环是否进行则需要看循环条件是否满足。
在这里插入图片描述
这里要说所有的循环和选择结构都是可以互相嵌套使用的,比如再while里面使用if,都是可以的。

看得再多也不如上手写上几句代码,C语言的三大结构是很重要的,多练,多想才能够很好的掌握,让我们一起加油,像大厂进发!!!

如有错误恳请读者斧正。

;原文链接:https://blog.csdn.net/qq_55229149/article/details/115448960
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐