程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 詳解C說話中前提斷定語句if和switch的用法

詳解C說話中前提斷定語句if和switch的用法

編輯:關於C++

詳解C說話中前提斷定語句if和switch的用法。本站提示廣大學習愛好者:(詳解C說話中前提斷定語句if和switch的用法)文章只能為提供參考,不一定能成為您想要的結果。以下是詳解C說話中前提斷定語句if和switch的用法正文


if 語句

用 if 語句可以組成分支構造,它依據給的前提停止剖斷,以決議履行哪一個分支法式段。

C 說話的 if 語句有三種根本情勢

第一種情勢:

if(前提表達式) 
{
  語句1;
}

if(前提表達式) 
{
  語句1;
}

這類情勢運轉次序為:當前提表達式為真,履行語句1,不然,直接跳過語句1,履行前面的語句。

例子1:

BOOL result = YES;
if(result)
{
  printf("result is true\n");
}

BOOL result = YES;
if(result)
{
  printf("result is true\n");
}

輸入成果為:

result is true

假如把 result 的值改成 NO,那末就甚麼都不輸入了。

例子2:

int a = 5;
int b = 6;
if(a >= b)
{
  printf("a年夜於b\n");
}

int a = 5;
int b = 6;
if(a >= b)
{
  printf("a年夜於b\n");
}

輸入成果為:

甚麼都不輸入

假如改成如許:

if(a <= b)
{
  printf("a小於b\n");
}

if(a <= b)
{
  printf("a小於b\n");
}

那末輸入成果為:a小於b。

第二種情勢:

if(前提表達式)
{
  語句1;
}
else 
{
  語句2;
}

if(前提表達式)
{
  語句1;
}
else 
{
  語句2;
}

這類構造的履行次序為:當前提表達式為真時,履行語句1,不然履行語句2。

例子1:

BOOL result= YES;
if(result)
{
  printf("result 為真\n");
}
else 
{
  printf("result 為假\n");
}

BOOL result= YES;
if(result)
{
  printf("result 為真\n");
}
else 
{
  printf("result 為假\n");
}

這裡的兩個輸入語句相對不會同時輸入。

第三種情勢:

if(前提表達式1)
{
  語句1;
}
else if(前提表達式2)
{
  語句2;
}
else 
{
  語句3;
}

if(前提表達式1)
{
  語句1;
}
else if(前提表達式2)
{
  語句2;
}
else 
{
  語句3;
}

這類構造的履行次序為:當前提表達式1成立時,履行語句1,假如不成立則看前提表達式2能否成立,假如前提表達式2成立,則履行語句2,假如前提表達式2也不成立這會履行語句3。

例子1:

int age = 35;
if(age < 18)
{
  printf("你是小孩子\n");
}
else if(age >= 60)
{
  printf("你是位白叟\n");
}
else 
{
  printf("你合法青年啊, 小伙子!\n");
}

int age = 35;
if(age < 18)
{
  printf("你是小孩子\n");
}
else if(age >= 60)
{
  printf("你是位白叟\n");
}
else 
{
  printf("你合法青年啊, 小伙子!\n");
}

輸入成果為:

你合法青年啊,小伙子!

switch語句
下面我們講了 C 說話中的分支語句個中的 if 語句,明天我們來進修別的一種分支語句:switch 語句。

if 語句的三種情勢,年夜家確定都還記得,年夜家回憶一下 if 的最初一種情勢,假如我們有許多的分支該若何寫?豈非像如許子嗎?

if(前提表達式1)
{
  語句1;
}
else if(前提表達式2)
{
  語句2;
}
else if(前提表達式3)
{
  語句3;
}
else if(前提表達式4)
{
  語句4;
}
else if(前提表達式5)
{
  語句5;
}
else
{
  語句6;
}

假如如許子的話,那末設計C說話也就太不智能了,是以 C 說話中還有別的一種分支語句,就是 switch 語句。構造以下:

switch(整形表達式)
{
  case 值1:
  {
    語句1;
    break;
  }
  case 值2:
  {
    語句2;
    break;
  }
  case 值3:
  {
    語句3;
    break;
  }
  ...
  default:
    默許語句;
    break;
}

switch(整形表達式)
{
  case 值1:
  {
    語句1;
    break;
  }
  case 值2:
  {
    語句2;
    break;
  }
  case 值3:
  {
    語句3;
    break;
  }
  ...
  default:
    默許語句;
    break;
}

解釋:

1、起首要留意switch 的語法構造,不克不及有毛病

2、整形表達式的成果值假如等於值1,就履行語句1,假如等於值2,就履行語句2,假如表達式的值與任何 case 都紛歧樣的話,那末就會履行 default 前面的默許語句,也能夠沒有默許語句,最初停止全部 switch 語句。

3、留意每一個語句前面的 break,假如沒有 break,break 會跳出以後的 case 語句,從而跳出全部 switch 語句。

4、case 前面的標簽只能是整形常量或許整形常量表達式,不克不及用變量作為 case 的標簽。

例子:

int day = 0;
printf("請輸出一個 1-7 的數字\n");
scanf("%d", &day);
switch(day)
{
  case 1:
  {
    printf("明天是禮拜一\n");
    break;
  }
  case 2:
  {
    printf("明天是禮拜二\n");
    break;
  }
  case 3:
  {
    printf("明天是禮拜三\n");
    break;
  }
  case 4:
  {
    printf("明天是禮拜四\n");
    break;
  }
  case 5:
  {
    printf("明天是禮拜五\n");
    break;
  }
  case 6:
  {
    printf("明天是禮拜六\n");
    break;
  }
  case 7:
  {
    printf("明天是禮拜日\n");
    break;
  }
  default:
  {
    printf("輸出毛病\n");
    break;
  }
}

int day = 0;
printf("請輸出一個 1-7 的數字\n");
scanf("%d", &day);
switch(day)
{
  case 1:
  {
    printf("明天是禮拜一\n");
    break;
  }
  case 2:
  {
    printf("明天是禮拜二\n");
    break;
  }
  case 3:
  {
    printf("明天是禮拜三\n");
    break;
  }
  case 4:
  {
    printf("明天是禮拜四\n");
    break;
  }
  case 5:
  {
    printf("明天是禮拜五\n");
    break;
  }
  case 6:
  {
    printf("明天是禮拜六\n");
    break;
  }
  case 7:
  {
    printf("明天是禮拜日\n");
    break;
  }
  default:
  {
    printf("輸出毛病\n");
    break;
  }
}

掌握台輸入:(我們輸出數字2)

請輸出一個 1-7 的數字

2

明天是禮拜二

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved