传奇网站传奇,网站设计答辩ppt,wordpress2016免费主题,有多少网站建设外包情景模式#xff1a;现在研发出了一款新的软件#xff0c;要求使用者必须成年#xff0c;并且成绩大于等于60#xff0c;该怎么办呢#xff1f;
或许你会想到使用嵌套的 if 语句#xff0c;类似下面这样的代码#xff1a;
#include stdio.h
int main()
{int a…情景模式现在研发出了一款新的软件要求使用者必须成年并且成绩大于等于60该怎么办呢
或许你会想到使用嵌套的 if 语句类似下面这样的代码
#include stdio.h
int main()
{int age;float score;printf(请输入你的年龄和成绩);scanf(%d %f, age, score);if(age 18){if(score 60){printf(你满足条件欢迎使用该软件\n);}else{printf(抱歉你的成绩不及格不能使用该软件\n);}}else{printf(抱歉你还未成年不能使用该软件\n);}return 0;
}这种方法虽然能够行得通但不够简洁和专业我们可以将其压缩为一条 if else 语句
#include stdio.h
int main()
{int age;float score;printf(请输入你的年龄和成绩);scanf(%d %f, age, score);if(age18 score60){printf(你满足条件欢迎使用该软件\n);}else{printf(抱歉你还未成年或者成绩不及格不能使用该软件\n);}return 0;
}是一个新的运算符称为逻辑运算符表示age18和score60两个条件必须同时成立才能执行 if 后面的代码否则就执行 else 后面的代码。
在高中数学中我们就学过逻辑运算例如p为真命题q为假命题那么“p且q”为假“p或q”为真“非q”为真。在C语言中也有类似的逻辑运算
逻辑运算的结果
在编程中我们一般将零值称为“假”将非零值称为“真”。逻辑运算的结果也只有“真”和“假”“真”对应的值为 1“假”对应的值为 0。
1 . 与运算() 参与运算的两个表达式都为真时结果才为真否则为假。例如
505为真0为假相与的结果为假也就是 0。
(50) (42)50 的结果是1为真42结果是1也为真所以相与的结果为真也就是1。
2 . 或运算(||) 参与运算的两个表达式只要有一个为真结果就为真两个表达式都为假时结果才为假。例如
10 || 010为真0为假相或的结果为真也就是 1。
(50) || (58)50 的结果是1为真58 的结果是0为假所以相或的结果为真也就是1。
3 . 非运算(!) 参与运算的表达式为真时结果为假参与运算的表达式为假时结果为真。例如
!00 为假非运算的结果为真也就是 1。
!(50)50 的结果是1为真非运算的结果为假也就是 0。
输出逻辑运算的结果
#include stdio.h
int main(){int a 0, b 10, c -6;int result_1 ab, result_2 c||0;printf(%d, %d\n, result_1, !c);printf(%d, %d\n, 90, result_2);printf(%d, %d\n, b||100, 00);return 0;
}运行结果
0, 0
0, 1
1, 0优先级
逻辑运算符和其它运算符优先级从低到高依次为
赋值运算符() 和|| 关系运算符 算术运算符 非(!)和 || 低于关系运算符! 高于算术运算符。
按照运算符的优先顺序可以得出 ab cd 等价于 (ab)(cd)!bc||da 等价于 ((!b)c)||(da)abcxyb 等价于 ((ab)c)((xy)b)另外逻辑表达式也可以嵌套使用例如ab b || 9ca || cd !p。
逻辑运算符举例
#include stdio.h
int main(){char ck;int i1,j2,k3;float x3e5,y0.85;printf( %d,%d\n, !x*!y, !!!x );printf( %d,%d\n, x||ij-3, ijxy );printf( %d,%d\n, i5c(j8), xy||ijk );return 0;
}运行结果
0,0
1,0
0,1本例中!x和!y分别为0!x*!y也为0故其输出值为0。由于x为非0故!!!x的逻辑值为0。对x|| i j-3式先计算j-3的值为非0再求i j-3的逻辑值为1故x||ij-3的逻辑值为 1。对ijxy式由于ij的值为1而xy为0故表达式的值为10相与最后为0对i5c(j8)式由于i5为假即值为0该表达式由两个与运算组成所以整个表达式的值为0。对于式x y||ijk由于xy的值为非0故整个或表达式的值为1。
如果感觉不错的话请点赞哟