C語言里面的判斷語句
在C語言中,判斷語句的一般格式為
if(expr1)
{
//some codes
}
else if(expr2)
{
//some codes
}
else if(expr3)
else
{
//some codes
}
//out of check執行時,會依照書寫順序,依次判斷各個expr,如果有一個為真,則執行后續的{}內語句,并不再執行后續判斷,而是直接從out of check開始執行。
else if的數量不限,可以不存在,也可以有任意多組。
else同樣可以不存在。
每個else 與最其之前最近的沒有匹配else的if相結合。
判斷執行的語句{}部分,大括號對可以省略,省略后,if僅對其下一語句生效。
用C語言如何判斷素數
所謂素數是指除了1和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被2~16的任一整數整除.因此判斷一個整數m是否是素數,只需把m被2~m-1之間的每一個整數去除,如果都不能被整除,那么m就是一個素數另外判斷方法還可以簡化.m不必唄2~m-1之間的每一個整數去除,只需被2~√m之間的每一個整數去除就可以了.如果m不能被2~√m間任一整數整除,m必定是素數.例如判別17是是否為素數,只需使17被2~4之間的每一個整數去除,由于都不能整除,可以判定17是素數.(原因:因為如果m能被2~m-1之間任一整數整除,其二個因子必定有一個小于或等于√m,另一個大于或等于√m.例如16能被2,4,8整除,16=2*8,2小于4,8大于4,16=4*4,4=√16,因此只需判定在2~4之間有無因子即可)#include#includevoid main(){int m,i,k;printf("請輸入一個整數:");scanf("%d",&m);k=(int)sqrt(m);for(i=2;ik)printf("%d 是素數.\n",m);elseprintf("%d 不是素數.\n",m);}。
C語言判斷語句
if 是一個條件判斷語句 你是男人 就不可能是女人 是女人 就不可能是男人 如果既不是男人 也不是女人 那必定是人妖
if(男人)
printf(男人)
else if(女人)
printf(女人)
else
人妖
所以你這個程序 這樣寫是沒錯的 程序也是最優的 沒法精簡
比如說 如果是第一種三角形 那么就立即跳出了整個if(){}語句了
后面的都不會判斷下去了
其實else if模式和case是一樣 你記住這點就好了
你說的return我估計是這樣
if(男人) printf(男人);
if(女人) printf(女人);
if(人妖) printf(人妖);
這樣寫的問題就是 如果你是男人 那么打印男人
但是 語句會跳到下面去判斷
if(女人) printf(女人)
if(人妖) printf(人妖)
當然 這2句是不會輸出內容的
但是簡直就是浪費 因為第一個if判斷完畢了 后面的就不用判斷了
這種情況 你需要在每個后面加return
意思就是 我挨著判斷 如果我是男人 那么打印 然后 return 退出了這個函數 后面的2個就不判斷了
if(男人) printf(男人;return 0;
if(女人) printf(女人;return 0
if(人妖) printf(人妖);return 0;
C語言真假判斷
朋友,這是一個與和或的問題。
"||"是或的意思,而"&&"是與的意思,相信你應該知道:對于或而言,只要有一個是真,那么這個或的結果就是真;而對于與來講,必須2個都為真,結果才是真,否則為假。 現在你需要知道,計算機語言中判斷真假的準則是:零為假,非零為真! 也就是說"9||0"中的9已經為真,所以"9||0"這個表達式的值為1;同樣的,"8&&7"這個表達式的8和7都是真,所以結果也是1. 不知道你明白了沒?希望對你有幫助!對的!非零就是真!至于為什么它返回值是真,結果卻每次都是1,而不是其他比如2,3,4。
。其實這個也對的,只是別人寫的系統函數返回的就是1或0。
C語言的對語句中用作判斷的表達式一般為----
條件表達示語句一、if語句if(表達式)語句1;如果表達式的值為非0,則執行語句1,否則跳過語句繼續執行下面的語句。
如果語句1有多于一條語句要執行時,必須使用{}把這些語句包括在其中,此時條件語句形式為:if(表達式){語句體1,2,3;}例如:if(x>=0)y=x;if(a||b&&c){z=a+b;c+=z;}if--else語句除了可以指定在條件為真時執行某些語句外,還可以在條件為假時執行另外一段代碼。在C語句中利用else語句來達到這個目的。
if(表達式)語句1;else語句2;同樣,當語句1或語句2是多于一個語句時,需要用{}把語句括起來。例如:if(x>=0)y=x;elsey=-x;if--elseif--else結構if(表達式1)語句1;elseif(表達式2)語句2;elseif(表達式3)語句3;.else語句n;這種結構是從上到下逐個對條件進行判斷,一旦發現條件滿點足就執行與它有關的語句,并跳過其它剩余階梯;若沒有一個條件滿足,則執行最后一個else語句n。
最后這個else常起著缺省條件的作用。同樣,如果每一個條件中有多于一條語句要執行時,必須使用{}把這些語句包括在其中。
條件語句可以嵌套,這種情況經常碰到,但條件嵌套語句容易出錯,其原因主要是不知道哪個if對應哪個else。例如:if(x>20||xx)printf(Good);elseprintf(Bad);對于上述情況,TurboC規定:else語句與最近的一個if語句匹配,上例中的else與if(yx)相匹配。
為了使else與if(x>20||x20||xx)printf(Good);}elseprintf(Bad);下面舉幾個例子:1.輸入一個數,如果大于0,輸出plus;如果是負數,輸出negative;如果正好是0,則輸出zero。main(){floatnum;scanf(%f,&f);if(num>0)printf(plus\n);elseif(num=0)y=x;elsey=-x;printf(%f\n,y);}TruboC2.0把一些常用的功能都寫好了,我們只需要使用就可。
例如求絕對值的功能在C的庫里面就有。看下面的:#*(){floatx,y;scanf(%f,&x);y=fabs(x);/*求x的絕對值,然后賦值給y*/printf(%f\n,y);}這個程序和上面的程序完成的功能是一模一樣的,都是求絕對值。
可以看出,用下面這個方法比上面就要好一些。由于fabs()是一個函數,系統自帶的,所以在使用它的時候,我們必須把它所在的庫文件math.h包含在程序中,即程序最前面一行。
類似的還有求開方sqrt(),求指數冪exp()等等,這些與數學方面有關的函數都在math.h里面。3.輸入x,輸出y,x和y滿足關系:x=4y=3*x-2;程序如下:main(){floatx,y;scanf(%f,&x);if(x=y&&x>=z){printf(%f\t,x);if(y>=z)printf(%f\t%f\n,y,z);elseprintf(%f\t%f\n,z,y);}elseif(y>=x&&y>=z){printf(%f\t,y);if(x>=z)printf(%f\t%f\n,x,z);elseprintf(%f\t%f\n,z,x);}else{printf(%f\t,z);if(x>=y)printf(%f\t%f\n,x,y);elseprintf(%f\t%f\n,y,x);}}說明:這是一個典型的if語句嵌套結構,如果不使用括號,那么if和else的對應關系就亂了。
switch--case語句在編寫程序時,經常會碰到按不同情況分轉的多路問題,這時可用嵌套if-else-if語句來實現,但if-else-if語句使用不方便,并且容易出錯。對這種情況,TurboC提供了一個開關語句。
開關語句格式為:switch(變量){case常量1:語句1或空;case常量2:語句2或空;.case常量n:語句n或空;default:語句n+1或空;}執行switch開關語句時,將變量逐個與case后的常量進行比較,若與其中一個相等,則執行該常量下的語句,若不與任何一個常量相等,則執行default后面的語句。注意:*中變量可以是數值,也可以是字符,但必須是整數。
2.可以省略一些case和default。3.每個case或default后的語句可以是語句體,但不需要使用{}括起來。
例如:main(){intx,y;scanf(%d,&x);witch(x){case1:y=x+1;break;/*退出開關語句,遇到break才退出*/case4:y=2*x+1;break;default:y=x--;break;printf(%d\n,y);}用開關語句編的程序一定可以用if語句做。那么在什么情況下需要用switch語句呢?一般在出現比較整的情況下或者能轉化成比較整數的情況下使用。
看下面的例子:例子:一個學生的成績分成五等,超過90分的為'A',80-89的為'B',70-79為'C',60-69為'D',60分以下為'E'。現在輸入一個學生的成績,輸出他的等級。
(1).用if語句main(){floatnum;chargrade;scanf(%d,&num);if(num>=90)grade='A';elseif(num>=80&&num=70&&num=60&&num。
c語言 if與 if else的區別是什么
你要問的主要意思應該是if 與else if的區別吧?第一組是條件嵌套,例如:if 中午吃飯 if 沒人請吃 自己出錢吃第二組是條件有多種,比單純的if 和else 成對出現的2種條件多。
例如:if 中午吃飯花費在100元以內else if 中午吃飯花費在100-200元以內else 中午吃飯超過200元的預算第三組,if 與else成對出現,說明條件選項只有2個,例如:if 中午吃飯 吃XXXelse(意思是中午不吃飯,因為吃與不吃只有兩種情況) 加班。
C語言中if語句的三種形式到底是怎樣的
1)簡化形式
if(表達式) 語句塊
如: if(x>y) printf(“%d”,x);
2)一般形式
if (表達式)
語句塊1
else
語句塊2
例如:
if (x>y)
printf(“max=%d”,x);
else
printf(“max=%d”,y);
3)嵌套形式
含義:一條if語句重又包含另一個if語句稱為if語句的嵌套.
格式:
if( )
if( ) 語句塊1
else 語句塊2
else
if( ) 語句塊3
else 語句塊4
例如:
if (score>90)
printf(“very good”);
else
if(score>80)
printf(“good”);
else
if(score>60)
printf(“ok”);
else
printf(“bad”);
如果語句塊包含多個語句,用{}就行了
例如:
if(n>0)
{
printf("%d",n);
printf("是正數\n");
}