一. 介绍
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语言中几乎无处不在,我们要精确掌握语法和它们的运算逻辑。 计数,求和,求阶乘,递推法和穷举法等基本算法都可以使用循环结构来实现。
这篇文章中的代码都是图片,想让你们自己打一下代码,所以不能直接复制。 加油!!!