av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

C語(yǔ)言

C語(yǔ)言if語(yǔ)句的使用講解

時(shí)間:2025-05-16 08:35:38 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

C語(yǔ)言if語(yǔ)句的使用講解

  if語(yǔ)句(if statement)是指編程語(yǔ)言(包括c語(yǔ)言,C#,VB,匯編語(yǔ)言等)中用來(lái)判定所給定的條件是否滿足,根據(jù)判定的結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。下面是小編為大家整理的C語(yǔ)言if語(yǔ)句的使用講解,歡迎參考~

  if語(yǔ)句的使用

  用if語(yǔ)句可以構(gòu)成分支結(jié)構(gòu)。它根據(jù)給定的條件進(jìn)行判斷,以決定執(zhí)行某個(gè)分支程序段。C語(yǔ)言的if語(yǔ)句有三種基本形式。

  語(yǔ)句的三種形式

  1) 第一種形式為基本形式:if

  if(表達(dá)式) 語(yǔ)句

  其語(yǔ)義是:如果表達(dá)式的值為真,則執(zhí)行其后的語(yǔ)句,否則不執(zhí)行該語(yǔ)句。

  【例1】

  #include

  int main(void){

  int a,b,max;

  printf(" input two numbers: ");

  scanf("%d%d",&a,&b);

  max=a;

  if (max

  printf("max=%d",max);

  return 0;

  }

  本例程序中,輸入兩個(gè)數(shù)a、b。把a(bǔ)先賦予變量max,再用if語(yǔ)句判別max和b的大小,如max小于b,則把b賦予max。因此max中總是大數(shù),最后輸出max的值。

  2) 第二種形式為: if-else

  if(表達(dá)式)

  語(yǔ)句1;

  else

  語(yǔ)句2;

  其語(yǔ)義是:如果表達(dá)式的值為真,則執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2 。

  【例2】

  #include

  int main(void){

  int a, b;

  printf("input two numbers: ");

  scanf("%d%d",&a,&b);

  if(a>b)

  printf("max=%d ",a);

  else

  printf("max=%d ",b);

  return 0;

  }

  輸入兩個(gè)整數(shù),輸出其中的大數(shù)。改用if-else語(yǔ)句判別a,b的大小,若a大,則輸出a,否則輸出b。

  3) 第三種形式為if-else-if形式

  前二種形式的if語(yǔ)句一般都用于兩個(gè)分支的情況。當(dāng)有多個(gè)分支選擇時(shí),可采用if-else-if語(yǔ)句,其一般形式為:

  if(表達(dá)式1)

  語(yǔ)句1;

  else if(表達(dá)式2)

  語(yǔ)句2;

  else if(表達(dá)式3)

  語(yǔ)句3;

  …

  else if(表達(dá)式m)

  語(yǔ)句m;

  else

  語(yǔ)句n;

  其語(yǔ)義是:依次判斷表達(dá)式的值,當(dāng)出現(xiàn)某個(gè)值為真時(shí),則執(zhí)行其對(duì)應(yīng)的語(yǔ)句。然后跳到整個(gè)if語(yǔ)句之外繼續(xù)執(zhí)行程序。 如果所有的表達(dá)式均為假,則執(zhí)行語(yǔ)句n。然后繼續(xù)執(zhí)行后續(xù)程序。 if-else-if語(yǔ)句的執(zhí)行過(guò)程如下圖所示。

  【例3】

  #include

  int main(void){

  char c;

  printf("input a character: ");

  c=get);

  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;

  }

  本例要求判別鍵盤(pán)輸入字符的類(lèi)別。可以根據(jù)輸入字符的ASCII碼來(lái)判別類(lèi)型。由ASCII碼表可知ASCII值小于32的為控制字符。在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫(xiě)字母, 在“a”和“z”之間為小寫(xiě)字母,其余則為其它字符。這是一個(gè)多分支選擇的問(wèn)題,用if-else-if語(yǔ)句編程,判斷輸入字符ASCII碼所在的范圍,分別給出不同的輸出。例如輸入為“g”,輸出顯示它為小寫(xiě)字符。

  if語(yǔ)句的嵌套

  當(dāng)if語(yǔ)句中的執(zhí)行語(yǔ)句又是if語(yǔ)句時(shí),則構(gòu)成了if 語(yǔ)句嵌套的情形。其一般形式可表示如下:

  if(表達(dá)式)

  if語(yǔ)句;

  或者為:

  if(表達(dá)式)

  if語(yǔ)句;

  else

  if語(yǔ)句;

  在嵌套內(nèi)的if語(yǔ)句可能又是if-else型的,這將會(huì)出現(xiàn)多個(gè)if和多個(gè)else重疊的情況,這時(shí)要特別注意if和else的配對(duì)問(wèn)題。例如:

  if(表達(dá)式1)

  if(表達(dá)式2)

  語(yǔ)句1;

  else

  語(yǔ)句2;

  其中的else究竟是與哪一個(gè)if配對(duì)呢?應(yīng)該理解為:

  if(表達(dá)式1)

  if(表達(dá)式2)

  語(yǔ)句1;

  else

  語(yǔ)句2;

  還是應(yīng)理解為:

  if(表達(dá)式1)

  if(表達(dá)式2)

  語(yǔ)句1;

  else

  語(yǔ)句2;

  為了避免這種二義性,C語(yǔ)言規(guī)定,else 總是與它前面最近的if配對(duì),因此對(duì)上述例子應(yīng)按前一種情況理解。

  【例4】

  #include

  int main(void){

  int a,b;

  printf("please input A,B: ");

  scanf("%d%d",&a,&b);

  if(a!=b)

  if(a>b) printf("A>B ");

  else printf("A

  else printf("A=B ");

  return 0;

  }

  比較兩個(gè)數(shù)的大小關(guān)系。本例中用了if語(yǔ)句的嵌套結(jié)構(gòu)。采用嵌套結(jié)構(gòu)實(shí)質(zhì)上是為了進(jìn)行多分支選擇,實(shí)際上有三種選擇即A>B、A

  簡(jiǎn)單講解C語(yǔ)言中宏的定義與使用

  宏定義是預(yù)編譯功能的一種, 預(yù)編譯又稱為預(yù)處理, 是為編譯做的預(yù)備工作的階段。處理#開(kāi)頭的指令, 比如拷貝 #include 包含的文件代碼,#define宏定義的替換,條件編譯等。

  使用宏定義的好處:使用宏定義的好處:可提高程序的通用性和易讀性,減少不一致性,減少輸入錯(cuò)誤和便于修改。例如 π 這個(gè)常量,我們有時(shí)候會(huì)在程序的多個(gè)地方使用,如果每次使用都重新定義,一來(lái)比較麻煩,二來(lái)容易出錯(cuò),所以我們可以把 π 做成宏定義來(lái)使用。

  語(yǔ)法說(shuō)明:

 。1)宏名一般用大寫(xiě)

 。2)使用宏可提高程序的通用性和易讀性,減少不一致性,減少輸入錯(cuò)誤和便于修改。例如:數(shù)組大小常用宏定義

 。3)預(yù)處理是在編譯之前的處理,而編譯工作的任務(wù)之一就是語(yǔ)法檢查,預(yù)處理不做語(yǔ)法檢查。

 。4)宏定義末尾不加分號(hào);

 。5)宏定義寫(xiě)在函數(shù)的花括號(hào)外邊,作用域?yàn)槠浜蟮某绦,通常在文件的最開(kāi)頭。

 。6)可以用#undef命令終止宏定義的作用域

 。7)宏定義可以嵌套

 。8)字符串" "中永遠(yuǎn)不包含宏

 。9)宏定義不分配內(nèi)存,變量定義分配內(nèi)存。

  定義:

  #define 宏名 內(nèi)容#define kArrLen 10 // OC駝峰命名法:首字符為k,其他單詞首字符大寫(xiě)#define ARR_LEN 10 // C語(yǔ)言中的宏命名規(guī)范:所有字母大寫(xiě),單詞用下劃線分隔

  例如:

  #define PI 3.1415926

  我們就可以使用 PI 來(lái)代替 3.1415926 即可:

  float r = 0.5;float area = PI * r * r;printf("area = %fn", area);

  在程序預(yù)編譯階段會(huì)把 PI 替換成 3.1415926:

  float area = 3.1415926 * r * r;

  宏定義內(nèi)容很簡(jiǎn)單,也很好理解,但是有幾個(gè)如下的注意事項(xiàng):

  1、因?yàn)楹甓x只是簡(jiǎn)單的替換,如果宏定義的內(nèi)容有運(yùn)算的時(shí)候,要把每個(gè)變量加上括號(hào),以免影響運(yùn)算的優(yōu)先級(jí)

  比如:#define MUL(A, B) (A * B)

  使用方法:

  MUL(3 + 5, 5 + 6) //會(huì)替換成 3 + 5 * 5 + 6 = 34

  我們希望(3 + 5) * (5 + 6),所以定義宏定義的時(shí)候應(yīng)該:

  #define MUL(A, B) ((A) * (B))

  2、注意宏定義后面沒(méi)有分號(hào)(;),它不是一條語(yǔ)句

  3、宏定義是在程序編譯前期進(jìn)行替換,此時(shí)程序還沒(méi)有編譯

【C語(yǔ)言if語(yǔ)句的使用講解】相關(guān)文章:

C語(yǔ)言if語(yǔ)句的使用06-30

C語(yǔ)言使用條件語(yǔ)句08-26

簡(jiǎn)單講解C語(yǔ)言中宏的定義與使用07-30

C語(yǔ)言的指針類(lèi)型講解11-02

C語(yǔ)言入門(mén)例題講解07-10

C語(yǔ)言for循環(huán)的使用10-24

C語(yǔ)言的使用的詳解09-17

C語(yǔ)言typedef的使用09-24

C語(yǔ)言的內(nèi)存使用09-23