版权归原作者所有,如有侵权,请联系我们

[科普中国]-结构控制

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

结构控制就是一种程序运行的逻辑。C语言一共有三种控制结构:顺序结构,选择结构,循环结构。1

1.从执行方式上看,从第一条语句到最后一条语句完全按顺序执行,是简单的顺序结构;

2.若在程序执行过程当中,根据用户的输入或中间结果去执行若干不同的任务则为选择结构;

3.如果在程序的某处,需要根据某项条件重复地执行某项任务若干次或直到满足或不满足某条件为止,这就构成循环结构。

大多数情况下,程序都不会是简单的顺序结构,而是顺序、选择、循环三种结构的复杂组合。

C语言中,有一组相关的控制语句,用以实现选择结构与循环结构:

1.选择控制语句:if; switch、case

2.循环控制语句:for、while、do...while

3.转移控制语句:break、continue、goto

顺序、分支、循环顺序控制结构代码 从上到下,自左而右的执行

不对代码进行任何的干预,那么他就是顺序结构

Eg: test.php

分支控制结构(if \ switch)

分支结构:是指代码可以有多个选择的执行

分支结构分为单分支和多分支

单分支: 程序执行的流程不超过2个结构 (双分支)

多分支: 程序执行的流程超过了2个以上的结构

分支结构:( if 和 switch )

概述if语句:

条件?操作1:操作2

原理:如果条件成功(true)就执行操作1,否则执行操作2

条件:能够判断正确或错误的表达式

eg: $speed = 200; if ($speed >=120) echo "MUST DEATH!"; else echo "Still Alive!";

注意:

1、if语句可以没有else

2、如果需要在分支结构中,循环结构中运行2行和2行以上的代码,要将这多行代码改写成代码块{语句1;语句2;....},不写在代码块中则会报错!

eg: if(条件){ 代码块1;(>1句的代码) }else{ 代码块2; } Eg: if.php

switch:多分支结构

原理:如果变量等于值1那么就执行代码1,然后break跳出结构,否则判断如果变量值等于值2,那么执行代码2,然后break跳出 如果case值没有符合条件的,那么就执行代码n;

注意:

1、如果case后面没有break,那么程序会会继续向下执行直到碰到break跳出或者直到程序结束

2、case\default 后面全都是冒号

Eg: switch.php

流程控制结构(1)顺序结构:按书写顺序执行每一条语句。

(2)选择结构:对给定的条件进行判断,根据判断结果决定执行哪一段代码。

(3)循环结构:在给定条件成立的情况下,反复执行某一段代码。

选择结构-ifif简单使用1)第一种结构:

a)如果条件为真,就执行后面的语句,否则不执行。

|| ||

2)第二种结构:

a)如果条件成立就执行语句1,否则执行语句2。

|| ||

3)第三种结构:

a)先判断条件1,若成立则执行语句1,其它不执行;若条件1不成立,则检查条件2···,【注意】如果条件3成立,则说明前面的都不成立。所有的语句块只有一个会被执行。

|| ||

4)第四种结构:

a)在这种情况下,当条件成立,只执行语句1,语句2不属于次条件结构,但不推荐此种写法。

|| ||

if使用注意①.比较大小时,可以把常量值放在左边,变量值放在右边以避免错误。因为if(a==0)也容易被写成if(a=0),而这种情况,编译器并不会报错,推荐使用if(0==a)这种写法。

②.注意赋值运算符,不要把=写成是==。

③.If(条件)后面不要加分号,这代表是一个空语句,后面的代码块将成为一个独立的代码块。如if(条件);{.....}//需要多加注意

④.注意作用域的问题,如果要在if后面定义新的变量,则一定要使用大括号。

|| ||

|| ||

⑤.If(0){...}随便挑一个数值也可以做条件

选择结构-switchswitch结构

|| ||

解说:该结构把数值与数值1进行比较,若相等,则执行后面的所有语句,直到遇见break语句跳出整个循环,若前面的条件都不满足,则最终会执行default后面的语句。如果不写break语句,则后面的语句会接连执行,直到遇到break语句或者是全部语句执行完毕,只要前面的条件成立,则后面的判断就直接被忽略。

Switch使用注意

|| ||

注意:如果要在case后面的语句中定义变量,则必须使用大括号包住。

if和switch的比较1.If语句能够完成的功能,switch有时并不能够完成,如判断if(a>100)

2.在有些情况下,if语句和switch语句可以互换

3.Switch语句能完成的功能,if语句都可以完成

4.switch 的csae 一般只用于判断确切的数值

如果条件是范围值 使用if

如果条件是具体值 一般使用switch

5.所有的switch都可以改写成if 但是并非所有的if都能改写成switch

6.if运行效率比switch稍微低一点,一般在条件是确切的值的时候使用switch

当判断范围值的时候,使用if

当判断的是具体值的时候: switch case 值1:

循环结构-while简单使用

|| ||

解说:先判断条件是否成立,成立则执行,执行完代码后再次判断条件是否成立(判断条件-》执行代码块-》判断条件-》执行代码块···)

首先确定循环执行的操作,

在确定约束条件,即需要循环多少次,

定义一个变量来记录循环的次数。

提示:在while循环体内使用if...break(跳出整个循环)或if...continue语句(跳出本次循环,继续下一次循环判断)。

While结构的运行原理:

①.如果一开始条件不成立,则永远不会执行循环体。

②.如果条件成立,则执行一次循环体,执行完毕后再次判断条件是否成立。

③.Break:直接退出整个循环。

④.Continue:结束当前循环体,进行下一轮循环判断。

使用注意1)While(1){.....}是一个死循环

2)While(a