c語言條件判斷
Ⅰ 簡單c語言條件判斷
呵呵,從左往右直接判斷就行了啊。
第一個;1<2為真,那麼其布爾值就為1,在判斷1<2,當然為真啊。
第二個;2<1為假,那麼其布爾值就為0,在判斷0<1,當然為真啊。
第三個,1<2為真,那麼其布爾值就為1,在判斷1<0,當然為假啊。
Ⅱ C語言中的條件判斷用哪個結構實現
switch
語法:
switch( expression ) {
case A:
statement list;
break;
case B:
statement list;
break;
...
case N:
statement list;
break;
default:
statement list;
break;
}
switch語句允許你通過一個表達式判斷許多數值,它一般用來在多重循環中代替if()...else if()...else if()... 語句. break 語句必須在每個case 語句之後, 負責循環將執行所有的case語句.default case 是可選的.假如所有的case都不能匹配的話,他將和defult case匹配. 例如:
char keystroke = getch();
switch( keystroke ) {
case 'a':
case 'b':
case 'c':
case 'd':
KeyABCDPressed();
break;
case 'e':
KeyEPressed();
break;
default:
UnknownKeyPressed();
break;
}
Ⅲ c語言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語句的執行過程如下圖所示。
參考代碼如下:
char c;
printf("input a character: ");
c=getchar();
if(c<32)
printf("This is a control character ");
else if(c>='0'&&c<='9')
printf("This is a digit ");
else if(c>='A'&&c<='Z')
printf("This is a capital letter ");
else if(c>='a'&&c<='z')
printf("This is a small letter ");
else
printf("This is an other character ");
return 0;
本例要求判別鍵盤輸入字元的類別。可以根據輸入字元的ASCII碼來判別類型。由ASCII碼表可知ASCII值小於32的為控制字元。在「0」和「9」之間的為數字,在「A」和「Z」之間為大寫字母, 在「a」和「z」之間為小寫字母,其餘則為其它字元。
這是一個多分支選擇的問題,用if-else-if語句編程,判斷輸入字元ASCII碼所在的范圍,分別給出不同的輸出。例如輸入為「g」,輸出顯示它為小寫字元。
(3)c語言條件判斷擴展閱讀:
在使用if語句中還應注意以下問題:
1、在if關鍵字之後均為表達式。 該表達式通常是邏輯表達式或關系表達式,但也可以是其它表達式,如賦值表達式等,甚至也可以是一個變數。例如:
if(a=5) 語句;
if(b) 語句;
都是允許的。只要表達式的值為非0,即為「真」。如在:
if(a=5)…;
中表達式的值永遠為非0,所以其後的語句總是要執行的,當然這種情況在程序中不一定會出現,但在語法上是合法的。
2、在if語句中,條件判斷表達式必須用括弧括起來,在語句之後必須加分號。
3、在if語句中,所有的語句應為單個語句,如果要想在滿足條件時執行一組(多個)語句,則必須把這一組語句用{}括起來組成一個復合語句。但要注意的是在}之後不能再加分號。
Microsoft-if-else(C# 參考)
菜鳥教程-C#if 語句
Ⅳ C語言條件判斷
j%2是求余,如果j能夠被2整除,跳過if,如果j不能被2整除則執行if裡面的語句。
舉個例子,int j=9,則9%2=1,則if成立,會執行if裡面的語句;int j=8,則8%2=0,if不成立,跳過if里的語句執行下面的語句。
Ⅳ 關於C語言中if,elseif和else的區別在哪裡
C語言中if,elseif和else的主要區別是用法的區別。
if語句用來判定所給定的條件是否滿足,根據判定的結果(真或假)決定執行給出的兩種操作之一。如果後面沒有連接else則判斷為假時不執行任何操作。
else if是鑲嵌在if語句里的,如果一個程序需要2個或以上的if語句時,則使用else if語句,表示條件判斷為假時,再次進行條件判斷。
else必須使用在if語句里,如果沒有if,就不能使用else。
(5)c語言條件判斷擴展閱讀
if語句和else if語句的結構
1、if
if(express)語句1
else 語句2
當express為真時,執行語句1,假時執行語句2,只能是一個語句,那麼如果要使用多個語句,必須使用{}表示語句塊
2、else if
if(express1)語句1
else if(express2) 語句2
else 語句3
因為一個if結構可以稱為一個復合語句,所以,在這個嵌套if中,第二個if為一個語句,前者是第二個if為第一個if的else分支的語句,而後者為平行的兩個if分支復合語句。
Ⅵ 怎麼寫C語言條件判斷if語句
if(條件)
條件為真時執行語句;
當條件為真時此時要執行的語句大於一條時候此處語句要加大括弧
else
條件為假時執行語句;
當條件為假時要執行的語句大於一條時候此處語句要加大括弧
Ⅶ 關於c語言判斷真假條件的問題
在c語言里條件為真值就是1為假值就是0。70<=x<=80這個表達式中,當x的值大於70時用1和80比較,當x的值小於70時用0和80比較,由此看出無論x的值是大還是小最後和80比較都為真。
Ⅷ c語言 條件判斷
e = c = d = 0;
把上面這句放在第二個for循環後面的{}裡面最開始的地方就行了。
不過輸出上有點瑕疵。什麼樣子自己看吧。
我修改好了的在下面:
#include<stdio.h>
#define K 3
int main()
{
int i,t,a[K],b,e=0,c=0,d=0,j,y,k,u,z,f,g,iCount;
z=1;
for(f=0;f<=K-1;f++)
z=5*z;
b=z-1; // k位最大的數字為b 即k個4 **
iCount = 0;
for(y=0;y<=b;y++)
{
e = c = d = 0;
k=y;
for(j=K-1,u=0;j>=0,u<K;u++,j--)
{
a[j]=k%5;
k=k/5;
} //** 將十進制轉化為5進制 **
for(g=0;g<K;g++)
if(a[g]-2==0) e=1;
for(g=0;g<K;g++)
if(a[g]-0==0) c=1;
for(g=0;g<K;g++)
if(a[g]-1==0) d=1; //*判斷轉換好的5進制數組中是否有0 1 2三個數**
t=e&&c&&d; //**e c d同時為一的時候t為1**
if(a[0]!=0&&t==1)
{
for(i=0;i<=K-1;i++)
printf("%d",a[i]);
printf("\n");
iCount++;
}
} //**列印含0 1 2的五進制數**
printf("共有%d個數滿足條件\n",iCount);
return 0;
}
編譯環境是VS.net2007因為是C++所有稍微修改了一下。樓主的演算法一點都沒動。不過建議樓主寫程序前先畫個流程圖,不然遺忘初始化變數這種錯會經常犯的。另外樓主的這個變數用得也太多了點,建議把能重復使用的變數刪除,沒有必要為每一個for循環定義一個變數個。還有問題就修改疑問吧
Ⅸ c語言按位與的條件判斷
這個按位計算是指,該數字在計算機中存儲的每一位,
110轉換成2進制為1101110
111轉換成2進制為1101111
他們按位與後的結果為 1101110 不是0 ,所以結果為真
Ⅹ C語言中的條件判斷用哪個結構實現可以有哪些寫法
1、if....else....語句
1)if()
{}
2)if()
{}
else{}
3)if()
if()
if()
{}
else{}
else{}
else{}
4)if()
{}
else if()
{}
else if()
{}
else {]
2、switch語句
switch(條件表達式)
{
case條件值1:動作1;break;
case條件值2:動作2;break;
case條件值3:動作3;break;
default:動作4;break;
}