C语言入门开发-流程控制

正常情况下,程序从main函数开始,语句自上而下执行每一条语句 。一些语句可以控制、修改程序的流程,称之为流程控制语句

条件判断语句:

1、if

if(表达式)

语句

} //代码段

2、if-else

if(表达式)

语句1

else

语句2

[逻辑]当程序执行到if-else语句时,首先计算表达式的值,如果表达式的值为真,则执行语句1,不执行语句2,否则执行语句2,不执行语句1.

逻辑二则

#include

int main()

{

char chr = ‘\0’;

scanf(“%c”,&chr);

if((chr >= ‘A’ && chr <= ‘Z’) ||

(chr >=’a’ && chr <= ‘z’))

{

printf(“是字母:%c\n”,chr);

}

else

{

printf(“不是字母:%c\n”,chr);

}

return 0;

}

3、if-else if

格式:

if(表达式1)

语句1

else if(表达式2)

语句2

else if(表达式3)

语句3

}else if(表达式N)

语句N

else//可有可无

逻辑:当程序执行到if else if,首先执行表达式1的值,如果表达式1的值为真,那么执行语句1,执行完语句1,跳出if else if语句执行“外语句”,如果表达式1的值为假,不执行语句1,继续执行表达式2的值,如果表达式2的值为真,则执行语句2,执行完语句2跳出if else if继续执行“外语句”,依此类推

[注意]再if else if语句中,每一个else都是对前面表达式的否定👹

逻辑多则

练习:输入一个人的年龄,输出不同的截断(if-else if)

0~3幼儿

4~12童年

13~18 少年

19~30 青年

31~40 壮年

41~50 中年

51~150 老年

150~ 妖精

0以下的同上

#include

int main()

{

int age = 0;

scanf(“%d”,&age);

if(age <=0 )

{

printf(“妖怪哪里逃!!😄\n”);

}

else if(age <=3)

{

printf(“幼儿\n”);

}

else if(age <= 12)

{

printf(“童年\n”);

}

else if(age <= 18)

{

printf(“少年\n”);

}

else if(age <= 30)

{

printf(“青年\n”);

}

else if(age <=40)

{

printf(“壮年\n”);

}

else if(age <=50)

{

printf(“中年\n”);

}

else if(age <=150)

{

printf(“老年\n”);

}

else if(age > 150)

{

printf(“妖怪哪里逃!!😄\n”);

}

return 0;

}

逻辑跳转语句

gotoswitch

1\goto

无条件跳到指定标号位置,向下继续执行

[注意]程序中一般不建用goto,他没有明确的套用关系,并且不能栈

#include

int main()

{

printf(“——0\n”);

printf(“——1\n”);

goto label;

printf(“——2\n”);

printf(“——3\n”);

printf(“——4\n”);

printf(“——5\n”);

label: //标号是冒号,起名符合标识符规则,位置随意

printf(“——6\n”);

printf(“——7\n”);

printf(“——8\n”);

printf(“——9\n”);

printf(“——10\n”);

printf(“——11\n”);

return 0;

}

switch()语句

格式:

switch(表达式)

{

case 标号1:

语句1

case 标号2:

语句2

case 标号3:

语句3

……

case 标号n:

语句n

default:

语句

}

【逻辑】当程序执行到swithc语句时,首先计算表达式的只,表达式的值是几,就跳到对应标号处继续向下执行。如果没有对应的标号,则跳到default处向下继续执行。

【break】用于跳出switch语句和循环语句,无视if。如果switch或者是循环zhi中右嵌套使用,那么break只跳出距离他最近的switch或者循环

#include

int main()

{

int a = 0;

scanf(“%d”,&a);

switch (a)

{

case 0:

printf(“the number is %d\n”,a);

break;

case 1:

printf(“the number is %d\n”,a);

break;

case 2:

printf(“the number is %d\n”,a);

break;

case 3:

printf(“the number is %d\n”,a);

break;

default:

printf(“输入有误😄\n”);

}

return 0;

}

输入星期的第一个字母,输出周几

monday

tuesday

wednesday

thursday

friday

saturday

sunday

#include

int main()

{

char chr = ‘\0’;

char dis = ‘\0’;

scanf(“%c%c”,&chr,&dis);

switch (chr)

{

case ‘m’:

case ‘M’:

printf(“今天是星期一\n”);

break;

case ‘w’:

case ‘W’:

printf(“今天是星期三\n”);

break;

case ‘f’:

case ‘F’:

printf(“今天是星期五\n”);

break;

case ‘t’:

case ‘T’:

scanf(“%c”,&chr);

switch (chr)

{

case ‘u’:

case ‘U’:

printf(“今天是星期二\n”);

break;

case ‘h’:

case ‘H’:

printf(“今天是星期四\n”);

break;

default:

printf(“—-input wrong\n”);

}

break;

default:

//default里面不接空语句,可以直接写“;”

printf(“input wrong\n”);

}

return 0;

}

    原文作者:孙国庆
    原文地址: https://www.jianshu.com/p/b175eccb51c0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞