一元二次方程,运算符的优先级

简介: 字符串处理函数 作业:求一元二次方程的根 // //  main.c //  一元二次方程求解 // //  Created by 丁小未 on 13-7-9.

字符串处理函数

作业:求一元二次方程的根

//

//  main.c

//  一元二次方程求解

//

//  Created by 丁小未 on 13-7-9.

//  Copyright (c) 2013年 dingxiaowei. All rights reserved.

//


#include <stdio.h>

#include <math.h>

float O(float a,float b,float c)

{

    float res = b*b-4*a*c;

    if(res<0)

    {

        return -1;

    }

    else

    {

        return res;

    }

}


int main(int argc, const char * argv[])

{

    float a,b,c;

    char flag='y';

    printf("*******欢迎使用一元二次方程求根系统***************\n");

    do

    {

    do {

        printf("\n`请输入一元二次方程的a,b,c参数(例如1,4,4):");

        scanf("%f,%f,%f",&a,&b,&c);

    } while (0==a);

    

    float res;

    float x,y;

    res=O(a, b, c);

    if (res<0)

    {

        printf("方程无解!");

    }

    if(b*b==4*a*c)

    {

        x=(-b)/2*a;

        printf("方程的解:X=Y=%.2f",x);

    }

    if(res>0)

    {

        x=(-b+sqrtf(res))/2*a;

        y=(-b-sqrtf(res))/2*a;

        printf("方程的解:\nX=%.2f\nY=%.2f",x,y);

    }

    printf("\n您想继续吗?(y/n)");

    flag = getchar();  //要输入两次是清除之前获取到的留在缓存中的'\n'

    flag = getchar();

    }while ('y'==flag);

    return 0;

}

2013年07月09日 - 蓬莱仙羽 - IT达人的博客

 

运算符的先后顺序(整理)

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

[]

数组下标

数组名[常量表达式]

左到右


()

圆括号

(表达式)/函数名(形参表)


.

成员选择(对象)

对象.成员名


->

成员选择(指针)

对象指针->成员名


2

-

负号运算符

-表达式

右到左

单目运算符

(类型)

强制类型转换

(数据类型)表达式


++

自增运算符

++变量名/变量名++

单目运算符

--

自减运算符

--变量名/变量名--

单目运算符

*

取值运算符

*指针变量

单目运算符

&

取地址运算符

&变量名

单目运算符

!

逻辑非运算符

!表达式

单目运算符

~

按位取反运算符

~表达式

单目运算符

sizeof

长度运算符

sizeof(表达式)


3

/

表达式/表达式

左到右

双目运算符

*

表达式*表达式

双目运算符

%

余数(取模)

整型表达式/整型表达式

双目运算符

4

+

表达式+表达式

左到右

双目运算符

-

表达式-表达式

双目运算符

5

<<

左移

变量<<表达式

左到右

双目运算符

>>

右移

变量>>表达式

双目运算符

6

>

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

双目运算符

<

小于

表达式<表达式

双目运算符

<=

小于等于

表达式<=表达式

双目运算符

7

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

双目运算符

8

&

按位与

表达式&表达式

左到右

双目运算符

9

^

按位异或

表达式^表达式

左到右

双目运算符

10

|

按位或

表达式|表达式

左到右

双目运算符

11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

表达式1? 表达式2: 表达式3

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左


/=

除后赋值

变量/=表达式


*=

乘后赋值

变量*=表达式


%=

取模后赋值

变量%=表达式


+=

加后赋值

变量+=表达式


-=

减后赋值

变量-=表达式


<<=

左移后赋值

变量<<=表达式


>>=

右移后赋值

变量>>=表达式


&=

按位与后赋值

变量&=表达式


^=

按位异或后赋值

变量^=表达式


|=

按位或后赋值

变量|=表达式


15

,

逗号运算符

表达式,表达式,…

左到右

从左向右顺序运算 

说明:

同一优先级的运算符,运算次序由结合方向所决定。

简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符


不用第三个参数实现a,b互换

方法一:

a=a+b;

b=a-b;

a=a-b;

方法二:

a=a^b;

b=a^b;

a=a^b;

相关文章
|
6月前
|
C语言 C++
操作符的属性:优先级、结合性(缺表达式求值)
操作符的属性:优先级、结合性(缺表达式求值)
46 0
|
6月前
|
C++
c++运算符的优先级
c++运算符的优先级
104 0
|
6月前
|
Python
运算符的优先级
运算符的优先级
93 2
|
存储 Java
Java运算符及运算符的优先级【超详细】
Java运算符及运算符的优先级【超详细】
1419 0
|
6月前
|
JavaScript 前端开发 Java
运算符分为哪几类? 哪些运算符常用作判断?简述运算符的优先级?
运算符分为哪几类? 哪些运算符常用作判断?简述运算符的优先级?
|
6月前
|
测试技术
leetcode-241:为运算表达式设计优先级
leetcode-241:为运算表达式设计优先级
33 0
|
存储 算法
逆波兰表达式:计算包含括号的四则运算表达式
平时我们进行数学计算使用的常见书写方式就是中缀表达式,即每一个运算符号都位于计算数的中间,如下: (1+2)\3 而这对于计算机进行求取结果来说,并不是一个最优的方案。
123 0
|
C语言 C++
C++——数据类型的运算(运算符的优先级)
C++——数据类型的运算(运算符的优先级)
108.递归整数四则运算
108.递归整数四则运算
81 0