C語言中的的if語句共有多少種格式
3種形式
1、 第一種形式為基本形式:if
if(表達式) 語句
其語義是:如果表達式的值為真,則執行其后的語句,否則不執行該語句。
2、第二種形式為: if-else
if(表達式) 語句1;else 語句2;
其語義是:如果表達式的值為真,則執行語句1,否則執行語句2 。
3、第三種形式為if-else-if形式
前二種形式的if語句一般都用于兩個分支的情況。當有多個分支選擇時,可采用if-else-if語句,
一般形式為: if(表達式1) 語句1; else if(表達式2) 語句2; else if(表達式3) 語句3;…
else if(表達式m) 語句m; else 語句n;
其語義是:依次判斷表達式的值,當出現某個值為真時,則執行其對應的語句。然后跳到整個if
句之外繼續執行程序。 如果所有的表達式均為假,則執行語句n。然后繼續執行后續程序。
擴展資料
在使用if語句中還應注意以下問題:
在三種形式的if語句中,在if關鍵字之后均為表達式。
該表達式通常是邏輯表達式或關系表達式,但也可以是其它表達式,如賦值表達式等,甚至也可以是一個變量。例如: if(a=5) 語句; if(b) 語句;
都是允許的。只要表達式的值為非0,即為“真”。如在: if(a=5)…;中表達式的值永遠為非0,所以其后的語句總是要執行的,當然這種情況在程序中不一定會出現,但在語法上是合法的。
參考資料
搜狗百科-if語句
C語言中if(
*語句的一般格式if(表達式) [else](1)if語句中的“表達式”必須用“(”和“)”括起來.(2)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用.(3)當if和else下面的語句組,僅由一條語句構成時,也可不使用復合語句形式(即去掉花括號).*語句的執行過程(1)缺省else子句時當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,否則直接轉向執行下一條.(2)指定else子句時當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,然后轉向下一條語句;否則,執行語句組2.如圖4-1(b)所示.*語句的嵌套與嵌套匹配原則if語句允許嵌套.所謂if語句的嵌套是指,在“語句組1”或(和)“語句組2”中,又包含有if語句的情況.if語句嵌套時,else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對.為明確匹配關系,避免匹配錯誤,強烈建議:將內嵌的if語句,一律用花括號括起來.。
C語言的if語句編程
舉個例子 某單位馬上要加工資,增加金額取決于工齡和現工資兩個因素:對于工齡大于等于20年的,如果現工資高于2000,加200元,否則加180元;對于工齡小于20年的,如果現工資高于1500,加150元,否則加120元。
工齡和現工資從鍵盤輸入,編程求出下表加工資后的員工工資。 #include void main() { int y ; // 工齡 double s0 ; // 現工資 double s ; // 調整后工資 printf("輸入工齡:"); scanf("%d",&y); printf("輸入現工資:"); scanf("%lf",&s0); if (y>=20) if (s0>2000) s=s0+200; // 計算調整后工資 else s=s0+180; else if (s0>1500) s=s0+150; else s=s0+120; printf("調整后工資是%lf\n",s); } 。
C語言If語句的編程
#include
int main(void)
{
int x,y;
printf("please input a figure:");
scanf("%d",&x);
if(xy = 0;
else if (x>=0 &&xy = x;
else if (x>=10 && xy = 10;
else if (x>=20 && xy = (-0.5)*x + 20;
else
printf("the figure which you inputed is wrong.\n");
printf("y=%d\n",y);
return 0;
}
2.
#include
int main(void)
{
int x,y;
printf("please input a figure:");
scanf("%d",&x);
if(x>-5 && xy = x*x;
else
y = 3*x - 1;
printf("y = %d",y);
return 0;
}
用C語言編程中if語句的格式是什么
1.
if(條件語句)
{
程序執行體;
}
else
{
程序執行體;
}
2.
舉個例子:
int a;
scanf("%d",&a);
if(a > 0)
{
printf("a > 0"); //如果輸入的數大于0,就執行這個語句
}
else //就是除了a>0的情況
{
printf("a < 0"); //如果輸入的數小于0,就執行該語句
}
C語言編程if語句
#include <stdio.h>
#include <math.h>
int main()
{
float h,w,t;
printf("請輸入你的身高和體重 h,w:");
scanf("%f%f",&h,&w);
t=w/(h*h);
printf("t=%f\n",t);
if (t<18)
printf("你為低體重\n");
else if (t>=18 && t<=25)
printf("你為中等身材\n");
else if (t>25)
printf("你身體有點胖\n");
printf("%f,%f\n",h,w);
}
c語言if語句的用法
c語言提供了三種形式的if語句: 1、if(表達式)語句。
例如:if(x>y)printf("%d",x); 此時,如果表達式為真,則執行printf語句。 2、if(表達式)語句1 else 語句2 例如: if(x>y)printf("%d",x); else printf("%d",y); 此時,如果x>y成立為真,則執行語句printf("%d",x),然后直接跳過else,同時也跳過語句printf("%d",y),去執行之后的語句。
如果x>y不成立為假,則不執行語句printf("%d",x),執行語句printf("%d",x)。 3、if(表達式1)語句1 else if(表達式2)語句2 else if(表達式3)語句3 else if(表達式m)語句m else 語句 n 此時,哪個表達式為真,則運行哪個if后面的語句。
如表達式3成立為真,執行語句3。 在每個語句中,可以有多個語句,但需要加上大括號 例:if(x>y){printf("%d",x);break;} 擴展資料: if語句使用的注意事項: *(條件表達式)其后沒有分號。
一般來說,有"{}"有沒有";",有";"就沒有"{}" *語句所控制的語句如果是一條語句,我們可以不寫大括號; 如果控制的是兩條以上的語句,必須加大括號。 if語句的控制體沒有加大括號是其后跟的一條語句。
建議:永遠加上大括號。避免不必要的錯誤。
參考資料:百度百科-if語句。
c語言關于if語句的程序
scanf("%c",&A);
if(A==1)
你是讀入的字符,所以判斷時要按字符判斷:
if(A=='1')
{
}
else if if(A=='2')
{
}
else if if(A=='3')
{
}
還有一些小問題,幫你優化了,你再試試
int main()
{
char A;
double a,b,c;
printf("input your car,1——夏利,2——富康,3——桑塔納\n");
scanf("%c",&A);
if(A=='1')
{
printf("您選擇的是夏利,請輸入路程");
scanf("%lf",&a);
if(a<=3)
{
b=7*a;
printf("cost%lf",b);
}
else
{
c=21+2.1*a;
printf("cost%lf",c);
}
}
else if(A=='2')
{
printf("您選擇的是富康,請輸入路程");
scanf("%lf",&a);
if(a<=3)
{
b=8*a;
printf("cost%lf",b);
}
else
{
c=24+2.4*a;
printf("cost%lf",c);
}
}
else if(A=='3')
{
printf("您選擇的是桑塔納,請輸入路程");
scanf("%lf",a);
if(a<=3)
{
b=9*a;
printf("cost%lf",&b);
}
else
{
c=27+2.7*a;
printf("cost%lf",c);
}
}
}
關于C語言的if語句
第5行和第9行的if完全不同于else if
實際上,你題目提供的代碼中,這三個if是彼此獨立的關系,完全是井水不犯河水的
而else if 不一樣,必須在前面的if中的邏輯表達式為假執行else分支的時候才會判斷else后面的if里面的邏輯表達式是否為真
比如說
if(a>b) {語句塊1}
if(b>c) {語句塊2}
這兩個if井水不犯河水,只要a>b為邏輯真就執行語句塊1,只要b>c為邏輯真就執行語句塊2
if(a>b) {語句塊1}
else if(b>c) {語句塊2}
這個就不一樣,只要a>b為邏輯真就執行語句塊1,但光有b>c為邏輯真是不能執行語句塊2的,必須同時滿足a>b為邏輯假且b>c為邏輯真才能執行語句塊2
關于題目
3個if井水不犯河水,但因為前2個if里面的邏輯表達式a>b和ab為邏輯真時,執行if后面的語句后,第2個if后面的ab為邏輯真時,else后面的 if(a
c語言if語句程序
下面這個是輸入三個數x,y,z.。要求從小到大輸出。這里用到了三個if分支。
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;} /*交換x,y的值*/
if(x>z)
{t=z;z=x;x=t;}/*交換x,z的值*/
if(y>z)
{t=y;y=z;z=t;}/*交換z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
}