数学处理函数:
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.当前运算符是否运算,取决于与其相邻运算符的优先级比较结果:当前运算符低于其后的运算符,则当前的运算符不运算;否则运算符运算
自增自减是单目运算符,优先级低于!
转载于:https://blog.51cto.com/11631662/1835356