回覆列表
  • 1 # tslem1055

    C語言程式語句switch:  switch用在程式設計中,如C語言中它經常跟case一起使用,是一個判斷選擇程式碼。其功能就是控制業務流程流轉的。  switch語句的語法如下(switch,case和default是關鍵字):  switch(controllingExpression)  {  caseconstantExpression1:  caseconstantExpression2:  caseconstantExpression3:  statements;//當滿足constantExpression1、constantExpression2、constantExpression3任何一個都執行statements  break;  caseconstantExpression:  statements;  break;  ...  default:  statements;  break;  }  遵守switch語句規則  switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:  只能針對基本資料型別使用switch,這些型別包括int、char等。對於其他型別,則必須使用if語句。  case標籤必須是常量表達式(constantExpression),如42或者"42"。如果需要在執行時計算case標籤的值,必須使用if語句。  case標籤必須是惟一性的表示式;也就是說,不允許兩個case具有相同的值。  C語言switch應用例子:  例一:  #include<stdio.h>  intmain()  {  doublescore;  printf("請輸入分數:\n");  scanf("%lf",&score);  switch((int)(score/10))//如果寫成witch((int)score/10)會出現嚴重錯誤  {  case10:  case9:printf("A(最好)\n");break;  case8:printf("B(優秀)\n");break;  case7:printf("C(良好)\n");break;  case6:printf("D(及格)\n");break;  case5:  case4:  case3:  case2:  case1:  case0:printf("E(不及格)\n");break;  default:printf("Error!\n");  }  }  例二:  #include<stdio.h>  intmain()  {  charrank;  printf("請輸入分數等級:(A、B、C、D、E)\n");  scanf("%c",&rank);  switch(rank)//switch((int)score/10)出現嚴重錯誤,switch(((int)score)/10)出現嚴重錯誤,  {  case"A":printf("A(90~100)\n");break;  case"B":printf("B(80~89)\n");break;  case"C":printf("C(70~79)\n");break;  case"D":printf("D(60~69)\n");break;  case"E":printf("E(0~59)\n");break;  default:printf("error!\n");break;  }  }  例三:  輸入年月日,判斷這一天是這一年的第幾天。  #include<stdio.h>  intmain()  {  intyear,month,date,leap,days=0;  scanf("%4d%2d%2d",&year,&month,&date);  leap=(year%4==0&&year%100!=0||year%400==0);  switch(month)  {  case12:days+=30;  case11:days+=31;  case10:days+=30;  case9:days+=31;  case8:days+=31;  case7:days+=30;  case6:days+=31;  case5:days+=30;  case4:days+=31;  case3:days+=28+leap;  case2:days+=31;  case1:days+=date;break;  }  printf("%4d年%2d月%2d日是這一年的第%d天。\n",year,month,date,days);  }

  • 2 # 使用者4044295222555

    C語言程式語句switch:

      switch用在程式設計中,如C語言中它經常跟case一起使用,是一個判斷選擇程式碼。其功能就是控制業務流程流轉的。

      switch語句的語法如下(switch,case和default是關鍵字):

      switch ( controllingExpression )

      {

      case constantExpression1 :

      case constantExpression2 :

      case constantExpression3 :

      statements; //當滿足constantExpression1、constantExpression2、constantExpression3任何一個都執行statements

      break;

      case constantExpression :

      statements ;

      break;

      ...

      default :

      statements ;

      break;

      }

      遵守switch語句規則

      switch語句非常有用,但在使用時必須謹慎。所寫的任何switch語句都必須遵循以下規則:

      只能針對基本資料型別使用switch,這些型別包括int、char等。對於其他型別,則必須使用if語句。

      case標籤必須是常量表達式(constantExpression),如42或者"42"。如果需要在執行時計算case標籤的值,必須使用if語句。

      case標籤必須是惟一性的表示式;也就是說,不允許兩個case具有相同的值。

      C語言switch應用例子:

      例一:

      #include

      int main()

      {

      double score;

      printf("請輸入分數:\n");

      scanf("%lf",&score);

      switch((int)(score/10)) //如果寫成witch((int)score/10)會出現嚴重錯誤

      {

      case 10:

      case 9:printf("A(最好)\n");break;

      case 8:printf("B(優秀)\n");break;

      case 7:printf("C(良好)\n");break;

      case 6:printf("D(及格)\n");break;

      case 5:

      case 4:

      case 3:

      case 2:

      case 1:

      case 0:printf("E(不及格)\n");break;

      default:printf("Error!\n");

      }

      }

      例二:

      #include

      int main()

      {

      char rank;

      printf("請輸入分數等級:(A、B、C、D、E)\n");

      scanf("%c",&rank);

      switch(rank)//switch((int)score/10)出現嚴重錯誤,switch(((int)score)/10)出現嚴重錯誤,

      {

      case "A":printf("A(90~100)\n");break;

      case "B":printf("B(80~89)\n");break;

      case "C":printf("C(70~79)\n");break;

      case "D":printf("D(60~69)\n");break;

      case "E":printf("E(0~59)\n");break;

      default:printf("error!\n");break;

      }

      }

      例三:

      輸入年月日,判斷這一天是這一年的第幾天。

      #include

      int main()

      {

      int year,month,date,leap,days=0;

      scanf("%4d%2d%2d",&year,&month,&date);

      leap=(year%4==0&&year%100!=0||year%400==0);

      switch(month)

      {

      case 12:days+=30;

      case 11:days+=31;

      case 10:days+=30;

      case 9:days+=31;

      case 8:days+=31;

      case 7:days+=30;

      case 6:days+=31;

      case 5:days+=30;

      case 4:days+=31;

      case 3:days+=28+leap;

      case 2:days+=31;

      case 1:days+=date;break;

      }

      printf("%4d年%2d月%2d日是這一年的第%d天。\n",year,month,date,days);

      }

  • 中秋節和大豐收的關聯?
  • 高鐵帶螃蟹能過安檢嗎?求大神解答!萬分感謝_?