分支和循环

  C语言是结构化的程序设计语言,这里的结构化指的是顺序结构、选择结构和循环结构,其中选择结构又称为分支结构,循序结构很简单,指的是从上到下一条语句一条语句执行的结构,在编写代码的时候,我们可以使用if......else语句、switch语句来实现,可以使用while、for、do......while语句来实现循环结构。

1.if语句

  

if语句后面的括号()用来填写表达式,C语言中0表示假,非0的数表示真,当()里面的表达式是真的(即结果时非0的数)时,程序将会进入到if语句中执行大括号{}里面的语句,if后面默认跟1条语句,如果想要写的语句有多条时,就需要使用{},把语句写在{}里面,当只有一个对象需要进行判断的时候,我们使用if就足够了,当有两个对象需要进行判断的时候我们就需要搭配else进行使用了,当需要对3个及以上的对象进行判断的时候我们就需要使用到else if。if放开头,else放最后,else if放在if和else之间,if和else if后面有(),else后面没有(),直接跟着语句。

三者没有加{}的话后面都只默认跟一条语句。

2.关系操作符

  表达式里面关系操作符的使用是非常频繁的,因此我们需要对此进行一些了解。

==表示等于

>=表示大等于

<=表示小等于

!=表示不等于

=表示赋值

3.条件操作符

条件操作符又叫做三目操作符

三目操作符开头是一个表达式,后面跟着“?”,意思是判断这个表达式是否正确,如果正确,则执行“:”前面的语句,如上图的a++,如果错误,则执行“:”后面的语句,如上图的b++

4.逻辑操作符

逻辑操作符有三种

(1)“||”,表示或者,这个操作符号的左右跟着两个表达式,程序会从左到右判断两个表达式i,但这个操作符具有“短路性”,因为这个操作符表示或者,所以两个表达式只要有一个是真的(结果非0)就好了,如果左边的表达式是假的,程序会继续判断右边的表达式,如果右边的式子结果为真,则整个表达式的结果为真,反之则为假,如果左边的表达式结果为真,这时候“短路性”就体现出来了,因为这个操作符表达或者,左边已经是真的了,两个表达式的结果已经至少有一个是正确的了,所以程序这时候就不会继续判断右边的表达式是否是正确的了,因此我们称这个为“短路性”。

(2)“&&”表示并且,这个操作符的左右也会跟着两个式子,与“||”不同的是只有当这两个式子都为真的的时候整个表达式的结果才是真的,只要有一个表达式的结果为假,整个表达式的结果就为假。因此,如果“&&”左边表达式的结果为假的话整个表达式的结果就已经为假了,没必要再判断右边的表达式结果是否是真的了,因此这个操作符也具有“短路性”

(3)“!”这个操作符表示不,“!=”表示不等于。

例如想表示3不等同4,即写为“3!=4”。

5.switch语句的使用

  switch的使用格式可以参考上图,switch后面的()内用于填写表达式,表达式的结果会决定接下来将要从下面的哪个case进去,上面这段代码是从键盘上输入一个数赋值给n,而n在switch后面的()中,因此n的值决定程序将从哪个case进入,比如我们输入2,程序进入case 2,从而执行case 2的语句,输出”星期二“,但如果n的值与case后面的值都不相同,例如上方的代码,case后面的值在1~7之间,所以给如果我们输入8(即1~7以外的值),此时程序将会进入default执行其语句,输出default后面的内容

  需要注意的是break,break意思是打破,即停止的意思,代码的运行是一条语句一条语句往下执行的,假如从case 2进入,在case 2的最后面没有break,则程序会继续执行下面的语句,即进入case 2下方的case 3,如果case 3后面也没有break,程序就会继续往下执行代码,以此类推。

因此如果你只想执行case 2的代码时,就需要在后面加上break

6.while语句

  

while后面的()里面用于填写一个表达式,当表达式的结果为真(即结果返回的是一个非0的数)的时候,程序就会执行{}里面的代码。

就像这个代码,我们先定义变量i的初始值为0,然后()里面写i<=2,因为0<2满足表达式,是真的,返回一个非0数1,程序开始执行{}里面的代码,先输出i,在让i++,然后把i++的值(即i等于1)再次返回到while后方的表达式里面继续判断是否为真,因为1<2为真,所以继续执行{}里面的代码,以此类推,不断循环,当i的值变为3的时候,此时i的值不满足()里面的表达式,程序便不再执行{}里面的代码,循环也就结束了。如果i的值一开始就不满足表达式,{}里面的代码也不会执行。

7.do......while语句

  

do......while语句的使用如上图的代码所示,需要注意的是do......while语句最少执行一次,无论while后面的()里的表达式是否正确,程序都执行一次,如下面的代码。

  因为while是在语句的后方,所以程序最少执行一次,这是do......while语句的弊端,用于最少执行一次的情况,不经常使用。

8.do......while语句中break和continue的使用

(1).当do......while语句在执行的时候遇到了break,如上图所示,这个代码本来是输出0,1,2。但因为遇到了break,所以程序执行到break的时候这个do......while循环就结束了。

(2).如果把break变成continue,结果又会是怎么样的呢?

我们可以看到,结果是屏幕上开始不断的打印0,因为continue会跳过do......while语句中continue后面的代码,并进入表达式中判断是否满足条件,这个程序始终执行不到i++这个操作,所以始终满足条件,因此不断在屏幕上打印0

9.for循环

for循环的使用如下图所示

for后面的()里面有着三个表达式

表达式1用于循环变量的初始化

表达式2用于循环结束条件的判断

表达式3用于循环变量的调整

这个for循环的运行顺序是从表达式1获取循环变量的初始值,然后将循环变量的初始值带入表达式2中进行判断是否满足进行循环的条件,如果满足,程序会进入for循环的主体中执行代码,执行完后进入表达式3来对循环变量进行调整(是为了避免死循环),然后将调整完的值再次带入表达式2中进行判断,如果满足,则进行下一次循环,以此反复直至循环变量不满足表达式2时,循环结束,程序跳出循环,继续往下执行代码。

for循环与do......while循环不一样,会先进行判断后再执行,因此for循环的使用比较频繁。

10.goto语句

goto表示跳到,goto语句的使用可以参考下图

程序跳过了printf("haha")这条代码,执行了next中的代码,goto语句的使用不是很频繁,属于一种比较特殊的代码。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值