亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言 百文網(wǎng)手機(jī)站

C語言if語句的使用講解

時(shí)間:2022-04-02 15:04:33 C語言 我要投稿
  • 相關(guān)推薦

C語言if語句的使用講解

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

  if語句的使用

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

  語句的三種形式

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

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

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

  【例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語句判別max和b的大小,如max小于b,則把b賦予max。因此max中總是大數(shù),最后輸出max的值。

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

  if(表達(dá)式)

  語句1;

  else

  語句2;

  其語義是:如果表達(dá)式的值為真,則執(zhí)行語句1,否則執(zhí)行語句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語句判別a,b的大小,若a大,則輸出a,否則輸出b。

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

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

  if(表達(dá)式1)

  語句1;

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

  語句2;

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

  語句3;

  …

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

  語句m;

  else

  語句n;

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

  【例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;

  }

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

  if語句的嵌套

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

  if(表達(dá)式)

  if語句;

  或者為:

  if(表達(dá)式)

  if語句;

  else

  if語句;

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

  if(表達(dá)式1)

  if(表達(dá)式2)

  語句1;

  else

  語句2;

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

  if(表達(dá)式1)

  if(表達(dá)式2)

  語句1;

  else

  語句2;

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

  if(表達(dá)式1)

  if(表達(dá)式2)

  語句1;

  else

  語句2;

  為了避免這種二義性,C語言規(guī)定,else 總是與它前面最近的if配對,因此對上述例子應(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語句的嵌套結(jié)構(gòu)。采用嵌套結(jié)構(gòu)實(shí)質(zhì)上是為了進(jìn)行多分支選擇,實(shí)際上有三種選擇即A>B、A

  簡單講解C語言中宏的定義與使用

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

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

  語法說明:

  (1)宏名一般用大寫

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

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

 。4)宏定義末尾不加分號;

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

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

 。7)宏定義可以嵌套

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

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

  定義:

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

  例如:

  #define PI 3.1415926

  我們就可以使用 PI 來代替 3.1415926 即可:

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

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

  float area = 3.1415926 * r * r;

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

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

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

  使用方法:

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

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

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

  2、注意宏定義后面沒有分號(;),它不是一條語句

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

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

C語言if語句的使用11-12

C語言使用條件語句09-20

簡單講解C語言中宏的定義與使用11-19

C語言的指針類型講解09-14

C語言入門例題講解10-05

C語言的內(nèi)存使用09-03

C語言變量的使用09-14

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

C語言typedef的使用10-04