『壹』 c語言中條件運算符是什麼意思
條件運算符(? : )是一個三目運算符,即有三個操作數。
使用條件運算符(?:)可以實現 If else 的功能,其一般形式為:
表達式1 ? 表達式2 : 表達式3
例如條件語句:
if(a>b) max=a;
else max=b;
可用條件表達式寫為
max=(a>b) ? a : b;
執行該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。岩型
if條件語句例子如下:
知識擴展:
條件運算符的運算優先順序低於關系運算符和算術運算符,但高孝棗兄於賦值符
條件運算符?和:是巧襲一對運算符,不能分開單獨使用。
條件運算符的結合方向是自右至左。
『貳』 C語言中的條件語句
是的
如果第a>b為真,就把a,b值對調,然後執行第二個if語句。
要是a>b為假,直接執行第二個if語句進行判斷。
『叄』 在C語言中條件語句有哪些需要注意的事項
c語言語句分為5
類
:
1、
表達式語句
2、
函數調用語句
3、
控制語句
4、
復合語句
5、
空語句
表達式語句
:
表達式+分號;
函數調用語句
:
函數名+實際參數+分號;
格式一般為:函數名(參數表);
控制語句
:
1,條件判斷語句
if語句,switch語句循環執行語句
例如:if(a>b)
max=a;
else
max=b;
//
該語句表示:如果a>b條件成立,則max取a的值,否則max的值是b。在a>b條件的控制下,出現兩個可能的分支流程。而switch語句能實現多個分支流程。
do
while語句,while語句,for語句轉向語句
2,循環語句有for、while和do_while三種。當循環語句的循環控制條件為真時,反復執行指定操作,是c語言中專門用來構造循環結構的語句。
如:for(i=1;i<10;i++)
printf("%d",i);
i從1開始,每次加1,只要i<10就輸出i的值,因此i=1,2,3,……,9,共循環9次,輸出:
1
2
3
4
5
6
7
8
9
上述功能還可以用while語句和do_while語句實現。
用while語句實現:
i=1;
while(i<10)
{
printf("%d",i);i++;
}
用do_while語句實現:
i=1;
do
{
printf("%d",i);i++;
}
while(i<10);
轉移語句有break,continue,return和goto四種。它們都能改變程序原來執行順序並轉移到其它位
置繼續執行。例如,循環語句中break語句終止該循環語句的執行;而循環語句中的continue語句只結束本次循環並開始下次循環;return語句
用來從被調函數返回到主調函數並帶回函數的運算結果;goto語句可以無條件轉向任何指定的位置執行。
復合語句
:多個語句用{}括起來,組成復合語句,其中每條語句都以;結束,但}外不能加分號;
空語句
:
空語句是只有分號(;)的語句。由一個分號組成,它表示什麼操作也不做。從語法上講,它的確是一條語句。在程序設計中,若某處從語法上需要一條語句,而實際上不需要執行任何操作時就可以使用它。例如,在設計循環結構時,有時用到空語句。
賦值語句
:屬於表達式語句,注意事項如下:
1、
允許嵌套
2、
與為變數賦初值有區別,賦初值是變數說明的一部分,與其他變數要用逗號分隔,而賦值語句需要用分號;結束
3、
變數說明不允許中的賦初值不允許連續賦初值,如int
a=b=c=5;是錯誤的,但賦值語句a=b=c=5是正確的。
4、
注意賦值表達式和賦值語句的區別。賦值表達式是一種表達式,它可以出現在任何允許表達式出現的地方,而賦值語句則不能。
如if
((x=y+5)>0)
z=x;是正確的,而if((x=y+5;)>0)
z=x;是錯誤的。
『肆』 C語言中什麼情況下用if語句,就是在什麼條件下要用,詳細點
需要判斷時用。編程時,若要實現「如果……」就可以用if(...)
『伍』 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;
else y=-x;
if--else if--else結構
if(表達式1)
語句1;
else if(表達式2)
語句2;
else if(表達式3)
語句3;
.
else
語句n;
這種結構是從上到下逐個對條件進行判斷,一旦發現條件滿點足就執行與它有關的語句, 並跳過其它剩餘階梯;若沒有一個條件滿足,則執行最後一個else 語句n。最後這個else常起著預設條件的作用。同樣,如果每一個條件中有多於一條語句要執行時,必須使用{}把這些語句包括在其中。
條件語句可以嵌套,這種情況經常碰到,但條件嵌套語句容易出錯,其原因主要是不知道哪個if對應哪個else。
例如:
if(x>20||x<-10)
if(y<=100&&y>x)
printf(Good);
else
printf(Bad);
對於上述情況, Turbo C規定: else語句與最近的一個if語句匹配, 上例中的else與if(y<=100&&y>x)相匹配。為了使else與if(x>20||x<-10)相匹配, 必須用花括弧。如下所示:
if(x>20||x<-10)
{
if(y<=100&&y>x)
printf(Good);
}
else
printf(Bad);
下面舉幾個例子:
1.輸入一個數,如果大於0,輸出plus;如果是負數,輸出negative;如果正好是0,則輸出zero。
main()
{
float num;
scanf(%f,&f);
if(num>0)
printf(plus\n);
else if(num<0)
printf(negative\n);
else
printf(zero\n);
}
先定義兩個變數,然後輸入一個數,然後判斷這個數的范圍,輸出對應的字元串。
2.輸入一個數x,輸出y。其中y是x的絕對值。
main()
{
float x,y;
scanf(%f,&x);
if(x>=0) y=x;
else y=-x;
printf(%f\n,y);
}
Trubo C 2.0把一些常用的功能都寫好了,我們只需要使用就可。例如求絕對值的功能在C的庫裡面就有。看下面的:
#include math.h
main()
{
float x,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<-5 y=x;
-5<=x<1 y=2*x+5;
1<=x<4 y=x+6;
x>=4 y=3*x-2;
程序如下:
main()
{
float x,y;
scanf(%f,&x);
if(x<-5)
y=x;
else if(-5<=x&&x<1)
y=2*x+5;
else if(1<=x&&x<4)
y=x+6;
else
y=3*x-2;
printf(%f\n,y);
}
這里要說明兩點:
(1).-5<=x&&x<1
不能寫成-5<=x<1;1<=x&&x<4也不能寫成1<=x<4;在C語言中,不能認識連續不等式。
(2).y=2*x+5不能寫成y=2x+5;y=3*x-2也不能寫成y=3x-2;這與我們平時所寫的方法不一樣。
4.輸入三個數x,y,z,然後按從大到小輸出。
main()
{
float x,y,z;
scanf(%f%f%f,&x,&y,&z); if(x>=y&&x>=z) {
printf(%f\t,x);
if(y>=z) printf(%f\t%f\n,y,z); else printf(%f\t%f\n,z,y); }
else if(y>=x&&y>=z) {
printf(%f\t,y);
if(x>=z) printf(%f\t%f\n,x,z); else printf(%f\t%f\n,z,x); }
else
{
printf(%f\t,z);
if(x>=y) printf(%f\t%f\n,x,y); else printf(%f\t%f\n,y,x); }
}
說明:這是一個典型的if語句嵌套結構,如果不使用括弧,那麼if和else的對應關系就亂了。
switch--case語句
在編寫程序時, 經常會碰到按不同情況分轉的多路問題, 這時可用嵌套if -else-if語句來實現, 但if-else-if語句使用不方便, 並且容易出錯。對這種情況, Turbo C提供了一個開關語句。
開關語句格式為:
switch(變數)
{
case 常量1:
語句1或空;
case 常量2:
語句2或空;
.
case 常量n:
語句n或空;
default:
語句n+1或空;
}
執行switch開關語句時,將變數逐個與case後的常量進行比較,若與其
中一個相等,則執行該常量下的語句,若不與任何一個常量相等,則執行default後面的語句。
注意:
1.switch中變數可以是數值,也可以是字元,但必須是整數。
2.可以省略一些case和default。
3.每個case或default後的語句可以是語句體,但不需要使用{}括起來。 例如:
main()
{
intx,y;
scanf(%d,&x);
witch(x)
{
case 1:
y=x+1;
break; /*退出開關語句,遇到break才退出*/
case 4:
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()
{
float num;
char grade;
scanf(%d,&num);
if(num>=90) grade='A';
else if(num>=80&&num<89) grade='B';
else if(num>=70&&num<79) grade='C';
else if(num>=60&&num<69) grade='D';
else grade='E';
printf(%c,grade);
}
(2).用switch語句
main()
{
intnum;
char grade;
scanf(%d,&num);
num/=10;
switch(num)
{
case 10:
case 9:
grade='A';
break;
case 8:
grade='B';
break;
case 7:
grade='C';
break;
case 6:
grade='D';
break;
default:
grade='E';
break;
}
printf(%c,grade);
}
說明一點,並不是每個case裡面有都語句,有時侯裡面是空的,就好象這一題。switch語句執行的順序是從第一case判斷,如果正確就往下執行,直到break;如果不正確,就執行下一個case。所以在這里,當成績是100分時,執行case 10:然後往下執行,grade='A';break;退出
『陸』 簡述在c語言中合法變數名和函數名需要滿足的條件
一、C語言變數名的命名規則:(可以字母,數字,下劃線混合使用)
1. 只能以字母或下劃線開始;
2. 不能以數字開始;
3. 一般小寫;
4. 關鍵字不允許用(eg:int float=2//error float 為保留字不允許用);
二、函數名的命名規則
1.見名知意;
2.自定義函數函數名首字母大寫(庫函數里的函數名都是以小寫字母定義,為了區分庫函數和自定義函數,避免沖突)。
『柒』 C語言合法語句的條件
C語言合法語句的條件:演算法只要滿足了有窮性、確定性、輸入、輸出、可行性五個特點,演算法的優劣來自於時間和空間復雜度,復雜度越低的演算法效率就高。
標識符由字母(A-Z,a-z)、數字(0-9)、下劃線「_」組成,並且首字元不能是數字,但可以是字母或者下劃線。例如,正確的標識符:abc,a1,prog_to。不能把C語言關鍵字作為用戶標識符,例如if,for,while等。
含義
C語言與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。