-----------------------------------------------控制流-------------------------------------------------------
·实现功能逻辑的基本结构
1、顺序结构 2、循环结构 3、分支结构
循环
while/do while/for
分支
if else/switch/goto
-------------------------------------------while-----------------------------------------
· while(条件) { 执行体 } ----> 当条件为真,执行执行体内容,然后再返回判断条件 :
死循环: 设置条件永远为真
有限循环: 设置条件有终止(为假)的时候。
E.g:
i=100;
while(i--) {执行体}; ---> i初值为100,每次执行完执行体内容,i自减1,一直到i等于0 ,停止循环;
·C 语言中 0为假 非0为真 ----> 正数为真 ,负数也为真
E.g:
while( scanf("%c",&a) && a != 'X' ) --> 当输入正确,scanf返回值为1,并且 a 不为‘X’,条件成立,用于循环输入的例子。
-------------------------------------------do while--------------------------------------------
do{
scanf("%c",&a);
......
}while(a != 'X'); -----> 当输出为‘X’,条件不成立,用于输入‘X’来退出循环的例子。
-----------------------------------------------for----------------------------------------------
for(赋值表达式;判断表达式;操作表达式) ----> 赋值表达式在当前for循环中,只执行一次;判断表达式和操作表达式执行多次,执行的条件由判断表达式决定。一般情况下,在操作表达式中实现判断条件的有限终止
E.g
int x;
for(;;) ----> 死循环
for(x=0;x<10;x++)
过程x=0 1 2 3 4 5 6 7 8 9 ---> 10(不满足 x< 10 ,退出)
-----------------------------------------------if else--------------------------------------------------
·if( 条件 ) -----> 当条件为真时,执行执行体内容
{
执行体
}
·if( 条件 ) -----> 当条件为真时,执行执行体1内容 ,为假执行执行体2内容
{
执行体1
}
else
{
执行体2
}
· if( 条件1 ) -----> 当条件1为真时,执行执行体1内容 ,为假执行执行条件2判断
{
执行体1
}
else if( 条件2 ) -----> 当条件2为真时,执行执行体2内容 ,为假执行执行条件3判断
{
执行体2
}
else
{
执行体n
}
//缺陷: 需要逐一判断条件,判断条件的位置,决定了算法的效率
--------------------------------------------------switch--------------------------------------------
·switch 的判断目标等价一个整型----->(XXXX 可以是表达式,也可以是变量 ,只要其结果是整数)
★当条件满足时,将从相应的分支开始执行,直到遇到break,或者switch语句结束;
switch(XXX)
{
case YYY1:......;break;
case YYY2:
case YYY3:
case YYY4:......; break;
default:......;break;
}
-----------------------------------------------------goto------------------------------------
int main(int argc, char **argv)
{
//demo 1 死循环
loop:
.......
goto loop;
//demo 2 出错判断
if( argc < 2 )
goto err1;
err1:
printf(" err!\n");
return -1; ----> 执行完当前的出错处理后,退出程序。
}
文章评论(0条评论)
登录后参与讨论