C语言-循环语句 选择语句

  今天学习了C语言的循环语句,C语言中循环语句有for,  while ,do while ,语句。

条件语句if  else,switch ,等。

1:  while的格式:

while(条件)

{循环体}   

例如:

int  i =0;

while  (i<5)

{

i++;

printf  ("i=%d\n",i);

}

         while循环语句要先判断条件是否成立,当条件成立时执行一次循环体,然后再判断条件是否成立,成立再执行一次循环体,直到条件不成立为止,跳出循环体。注意的是如果一开始条件不成立则循环体一次也不执行。在while  中定义新的变量必须要用{}括起来,使变量的作用域清晰。

           注意的是while (1) ; 是一个最简单的死循环,因为while后面的语句一般应该用大括号括起来让我们清楚的知道是与while有关的语句,当没有大括号时,则默认为第一条紧跟的语句是与之有关的,第二条则与之无关、因为1是真,所以执行到这条语句时,判断条件为真则执行其后的语句,就是空白语句,因为条件一直成立, 则一直执行空白语句,成为死循环。所以;也不能乱用。

2: do  while的格式:

do 

{循环体}

while(条件);

例如:int   i = 0;

do 

{ i++;

printf(" i=%d\n",i);

}

while  (i < 5 );

         do   while  和 while 基本用法差不多,不过两者也有区别,do  while 是先执行一次循环体,然后判断条件是否成立,当条件成立时则再次执行一次循环体。然后再判断条件是否成立,知道条件不成立为止跳出循环体,注意的是,不管刚开始条件是否成立都会执行一次循环体,这是跟while 不同的地方。

3: for  循环格式:

for(初始化语句;条件语句;增量语句)

{   循环体   } 

例如:

for (int  i=0;i<5; i ++)

       {      printf("i= %d\n",  i );    

          }


             for循环中  变量的定义在初始化语句中,并且初始化语句在整个for 循环中只使用一次,然后判断条件语句是否成立, 条件成立则执行下面的循环体语句,然后再执行增量语句,然后再判断条件是否成立,条件成立则再次执行循环体语句,在执行增量语句,知道条件不成立,跳出循环体。   

4 :if   else  格式:

if  (条件1)

{   语句1;}

else if (条件2)

{  语句2;}

else  if  (条件3)

{  语句3;} 

......

                 先判断if 后面的条件是否真,真的话就执行语句1,如果条件1为假,则对比else if 中的条件是否成立, 哪个成立就执行对应的语句,if  else 中可以嵌套多个 if else  语句。注意在if 循环中定义新的变量必须用{} 大括号括起来,不然系统在编译时会出现错误,因为系统会分不清楚if  循环中定义的变量的作用域在哪,  出现作用域混淆。

 5:switch  语句使用格式:

switch 常量表达式                                               

{ case 数值1:                                                                              

语句:                                                                                             

break;                                                                                         

case 2  数值2:                                                                         

语句2;                                                                                      

break;                                                                                        

case  数值3:                                                                           

语句3 ;                                                                                   

break;                                                                                      

deauful:                                                                                       

break;                                                                                         

}

例如:                  switch    7

{    case  3:

                                   printf(" A\n");

                                          break;

                              case     5:

                                  printf("B\n");

                                            break;

 case   7:

                                     printf(" C\n");

                                             break;

                                       deauful:

                                          break;

                                                           } 

                switch 语句中,switch 后面的值可以是常量,常量表达式,字符常量,但是不能为变量。执行到switch 这个语句时,会对比case 后面的数值是否与switch 后面的常量值相同,相同时就执行相应case后的语句,遇到break 则退出switch 语句,注意break 不能忘记,忘记的话就会执行case后面的所有语句,不在比较常量值,直到遇到break 为止,才跳出整个语句。在case中定义新的变量也必须要用{}包起来,不然系统无法辨别新定义变量的作用域,出现编译错误break  的作用非常重要,使程序知道执行到这段就跳出循环体。           

上面的 这几个循环语句中,while  和    do    while    基本可以相互转换。

其中for 的性能最好,因为在for中 定义新的变量是在函数内部,函数调用完毕后就把变量的存储空间清空,不占用内存,使程序运行效率更高性能更好。而其他的变量都是在程序中定义,在整个程序文件中都存在,占用内存。性能不如for。所以相比下,if的灵活性较高。

                                if 和switch  比较:

            1: if语句能完成的功能,switch不一定能完成,

             2: 在有些情况下if和switch 可以互换。

              3:switch能完成的if 都能完成。

你可能感兴趣的:(C语言-循环语句 选择语句)