顺序、分支和循环结构设计的总结

顺序结构的设计
顺序结构没什么好说的,就像瀑布一样从开头笔直的流向结尾,没有分支也没有循环,简简单单

分支结构的设计
1.分支结构就是有选择、需要进行判断的语句,可以依靠判断条件在两条或以上的的分支路径中选择一条并加以执行

2.分支结构语句可以相互嵌套,但要注意必须明确相应的配套关系,编写程序的时候可以使用“缩进”来对应语句相应的层次

3.C语言的if语句有两种,一种是if…else语句,另一种是if…else if…else语句
1)if…else语句的格式语法为:

if(判断表达式)
语句1;
[else
语句2;]

例:
int a=2,b=1;
if(a>b)
a=b;
else
b=a;
if…else语句的运行如下:先测试判断表达式的值,若为非‘0’值(即为真),就执行语句1;若为‘0’(即为假),就看程序是否带有else分支,若有,就执行语句2;若无就不执行任何操作

在if…else语句中,else分支是可不写的,即只有一个if语句也是可以的
例:
int a=1,b=2;
if(a>b)
a=3;
printf("%d",a);
最后结果为:1

2)if…else if…else语句的形式:

if(判断表达式1)
语句1;
else
if(判断表达式2)
语句2;
else
if(判断表达式3)
语句3;

else
语句n;

if…else if…else语句的运行如下:先测试判断表达式1,若为非‘0’(即为假),则执行语句1;若为‘0’,就依次测试接下来的else if分支,为非‘0’就执行相应的语句,为‘0’且有else分支就执行else分支,没有就不用进行任何操作

4.C语言中,还有一种分支结构语句——switch语句
其格式语法为:

switch(判别表达式)
{
case 常量表达式1:
语句1;[break;]
case 常量表达式2:
语句2;[break;]

case 常量表达式n:
语句;[break;]
[default:语句n+1;]

例:
scanf("%d",&month);
switch(month)
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf(“data error”);break;
}

switch语句的运行如下:先计算判别表达式的值,将它与各分支的常量表达式的值进行对比,若相等,则执行相对应的语句;若没有一条分支的常量表达式与它相同,且程序带有default分支,就执行default后的语句,否则不执行任何操作

注:判别表达式的的类型应该与常量表达式的值一致,且各常量表达式的值必须互补相等

每个case分支后面没有带上break语句,那当一个case分支的常量表达式满足条件时,程序会在执行相应的语句后将自动执行后面的所有语句

5.分支结构的if语句还有switch语句可以相互多重嵌套,形成更复杂的结构

循环结构的设计
1.C语言中有三种循环语句:while语句,do…while语句,for语句

2.while语句
其语法格式为:

while(表达式)
语句;

语句运行如下:先对表达式(即循环条件)进行判断,为非‘0’(即为真)时,执行语句,重复判断执行,直到判断结果为0(即为假)时,结束循环

3.do…while语句
语法格式为:

do
{
语句;
}
while(表达式);

例://在变量i=5之前,不断循环自增
int i=1;
do
{
i++;
}
while(i<5);
语句功能如下 :先执行一次语句,然后判断while语句的循环条件(表达式),若表达式成立,继续循环执行语句,直到循环条件不成后,结束循环

注:为方便识别,do…while的语句就算是一条也应该用花括号 { } 括起来

4.for语句
语句格式为:

for(表达式1;表达式2;表达式3)
语句;

例://将变量i从1到4自增并输出
for(i=1;i<5;i++)
printf("%d",i);

语句功能如下:先计算表达式1(通常为赋值表达式),然后判断作为循环条件的表达式2(通常为关系表达式、逻辑表达式),当循环条件成立,先执行语句,后执行表达式3(通常为赋值表达式),重复执行语句至循环条件不成立

  1. for语句的格式相当于以下形式的while语句:
    表达式1;
    while(表达式2)
    {
    语句;
    表达式3;
    }

  2. 包含在循环条件中的变量被成为循环变量,通过控制循环变量可以控制for语句的循环次数

  3. 在编辑for语句的时候,可以将表达式1放在for语句之前,将表达式2放在循环体之内,具体格式为:
    表达式1;
    for(;表达式2;)
    {
    语句;
    表达式3
    }

5.break语句
语句格式:

break;

语句功能:强行退出所在循环语句(只有一层),或者跳出离break语句最近的循环,即不会再执行这个循环语句;跳出switch语句

注:在switch语句中,break语句只会退出switch的循环,不会影响switch语句所在的外循环

6.continue语句
语句格式:

continue;

语句功能:立即结束本次循环,但不是跳出循环语句,所以只要还能满足循环条件,就能继续下一次循环(这一点和break不同)

7.goto语句
语句格式:

goto 标号;

  1. goto语句的功能是直接跳转到标号处并执行它后面的语句

  2. 标号:指在程序中用于标记的标识符
    定义标号:在标识符后面加上一个冒号就可以定义一个标号了

注:可能是不符合设计原理,goto语句很少有使用

你可能感兴趣的:(初学者,基础知识,总结,C语言,初学者,总结,结构设计语句)