C 自增自減運(yùn)算符

2018-07-05 16:07 更新

學(xué)習(xí)C - C自增自減運(yùn)算符

自增運(yùn)算符(++)和自減運(yùn)算符(--)將存儲(chǔ)在整數(shù)變量中的值自增或自減1。

int number = 6;

您可以使用以下語(yǔ)句將其自增1:

++number;                              // Increase the value by 1

執(zhí)行此語(yǔ)句后,數(shù)字將包含值7。

同樣,您可以使用以下語(yǔ)句將數(shù)值減1:

--number;                              // Decrease the value by 1

這些自增和自減運(yùn)算符都是一元運(yùn)算符,這意味著它們只與一個(gè)操作數(shù)一起使用。

它們將int值增加或減少1。

如果在表達(dá)式中寫入count ++,則在使用該值之后會(huì)發(fā)生count的遞增。

想象一下你的操作如下

num = num + 1;

你可以簡(jiǎn)單的用這個(gè)語(yǔ)法 ++ 。

num++;

對(duì)于這種情況使用相同的方法

num = num - 1;

你可以使用 -- 語(yǔ)法。

num--;

#include <stdio.h> 
int main(void) 
{ 
      int ultra = 0, super = 0; 
   
      while (super < 5) 
      { 
          super++; 
          ++ultra; 
          printf("super = %d, ultra = %d \n", super, ultra); 
      } 
   
      return 0; 
}    

上面的代碼生成以下結(jié)果。

例子

現(xiàn)在如何在代碼中實(shí)現(xiàn)它們。讓我們寫這段代碼。


   #include <stdio.h> 
   int main() { 
      int a = 10; 
       
      a++; 
      printf("%d \n",a); 

      a++; 
      printf("%d \n",a); 

      ++a; 
      printf("%d \n",a); 

      a--; 
      printf("%d \n",a); 

      a--; 
      printf("%d \n",a); 

      --a; 
      printf("%d \n",a); 

      return 0; 
   } 

上面的代碼生成以下結(jié)果。

注意

您可以將自增運(yùn)算符放在變量的右側(cè),如下所示。

x++;

此表達(dá)式表示C使用變量x的當(dāng)前值并將其自增1。

變量的原始值為0,1為0,結(jié)果為1。

使用自增運(yùn)算符的另一種方法是將其放置在變量的前面或左側(cè),如下所示。

++x;

對(duì)變量相對(duì)于變量自增運(yùn)算符的位置(后綴與前綴)在求值時(shí)會(huì)產(chǎn)生不同的結(jié)果。

當(dāng)自增運(yùn)算符放置在變量的左側(cè)時(shí),它會(huì)在變量的另一個(gè)表達(dá)式使用之前首先將變量的內(nèi)容自增1。


#include <stdio.h> 
int main() 
{ 
   int x = 0; 
   int y = 0; 
   printf("\nThe value of y is %d\n", y++); 
   printf("\nThe value of x is %d\n", ++x); 
   return 0;
} 

在上面的第一個(gè)printf()函數(shù)中,C首先處理了printf()的輸出,然后增加了變量y。

在第二個(gè)語(yǔ)句中,C先增加x變量,然后處理printf()函數(shù),從而顯示變量的新值。

上面的代碼生成以下結(jié)果。

注意2

以下程序進(jìn)一步演示了自增運(yùn)算符的放置。


#include <stdio.h> 
int main() 
{ 
   int x = 0; 
   int y = 1; 
   x = y++ * 2;   //increments x after the assignment 
   printf("\nThe value of x is: %d\n", x);  
   x = 0; 
   y = 1; 
   x = ++y * 2;   //increments x before the assignment 
   printf("The value of x is: %d\n", x); 
   return 0;
}  //end main function 

上面的程序?qū)a(chǎn)生以下輸出。

-- 運(yùn)算符

-- 運(yùn)算符類似于自增運(yùn)算符(++),而不是自增基于數(shù)字的變量,它將它們自減1。

自減運(yùn)算符可以放在變量的兩側(cè)(前綴和后綴),如下所示。

--x; 

x--; 

下一個(gè)代碼塊以兩種方式使用自減算子來(lái)演示基于數(shù)字的變量如何自減1。


#include <stdio.h> 
main() 
{ 
   int x = 1;  
   int y = 1; 
   x = y-- * 4; 
   printf("\nThe value of x is %d\n", x); 
   y = 1; //reset variable value for demonstration purposes 
   x = --y * 4; 
   printf("\nThe value of x is now %d\n", x); 
} 

上面的代碼生成以下結(jié)果。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)