美文网首页
C语言-循环语句 选择语句

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

作者: 小李不木 | 来源:发表于2019-06-10 12:54 被阅读0次

      今天学习了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语言-循环语句 选择语句

          本文链接:https://www.haomeiwen.com/subject/tyxzxctx.html