黑马程序员—C语言—顺序结构与选择结构

来源:互联网 发布:淘宝上的降头有谁试过 编辑:程序博客网 时间:2024/06/05 04:58
————————Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———————
一、顺序结构
顺序结构的程序是最简单的程序。在顺序结构的程序中,程序是一条语句接一条语句顺序地往下执行。在程序中很少见到单独的顺序结构,一般都会在循环或分支结构里包含大量的顺序结构程序。

二、选择结构
选择结构就是用if语句或switch构成的语句块就是选择结构的程序。
1.if选择结构
(1)if语句
if语句的一般形式为
if(表达式)  语句;
例如:
if(i>10) printf("%d",i);
在上面的程序中,括号里的i>10是一个关系表达式,printf("%d",i);是一个语句。这条语句只有当i>10的逻辑值为真时才执行。如果i的值小于10,则不执行printf("%d",i);这条语句。
(2)if...else语句
if...else选择语句的一般形式
if(表达式)    语句块1;else    语句块2;
(3)有多个选择分支的if语句
if(表达式1)    语句块1;else if(表达式2)    语句块2;else if(表达式3)    语句块3;............else if(表达式n)    语句块n;
使用注意点:

1)不要在if的小括号后面添加分号

2)像a==0这样的表达式,最好写成0==a,若你误写成0=a,编译器会直接报错

3)直接写个if(a)是可以的,C语言默认所有大于0的值都为真


2.switch选择结构
使用if语句可以进行二分支选择,使用嵌套的if语句可以实现多分支选择。但是使用嵌套if 语句时,当分支数比较多,if语句的嵌套层数就会增加,使得程序很难阅读。当对某一个变量(或表达式)的不同取值进行多分支选择的时候应当使用switch语句。(注意:并不是说多分支一定用switch,一定要“注意一个变量(或表达式)的多个取值”这个条件,如果不是这个条件,比如说,是“多个变量(或表达式)的多个取值”这样的条件,那么必须使用if嵌套语句,而不能使用switch语句)。
switch语句的一般形式为
switch(数值)    {        case 数值1;            语句1;            break;        case 数值2:            语句2;            break;        ....        case 数值n:            语句n;            break;        default:            语句n;            break;    }
例如:
int a = 6; switch (a) {      case 0:         printf("输出0");         break;     case 2:           printf("输出2");         break;     case 6:         printf("输出6");         break;     default:         printf("无输出");           break;   }
其中break的作用:

1)break关键字的作用是退出整个switch语句。默认的格式中,每个case后面都有个break,因此执行完case中的语句后,就会退出switch语句。

2)如果某个case后面没有break,意味着执行完这个case中的语句后,会按顺序执行后面所有case和default中的语句,直到遇到break为止。

3)在某些时候,不是每一个case后面一定要添加break,视程序需要而定。


总结:

if与switch的对比:

(1)if语句能完成的功能,switch语句不一定能完成。

例如:

int a = 100;if (a > 100)   //用switch判断就太麻烦,if会很方便{       语句块;}
(2)在有些情况下,if语句是可以和switch语句互换的,效果一样。

(3)switch能完成的功能,if语句都能完成。




0 0