C语言分支与循环

一.  介绍

1.在现实生活中有许多问题需要先进行判断和选择,再执行。判断条件是否满足,并做出对应的操作,或从多种操作中选择一种执行,这是选择结构需要解决的问题。(分支)

2.在日常生活中有许多问题常常需要重复执行一些相同的操作,这时使用循环结构重复执行某些语句,有效的避免了代码重复。(循环)

二.分支语句

1.if分支语句

if是如果的意思,如果怎么样(判断),那么怎么样(选择)。

若执行语句只有一条,可以此分支省略大括号。

//例题//

(1)输入两个整数,输出其中的大数。

(2)输入一个年份,判断是否为闰年

2.用于多分支选择结构的switch语句

基本结构

switch(表达式)    
    {
        case常量表达式1:语句1;break;
        case常量表达式2:语句2;break;
        ......
        case常量表达式n:语句n;break;
        default:语句n+;
    }

注意:1.switch后面括号内的表达式类型为整数类型(包括字符型),switch下面的花括号不能省略,它们是一个整体。                                                                                                                                   2.当switch后表达式的值与某一个case后面常量表达式的值相同时,就执行此case后面的语句,若没有相同的,则执行default后面的语句。                                                                                           3.break在switch语句中的作用是停止执行下一个case,跳出switch循环。                                         4.可以没有default,如果没有与switch表达式相匹配的case常量,则不执行任何语句,流程转到switch语句之后的其他语句。

//例题//

输入0~6中的一个数字,输出对应的星期几。

三.循环语句

C语言提供的循环语句都是在给定条件为真的情况下,重复执行一个语句序列,直到条件为假时停止。构造一个循环结构应该具备以下几项内容。                                                                                 (1)循环继续条件。(2)循环体。(3)循环控制变量。

1.while语句

while语句的一般形式

注意:1.先判断继续条件,再执行语句组。若循环条件一开始就为假,则循环体语句组一次也不执行。                                                                                                                                                               2.建议循环体语句组无论长短,都用花括号括起来。

//例题//

(1)用while语句实现1+2+......+100

(2)实现正整数n的阶乘

2.do-while语句

do-while语句的一般形式

 注意:1.先执行循环体语句组,再判断循环继续条件。即使循环继续条件一开始为假,循环体也会执行一次,然后以“假”的计算来终止循环。                                                                                                     2.语句末尾的分号一定不能省略。***重点***

3.for语句

for语句的一般形式

 注意:1.for语句中的三个表达式在形式上可以省略,但是它们之间的两个分号作为分隔符一定不可以省略。                                                                                                                                                      2.省略中间那个表达式(循环继续条件),相当于它恒为真。如果不做其他处理,程序会成为死循环。                                                 

              3.若三个表达式都省略,此时for语句中不赋初值,循环继续条件永远为真,而且循环控制变量也不会改变,会无终止地执行循环体。                                                                                      例如:for(;;)   sum+=i;        等价于     while(1)    sum+=1; 

//例题//

(1)用for语句实现1+2+......+100
 (2)实现正整数n的阶乘

 4.三种循环语句的比较

(1)相同点

三种语句在逻辑上是相同的,在处理同一问题上一般可以相互代替。                                                三种语句一般都需要设置循环控制变量初始值,循环继续条件,循环变量增值。

(2)不同点

1.while,do-while,for循环的不同点主要是循环变量赋初值,循环继续条件,循环变量增值书写顺序不同。                                                                                                                                             

2.当循环继续条件一开始就为假时,while语句和for语句的循环体一次也不会执行,而do-while语句会执行一次循环体。for语句的循环处理功能最强。                                                                             

四.总结

分支与循环在C语言中几乎无处不在,我们要精确掌握语法和它们的运算逻辑。                              计数,求和,求阶乘,递推法和穷举法等基本算法都可以使用循环结构来实现。

这篇文章中的代码都是图片,想让你们自己打一下代码,所以不能直接复制。                                加油!!!

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值