運算符詳解

數學處理函數:ide

abs(x)  =>| x |(適用於整型數值)函數

fabs(x)=>|x |(適用於浮點數)spa

sqrt(x)=> 求x的算術平方根get

pow(x,y)=>求x的y次方(極爲耗時)數學

exp(x)=>e的x次方it

log(x)=>In(x)io

log10(x)=>lg(x)class

#include<stdio.h>變量

#include<conio.h>nio

void main(void)

{

       printf("%lf\n",sqrt(2.0));//sqrt函數返回值爲double

        priintf(" %lf  %lf \n", exp(1)  ,log(exp(1)));

    printf("%lf\n",      log(25)/log(5));

 
 

    getch();

}

關係運算符:

又稱比較運算符:< >   >=   <=   !=    ==

關係運算符優先級小於算術運算符

有關係運算符組成的條件表達式的運算結果,只有真假兩種,1表示真,0表示假

設:x是一個int類型的變量,且已經賦值,則:

14>x>3的運算過程:先運算14>x,值爲0或1,由於0和1都小於3,因此表達式值恆爲0

邏輯運算符:

邏輯非高於邏輯與高於邏輯或

邏輯與和邏輯或低於關係運算符

邏輯非是單目運算符,且是優先級最高的單目運算符

有邏輯運算符組成的邏輯表達式(又稱條件表達式)的運算結果只有:1(真)0(假)

C語言對於條件表達式的值,按兩種狀況對待:

0  爲假

非0 爲真

計算機系統(C語言)對於邏輯運算符兩側的內容,按條件表達式看待。

3 && 4的值是1

!!3的值是1

什麼時候!0爲真,什麼時候1爲真?

答:C預言對於輸入的文件而言!0爲真,對於運算結果只有1爲真

 

賦值運算符

賦值只能對變量或者空間這種操做數進行,變量(空間)在C術語中又稱爲左值。

賦值運算絕對不能對常量或者表達式賦值

賦值的本質是覆蓋空間原有的值

m = n + 5;//取出n空間的值,與5相加賦值給m

除了賦值運算,其他運算都不能改變空間的值

簡單賦值運算符的優先級僅僅比「,」運算符高

2)複合賦值運算符

他們的本質是賦值運算符,優先級與簡單運算符相同

+=     -=     *=     /=  %=

n += 6;//n = n+6;

n *= 4+5; // n = n * (4+5);

int i = 3;

i += i -= i*i;

printf(" %d\n" , i);//輸出-12

3)自增,自減運算符

自增自減運算符的本質是賦值運算符(不是算術運算符)

++自增

--自減

i++;

++i;

上述兩個語句所有實現了i加1

++i 置前自增:先對變量的值增1,而後用增1後的值參加後續運算

i++滯後自增:先用變量的原值參加運算,直到本條語句的全部運算所有運算完畢後,纔對變量值增1

3++;//是一種錯誤的表達,由於它缺乏左值

關於運算符優先級的問題:

3 && 4 + 5 * 6運算順序是:*,+,&&

計算機遵循何種原則:

1.一次只處理相鄰的兩個運算符中的一個

2.一次只比教兩個相鄰運算符

3.當前運算符是否運算,取決於與其相鄰運算符的優先級比較結果:當前運算符低於其後的運算符,則當前的運算符不運算;不然運算符運算

自增自減是單目運算符,優先級低於!

相關文章
相關標籤/搜索