程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話 if else 語句具體講授

C說話 if else 語句具體講授

編輯:關於C++

C說話 if else 語句具體講授。本站提示廣大學習愛好者:(C說話 if else 語句具體講授)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話 if else 語句具體講授正文


後面我們看到的代碼都是次序履行的,也就是先履行第一條語句,然後是第二條、第三條……一向到最初一條語句。

然則關於許多情形,次序構造的代碼是遠遠不敷的,好比一個法式限制了只能成年人應用,兒童由於年紀不敷,沒有權限應用。這時候候法式就須要做出斷定,看用戶能否是成年人,並給出提醒。

if-else語句

在C說話中,應用if和else症結字停止斷定。請先看上面的代碼:

#include <stdio.h>
int main()
{
 int age;
 printf("請輸出你的年紀:");
 scanf("%d", &age);
 if(age>=18){
 printf("祝賀,你曾經成年,可使用該軟件!\n");
 }else{
 printf("負疚,你還未成年,不宜應用該軟件!\n");
 }
 return 0;
}

能夠的運轉成果:

請輸出你的年紀:23
祝賀,你曾經成年,可使用該軟件!

if else 語句的構造為:

if(表達式){
    語句塊1
}else{
    語句塊2
}

意思是:假如表達式的值為真,則履行語句塊1,不然履行語句塊2 。其履行進程可表現為下圖:

所謂語句塊(Statement Block),就是由{ }包抄的一個或多個語句的聚集。假如語句塊中只要一個語句,也能夠省略{ },例如:

if(age>=18) printf("祝賀,你曾經成年,可使用該軟件!\n");
else printf("負疚,你還未成年,不宜應用該軟件!\n");

因為if else 語句可以依據分歧的情形履行分歧的代碼,所以也叫分支構造或選擇構造,下面的代碼中,就有兩個分支。

求兩個數中的較年夜值:

#include <stdio.h>
int main()
{
 int a, b, max;
 printf("輸出兩個整數:");
 scanf("%d %d", &a, &b);
 if(a>b) max=a;
 else max=b;
 printf("%d和%d的較年夜值是:%d\n", a, b, max);
 return 0;
}

運轉成果:

輸出兩個整數:34 28
34和28的較年夜值是:34

本例中借助變量max,用max來保留較年夜的值,最初將max輸入。

if語句

我們可以只應用 if 語句。也就是說,if else不用同時湧現。if 語句的根本情勢為:

if(表達式){
    語句塊
}

意思是:假如表達式的值為真,則履行厥後的語句塊,不然直接跳過。其進程可表現為下圖:

只應用 if 語句來求兩個數中的較年夜值:

#include <stdio.h>
int main()
{
 int a, b, max;
 printf("輸出兩個整數:");
 scanf("%d %d", &a, &b);
 max=b; // 假定b最年夜
 if(a>b) max=a; // 假如a>b,那末更改max的值
 printf("%d和%d的較年夜值是:%d\n", a, b, max);
 return 0;
}

運轉成果:

輸出兩個整數:34 28
34和28的較年夜值是:34

本例法式中,輸出兩個數a、b。把b先付與變量max,再用 if 語句辨別max和b的年夜小,如max小於b,則把b付與max。是以max中老是年夜數,最初輸入max的值。

多個if else語句

if else語句也能夠多個同時應用,組成多個分支,情勢以下:

if(表達式1){
    語句塊1
} else  if(表達式2){
    語句塊2
}else  if(表達式3){
    語句塊3
}else  if(表達式m){
    語句塊m
}else{
     語句塊n
}

意思是:順次斷定表達式的值,當湧現某個值為真時,則履行其對應的語句。然後跳到全部if語句以外持續履行法式。 假如一切的表達式均為假,則履行語句塊n。然後持續履行後續法式。多個 if else 語句的履行進程以下圖所示:

例如,斷定輸出的字符的種別:

#include <stdio.h>
int main(){
 char c;
 printf("Input a character:");
 c=getchar();
 if(c<32)
 printf("This is a control character\n");
 else if(c>='0'&&c<='9')
 printf("This is a digit\n");
 else if(c>='A'&&c<='Z')
 printf("This is a capital letter\n");
 else if(c>='a'&&c<='z')
 printf("This is a small letter\n");
 else
 printf("This is an other character\n");
 return 0;
}

運轉成果:

Input a character:e
This is a small letter

本例請求辨別鍵盤輸出字符的種別。可以依據輸出字符的ASCII碼來辨別類型。由ASCII碼表可知ASCII值小於32的為掌握字符。在“0”和“9”之間的為數字,在“A”和“Z”之間為年夜寫字母, 在“a”和“z”之間為小寫字母,其他則為其它字符。這是一個多分支選擇的成績,用多個 if else 語句編程,斷定輸出字符ASCII碼地點的規模,分離給出分歧的輸入。例如輸出為“e”,輸入顯示它為小寫字符。

在應用if語句時還應留意以下成績:

1) 在三種情勢的if語句中,在 if 症結字以後均為表達式。 該表達式平日是邏輯表達式或關系表達式,但也能夠是其它表達式,如賦值表達式等,乃至也能夠是一個變量。例如:
    if(a=5) 語句;
    if(b) 語句;
都是許可的。只需表達式的值為非0,即為“真”。如在:
    if(a=5)…;
中表達式的值永久為非0,所以厥後的語句老是要履行的,固然這類情形在法式中紛歧定會湧現,但在語法上是正當的。

又如,有法式段:

if(a=b)
 printf("%d",a);
else
 printf("a=0");

本語句的語義是,把b值付與a,如為非0則輸入該值,不然輸入“a=0”字符串。這類用法在法式中是常常湧現的。

2) 在if語句中,前提斷定表達式必需用括號括起來。

3) 語句塊由{ }包抄,但要留意的是在}以後不要再加分號;。例如:

if(a>b){
 a++;
 b++;
}else{
 a=0;
 b=10;
}

if語句的嵌套

if 語句也能夠嵌套應用,例如:

#include <stdio.h>
int main(){
 int a,b;
 printf("Input two numbers:");
 scanf("%d %d",&a,&b);
 if(a!=b){
 if(a>b) printf("a>b\n");
 else printf("a<b\n");
 }else{
 printf("a=b\n");
 }
 return 0;
}

運轉成果:

Input two numbers:12 68
a<b

if 語句嵌套時,要留意 if 和 else 的配對成績。C說話劃定,else 老是與它後面比來的 if 配對,例如:

if(a!=b) // ①
if(a>b) printf("a>b\n"); // ②
else printf("a<b\n"); // ③

③和②配對,而不是和①配對。

以上就是對C說話if else常識的詳解,願望能贊助進修C說話的同伙。

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