C语言第八回合:分支、循环和跳转

来源:互联网 发布:冰点还原精灵类似软件 编辑:程序博客网 时间:2024/04/30 10:48

C语言第八回合:分支、循环和跳转

 

【学习目标】

1.        分支结构

2.        循环结构

 

 

A:if语句

  格式:

if( expression )   //如果表达式为真就执行

    statement

 例

//简单语句if( score>= 100 )//如果score>100时,打印 "Good"{         printf("Good\n" ); }

//复杂语句if( num< 5 ){         num++;         printf("%d太小了\n", num );}

//注意:即使if中使用了复杂语句,整个if结构仍将看作一个简单语句.

 

B: if….else 语句

语法:

(1)     

 if(表达式)

{

   语句块1;

}

else      //表达式假时

{

   语句块2;

}

作用:如果表达式为真,就执行语句块1;反之执行语句块2。

(2)       

 if(表达式1)

{

   语句块1;

}

else if(表达式2)

{

   语句块2;

}

else

{

   语句块3;

}

作用:如果表达式1不为真,执行语句块1;表达式1不为真,但表达式2为真,就执行表达式2;反之,就执行表达式3。

 

PS:

当然if…..else还可以嵌套使用。但是的特别小心!

C语言有这样的规定:else始终与同一括号内最近的未匹配的if语句结合。虽然老手可以区分出来,但这样的代码谁都会头疼的,任何时候都别偷这种懒。关于程序中的分界符'{'和'}' 。

 

//if--else语句的使用#include <stdio.h> int main( void ){    int num;   printf( "输入一个数: ");  scanf( "%d",&num );   if( num>= 100 )  {     printf( "您输入的shu: %d>100.\n ", num );     }         else if( num> 50 )  {            printf( "您输入的数:50<= %d< 100 \n", num );  }  else if( num>= 0 )  {            printf( "您输入的数: 0=<%d <50 \n", num );  }  else  {            printf( "您输入的数:%d<0\n", num );  }   return 0;}


Cswitch语句

语句: 

switch(表达式)

{

   case 常量表达式1:

          {

      语句1

                          break;

}

   case 常量表达式2:

          {

      语句2

                          break;

}

   case 常量表达式3:

          {

     语句3

                         break;

}

   ……..//等等

  default:            

         {

语句N+1;

                         break;

}

}

注意事项:

(1)case后面只能是整型或字符型的常量或常量表达式

(2)每个case的常量表达式必须互不相同,否则会出错的。

(3)当case后的常量表达式与switch后的表达式相同时,就执行case后的语句块;反之,就执行default后的语句。

(4)各个case与default的顺序不会影响执行结果。

 

//switch语句事例 #include <stdio.h>#include <ctype.h>   //for toupper() int main( void ){         char letter;                 printf("\t*******游戏王**********\n\n" );         printf("\t    S: 进入游戏.\n" );         printf("\t    H: 游戏帮助.\n" );         printf("\t    Q: 退出游戏.\n\n" );                 printf("\t   输入您的选择(不区分大小写): " );         scanf("%c", &letter );                 letter=toupper( letter );  //把字母转化为大写字母                 printf("\n\n" );                 switch(letter )         {             case 'S':                   {                       printf( "\t   欢迎进入游戏王的世界\n");                                                       break;  //注意,这里一定要有break语句,否则会出错                           }                    case'H':                   {                        printf("\t  请问您有什么需要帮忙?\n" );                                               break;                   }             case'Q':                  {                        printf("\t    您已经退出了游戏!!!\n" );                                                            break;                  }           default:                {                       printf("\t   Sorry,您的选择有误,请再次输入...\n" );                                                           break;                }         }//end of switch                   return 0;   }

运行结果:


D: while语句

 语法:

   while(表达式)                                

{

     循环体;

}

作用:表达式为真时,就执行循环语句,直到循环语句结束或遇到break语句。

 

 //while循环的使用 #include <stdio.h> int main( void ){         intscore[ 10 ]= { 60, 70, 90, 88, 82, 78, 87, 98, 90, 100 };         inti= 0;                 while(i< 10 ) //当条件满足,就进入循环,否则退出         {                   printf("%d ", score[ i ] );                   i++;  //i= i+ 1,这样可以打印score下一个元素         }              putchar( '\n' );  //或则 printf("\n" );表示换行                    return0;}

E: do……while 语句

语法:

    do   

{

   //循环体

}while;

PS: 此循环和while循环类似,但do……while循环至少执行一次循环体,然而while循环可以一次也不循环。

//do---while循环的使用#include<stdio.h> int main(void ){       int score[ 10 ]= { 60, 70, 90, 88, 82,78, 87, 98, 90, 100 };       int i= 0;             do  //不论条件满不满足,do-while循环至少执行一次。       {              printf( "%d ", score[ i] );              i++;  //i自加,这样可以打印score的下一个元素       }while( i< 10 );  //注意这里结尾处必须有';'(分号)。当条件满足,继续执行          putchar( '\n' );  //或则 printf("\n" );表示换行                     return 0;}


F: for循环语句

语法:

 for(表达式1;表达式2;表达式3)

{

   //循环体;

}

PS: 开始时就执行表达式1,再执行表达式2,如果表达式2为真,则就执行循环体和表达式3,接着在执行表达式2是否为真……

//for循环的使用#include <stdio.h> int main( void ){         intscore[ 10 ]= { 60, 70, 90, 88, 82, 78, 87, 98, 90, 100 };         inti= 0;                 for(i= 0; i< 10; i++ )   //使用for语句打印score数组中所有的元素         {                   printf("%d ", score[ i ] );          }   putchar( '\n' );  //或则 printf( "\n");表示换行                    return0;}

Gcontinue语句

作用:continue表示终止本次(本轮)循环

 

//功能:跳过制表符(tab键),当遇到换行符时退出#include <stdio.h> int main( void ){     char ch;         while( (ch= getchar())!='\n' )     {              if( ch== '\t' )              continue; //当ch=='\t'时,跳过putchar(),不打印                           putchar( ch );     }         return 0;} 

Hbreak语句

作用:break是关键字,表示终止本层循环。

//break使用事例//功能:当遇到空格(' ')时退出#include <stdio.h> int main( void ){     char ch;         while( (ch= getchar())!='\n' )     {              if( ch== ' ' )              break; //当ch==' '时,结束循环                           putchar( ch );     }         return 0;} 


【指尖的微笑】错误在所难免,希望得到大家的指正^-^

转载时保留原文的链接http://oursharingclub.joinbbs.net/http://blog.csdn.net/mirrorsbeyourself

0 0
原创粉丝点击