Chapter 4 表達式

運算符是構建表達式的基本工具,C語言提供了?算術運算符、關系運算符、邏輯運算符

4.1 算術運算符

主要為二元運算符,包括 + - * / %

  • 除了%運算符以外,其他二元運算符既允許操作數(shù)是整數(shù)也允許操作數(shù)是浮點數(shù)
  • 對于/ 要特別注意,當兩個數(shù)位整數(shù)時,會丟掉分數(shù)部分
  • 把0作為/或者%的右操作數(shù)會導致未定義的行為

運算符的優(yōu)先級和結合性

  • 最高優(yōu)先級:* / % (+ - 一元運算符)
  • 最低優(yōu)先級:(+ - 二元運算符)
  • 如果運算符是從左向右結合的,該運算符稱為左結合的。二元算術運算符都是左結合
  • 如果運算符是從右向左結合的,該運算符稱為右結合的。一元算術運算符都是右結合

4.2 賦值運算符

C語言中有=(簡單賦值)和復合賦值運算符

//在C語言中,賦值是運算符
int i; float f;

i = 72.99f; /*i is now 72*/
f = 136;    /*f is now 136.0*/

4.2.1 左值

  • 賦值運算符要求它的左操作數(shù)必須是左值。左值表示存儲在計算機內存中的對象,而不是常量或是計算的結果
12 = i;    /* WRONG */
i + j = 0; /* WRONG */
-i = j;    /* WRONG */

4.2.2 復合賦值

復合賦值運算符包括 += -= *= /= %=

  • 復合賦值運算符是右結合的?i += j += k 等價于 i += (j += k)

4.3 自增運算符和自減運算符

C語言中允許使用++和- - 運算,既可以作為前綴運算符,也可以作為后綴運算符

//前綴運算符和后綴運算符的結果是不相同的

/*++i的前綴自增的結果是i+1,就是先增加,再表示*/

int i = 1;
printf("i is %d\n",++i); // 輸出結果 i=2
printf("i is %d\n",i);   // 輸出結果 i=2

/*i++的后綴自增的結果是i,就是先表示,再自增*/

int i = 1;
printf("i is %d\n",++i); // 輸出結果 i=1
printf("i is %d\n",i);   // 輸出結果 i=2

  • TEST
/*用戶輸入一個三位數(shù),然后逆序打印出這個數(shù)字*/

#include <stdio.h>

int main(){
    int a1,a2,a3;
    printf("Enter a number: ");
    scanf("%1d%1d%1d",&a1,&a2,&a3);
    a1 += (a2 * 10 + a3 * 100);
    printf("Ans: %d",a1);
}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • #1.基礎1.1 基本概念1.2 優(yōu)先級和結合律1.3 求值順序 #2.算術運算符 #3.邏輯和關系運算符 #4....
    MrDecoder閱讀 405評論 0 0
  • 表達式 概念: 將同類型的數(shù)據(如常量、變量、函數(shù)等),用運算符號按一定的規(guī)則連接起來的、有意義的式子稱為表達式。...
    簡約酒館閱讀 744評論 0 0
  • 表達式 表達式是由數(shù)字、運算符、數(shù)字分組符號(如括號)、自由變量和約束變量等以能求得數(shù)值的有意義排列方法所得的組合...
    劼哥stone閱讀 648評論 0 4
  • 運算符是處理數(shù)據的基本方法,用來從現(xiàn)有的值得到新的值。JavaScript 提供了多種運算符,本章逐一介紹這些運算...
    徵羽kid閱讀 779評論 0 0
  • 接著之前的知識點,繼續(xù)學習js.還是一如既往的在簡書上求個贊~ 表達式呢,它是JavaScript的一個短語,js...
    我就是z閱讀 731評論 3 2

友情鏈接更多精彩內容