前言:
眼前咱们对“将数学表达式表示为合法的c语言表达式”大概比较重视,小伙伴们都需要知道一些“将数学表达式表示为合法的c语言表达式”的相关资讯。那么小编也在网络上汇集了一些有关“将数学表达式表示为合法的c语言表达式””的相关知识,希望朋友们能喜欢,看官们一起来了解一下吧!选择结构程序设计
关系表达式
逻辑表达式
选择结构程序设计
1. 关系表达式:
用关系运算符连接起来的表达式,叫做关系表达式
< <= > >=
== !=
(双目运算符, 自左向右)
关系表达式的值: 逻辑值(在C语言中,没有类型表示逻辑值,
任何非0的数值都被认为是“逻辑真”, 0被认为是“逻辑假”)
关系成立 非0(1)
关系不成立 0
2. 逻辑表达式:
用逻辑运算符连接起来的表达式,叫做逻辑表达式
! 逻辑非 单目运算符
&& 逻辑与 双目运算符
|| 逻辑或 双目运算符
逻辑表达式值:
“真”(任何非0的值都被认为是真),
“假”(0)
优先级:
! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
在逻辑表达式求解中,并不是所有的逻辑运算符都要被执行:
(1) a && b && c
只有a为真时,才需要判断b的值,
只有a和b都为真时,才需要判断c的值
(2) a || b || c
只要a为真,就不必判断b和c的值 ,只有a为假,才判断b;
a和b都为假时,才判断c
C语言运算符是“惰性运算”,如果事先知道了表达式的值了,
那么后面的运算符就不需要执行了。
例子:
用逻辑表达式来判断y(年份)是否为闰年
(1) 能被4整除,但不能被100整除, 或
(2) 能被4整除,又能被400整除
3. if 语句
有三种基本形式:
(1) if (表达式)
语句
只要“表达式”的值为,非0,就执行语句
“表达式”: 任意的C语言合法的表达式都可以
语句:
单语句, 一个分号(;)的语句
复合语句,{}/if/for/while/do while/ switch..
a = 200;
b = 1;
if (a > b)
{
a = 100;
b = 200;
}
编程建议:不管if里面是单语句,还是复合语句,请用{}
(2) if (表达式)
语句1
else
语句2
"表达式":任意合法的C语言表达式都可以
"语句1","语句2":
单语句: 一个分号(;)
复合语句:{}/if/for/while/do while/switch..
(3) if (表达式1)
语句1
else if (表达式2)
语句2
else if (表达式3)
语句3
....
else if (表达式m)
语句m
else
语句n
例子:
if (number > 500)
cost = 0.15;
else if (number > 300)
cost = 0.10;
else if (number > 100)
cost = 0.075;
else if (number > 50)
cost = 0.05;
else
cost = 0;
试写出number与cost之间的数学函数关系式?
4.条件表达式:用条件运算符连接起来的表达式,叫做条件表达式
条件运算符: ? :
三目运算符
表达式1 ? 表达式2 : 表达式3
先求表达式1的值,如果表达式1的值为真(非0),那么就算
表达式2的值,并且整个条件表达式的值就是表达式2的值。
如果表达式1的值为假(0),那么就算表达式3
的值,并且整个条件表达式的值就是表达式3的值。
“表达式1”,“表达式2”, “表达式3”:
任意合法的C表达式都可以。
if (a > b)
{
max = a;
}
else
{
max = b;
}
=>
max = a > b ? a : b;
5. if 语句的嵌套 “条件里面分条件”
形式:
if ()
if () 语句
else{}
else
if () 语句
else 语句
关键: else匹配问题
else总是与它上面的,最近的,同级的未配对的if语句配对
编程规范:
写完if或else后,不管它后面有没有语句,请先写{}圈定它的
范围,然后里面的子语句,请用TAB缩进。
6. switch 语句
形式:
switch(表达式)
{
case 常量表达式1:
语句1
case 常量表达式2:
语句2
break;
...
case 常量表达式n:
case 常量表达式i:
语句n
default:
语句m
}
(1)“表达式”:值必须为整数值(整型,字符型,枚举); 可以列举的值
(2)“常量表达式”:值也必须为整数值,且每个case后面的常量表达式的
值必须互不相同;
(3) 各个case和default出现的次序不影响执行结果
(4)当表达式的值与某一个case后面的常量表达式的值相等时 ,就执行此
case后面的语句,若所有case中的常量表达式值都没有与表达式的值
相等时, 就执行default后面的语句
(5)多个case可以共用一组执行语句
(6) break; 在case中break用于跳出它所属的switch语句
下面三个题目大家可以做做:
1.给一个不多于五位的正整数
(1). 求出它是几位数
(2).分别求出每一位数字
(3).按逆序输出每一位数字 例如原数为321,应输出123
2.
企业发放的奖金根据企业的当年利润决定。当利润I低于或等于100000元时,奖金可提成10%;利润大于100000元,小于200000元(100000<I≤200000)时,
低于100000元的部分按10%提成,高于100000元的部分,可提成7.5%;利润大于200000元,小于400000元(200000<I≤400000)时,
低于200000元的部分仍按上述办法提成(下同),高于200000元的部分按5%提成。利润大于400000元,小于600000元(400000<I≤600000)时,
高于400000元的部分按3%提成。利润大于600000元,小于1000000元(600000<I≤1000000)时,高于600000的部分按1.5%提成;利润大于1000000元(I>1000000)时,
超过1000000元的部分按1%提成。从键盘输入当年利润I,求应发放奖金总数。
要求:
(1) 用if语句编程序;
(2)用switch语句编程序。
3(*)
从键盘任意输入四个数a, b,c ,d,
请问从中任意选取三个组成一个三角形,
问在组成的三角形中,面积最大的是多少 ?