数学处理函数:

abs(x)  =>| x |(适用于整型数值)

fabs(x)=>|x |(适用于浮点数)

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

pow(x,y)=>求x的y次方(极为耗时)

exp(x)=>e的x次方

log(x)=>In(x)

log10(x)=>lg(x)

#include<stdio.h>

#include<conio.h>

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.当前运算符是否运算,取决于与其相邻运算符的优先级比较结果:当前运算符低于其后的运算符,则当前的运算符不运算;否则运算符运算

自增自减是单目运算符,优先级低于!