運算子與表示式 基本認知

2021-10-24 18:24:02 字數 2271 閱讀 8298

運算子:計算機就是用來計算(運算)的

c語言中提供了大量用於計算的符號級運算子,例如:+ -*/...

表示式:運算符合數字(變數)結合起來的式子 即稱為表示式

例如: 1+2 a+b

+ - * / %:加 減 乘 除 取餘 (模運算子)

注意事項:

1)如果參與除法運算的兩個數字都是整型數字 運算結果也為整型(運算結果只保留了整數部分)3/2結果為1

2)/和%不能對整數0進行操作,否則程式崩潰 例如:5/0,5%0

3)%不能對浮點數使用,編譯報錯 例如:5%1.1

4)如果/運算時 浮點數0.0

5/0.0 得到的是無窮大 inf

**a = 100; //將右邊的值給到左邊的變數

//本質就是將右邊的值寫入變數 a 對應記憶體中去

1)使用方式一

int a = 10;

a = 20;

2) 使用方式二

int a, b, c;

a = b = c = 0;

3) 使用方式三

賦值運算子=和其它運算子結合起來使用

a += b; 等價於 a = a + b; 

a -= b; 等價於 a = a - b;

a *= b; 等價於 a = a * b;

a /= b; 等價於 a = a / b;

a %= b; 等價於 a = a % b;

注意事項:

賦值運算子的左側是變數

不能是常量(字元常量『a』/整型常量100/浮點數1.1)

100=a;//編譯器報錯

100=200;//編譯器報錯

不能是表示式

a + b = c;//編譯器報錯 **

定義:

自增運算子使得變數對應記憶體中的只加1

自減運算子使得變數對應記憶體中的值減1

使用方式:

前++:先對變數的值加1,然後再去計算表示式的值

後++:先計算表示式的值,然後再去給變數做加1的操作

前--:先對變數減1,後算表示式的值

後--:先算表示式的值,後完成對變數的減1操作

注意事項:

不能對常量進行自增自減操作

100++;

--100;// 編譯器報錯

==:判斷是否相等

!=:判斷是否不等

: 判斷是否大於

<: 判斷是否小於

=:判斷是否大於等於

=:判斷是否小於等於

注意:

1)關係運算子的運算結果只有兩種值:

1(俗稱真或者true)

0(俗稱假或者false)

2)不要進行連續的關係運算

邏輯運算子有三個:

&&:邏輯與(並且)

||:邏輯或(或者)

!:邏輯非(取反)

邏輯運算返回值 只有兩種:

真/1/true

假/0/false

**邏輯與

語法格式:

c = 表示式a && 表示式b

語義:只有a和b值都為真(非0), c的值才為真

邏輯或語法格式:c = 表示式a || 表示式b

語義:只有a和b值都為真(非0), c的值才為真

邏輯非語法格式:!表示式a

語義:表示式a為真,運算結果為假

表示式a為假,運算結果為真**

注意事項:短路運算

形式1:

a && b, 如果a的值為假,b的**就不會被執行了

例如:int a = 1;

int res = 0;

res = 1 > 2 && ++a;

printf("a=%d\n", a); //1

int b = 1;

res = 2>1 && ++b;

printf("b=%d\n", b);//2

形式2:

a || b, 如果a的值為真 , b的**就不會被執行了

int a =1;

int res = 0;

res = 1>2 || ++a;

printf("a=%d\n", a);//2

int b = 1;

res = 2>1 || ++b;

printf("b=%d\n", b);//1

運算子與表示式

學習c語言時,在我們已經學習了型別,常量與變數,接下來就是通過學習運算子與表示式對型別,常量與變數進行運算。簡單說一下概念,用來對資料進行運算的符號,就可以稱為運算子。c中運算子和資料構成的式子,就稱為表示式。表示式再在其後加乙個分號,即構成c 語言語句。先說一下運算子吧。c語言的運算子多,一般記住...

運算子與表示式

數 算 注意事項 兩端的變數必須是同種型別,並返回同種型別。取餘運算,負數的餘數符號與被模數符號相同,1 5 1,1 5 1 num n,n 0,結果範圍 0,n 是週期函式。注意整除問題 1 2 0 整數的除法是整除 1.0 2 0.5 1d 2 0.5 單獨的前 後自增或自減是沒區別的,有了賦值...

運算子與表示式

1.了解什麼是表示式 表示式是由運算子與資料組成的式子,每乙個表示式都有運算的結果。2.我的老師每次使用這個運算子的時候都會說到這個老梗,sizeof是運算子不是函式,別看sizeof後面還要加乙個括號,但不是所有的都是函式。這也從側面sizeof在面試題中經常出現。3.隱式轉換型別 由於有的編譯系...