运算符详解

发布时间:2020-06-13 06:22:02 作者:buzhbuzh
来源:网络 阅读:298

数学处理函数:

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

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

 

 

 

推荐阅读:
  1. 三目运算符详解·
  2. 【小白必看】运算符和表达式详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

include double 平方根

上一篇:5.0以上机器激活XPOSED框架失败The Xposed framework

下一篇:Powershell管理系列(三十九)PowerShell查

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》