數學處理函數: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.當前運算符是否運算,取決於與其相鄰運算符的優先級比較結果:當前運算符低於其後的運算符,則當前的運算符不運算;不然運算符運算
自增自減是單目運算符,優先級低於!