㈠ c語言中的if ,else 語句
區別是很明顯的!
先講一下
if
分支結構吧!
if(express)語句1
else
語句2
當express為真時,執行語句1,假時執行語句2,很顯明,只能是一個語句,那麼如果要使用多個語句,必需使用{}表示語句塊!
回過頭來看看
if(express1)語句1
else
if(express2)
語句2
else
語句3
因為一個
if結構可以稱為一個復合語句!所以,在這個嵌套if中,第二個if為一個語句,所以,和
if(express1)語句1
if(express2)
語句2
else
語句3
很明顯不一樣!
前者是第二個if為第一個if的else分支的語句,而後者為平行的兩個if分支復合語句!
㈡ C語言 #if……#else……的意思
預處理指令是以#號開頭的代碼行。#號必須是該行除了任何空白字元外的第一個字元。#後是指令關鍵字,在關鍵字和#號之間允許存在任意個數的空白字元。整行語句構成了一條預處理指令,該指令將在編譯器進行編譯之前對源代碼做某些轉換。下面是部分預處理指令:
指令 用途
# 空指令,無任何效果
#include 包含一個源代碼文件
#define 定義宏#undef 取消已定義的宏#if 如果給定條件為真,則編譯下面代碼
#ifdef 如果宏已經定義,則編譯下面代碼
#ifndef 如果宏沒有定義,則編譯下面代碼
#elif 如果前面的#if給定條件不為真,當前條件為真,則編譯下面代碼,其實就是else if的簡寫
#endif 結束一個#if……#else條件編譯塊#error 停止編譯並顯示錯誤信息
#if……#else……
就是預編譯,比如:
#if 1
。。。。
#else……
這里#if 1表示此次編譯把其下的代碼編譯進去,如果改為#if 0,則表示此次編譯把#else後面的代碼編譯進去,而不是#if 0下的代碼。
#if TT ……#else……
TT是一個宏,這里表示如果TT這個宏定義的話,則編譯#if 下的代碼,否則#else下的代碼。
具體可以參考:
http://blog.csdn.net/qiantuo1234/article/details/6976072
㈢ C語言 if else語句
規則是else與他上面的最近的還沒有配對的if配對。
例如判斷三角形的。
if((a+b>c)&&(a+c>b)&&(b+c>a))。
if((a==b)||(a=c)||(b=c))。
printf("是等腰三角行")。
else printf("是普通三角形")。
else printf("不能夠成三角形")。
這個沒有細分,其中if((a==b)||(a=c)||(b=c))。
printf("是等腰三角行")。
else printf("是普通三角形");是一對,再外面的也是一對。
if語句一般形式。
if語句的一般形式如下:
if(表達式)語句1。
[else語句2]。
if語句中的「表達式」可以是關系表達式、邏輯表達式,甚至是數值表達式。其中最直觀、最容易理解的是關系表達式。所謂關系表達式就是兩個數值進行比較的式子。
㈣ 關於C語言中if else的用法,高手來幫下忙
if-else-if形式
當有多個分支選擇時,可採用if-else-if語句,其一般形式為:
if(表達式1)
語句1;
else if(表達式2)
語句2;
else if(表達式3)
語句3;
…
else if(表達式m)
語句m;
else
語句n;
其語義是:依次判斷表達式的值,當出現某個值為真時,則執行其對應的語句。然後跳到整個if語句之外繼續執行程序。 如果所有的表達式均為假,則執行語句n。然後繼續執行後續程序。 if-else-if語句的執行過程如圖3—3所示。
【例】
#include"stdio.h"
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");
}
本例要求判別鍵盤輸入字元的類別。可以根據輸入字元的ASCII碼來判別類型。由ASCII碼表可知ASCII值小於32的為控制字元。 在「0」和「9」之間的為數字,在「A」和「Z」之間為大寫字母, 在「a」和「z」之間為小寫字母,其餘則為其它字元。 這是一個多分
支選擇的問題,用if-else-if語句編程,判斷輸入字元ASCII碼所在的范圍,分別給出不同的輸出。例如輸入為「g」,輸出顯示它為小寫字元。
在使用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語句的三種形式中,所有的語句應為單個語句,配判塵如果要想在滿足條件時執行一組(多個)語句,則必須把這一組語句用{}括起來組成一個復合語句。但要注意的是在}之後不能再加分號。
例如:
if(a>b)
{a++;
b++;}
else
{a=0;
b=10;}