目录
一、关系运算二、逻辑运算三、运算优先级四、if语句 4.0、代码块4.1、单if语句4.2、if else4.3、多重if4.4、?号:号表达式五、switch语句若干表达式用关系运算符连接而成,就构成关系表达式。 关系表达式中,表达式成立,其值为1(真);表达式不成立,其值为0(假)。其他表达式中,其结果如果是非0则为真,结果为0则为假。 关系运算符的优先级低于算术运算符,高于赋值运算符。
关系运算符号:> >= < <= !=
#include "stdio.h" void main() { //1、关系运算常用于比较 //2、关系运算只有两种结果,1真,0假 int a=1,b=2,c=3; printf("\n %d",a==b); printf("\n %d",a>=b); printf("\n %d",a!=b); printf("\n %d",1<=2); printf("\n %d",c<2); printf("\n %d",a+b>c); }运算结果:
!(逻辑非) 运算规则:!1 = 0,!0 = 1 。优先级:高。&&(逻辑与)运算规则:1&&1=1,1&&0=0,0&&1=0,0&&0=0优先级:中||(逻辑或)运算规则:0||1=1,1||0=1,0||0=0,1||1=1。优先级:低
注意:短路,当与运算时,第一个表达式为假时,不会再处理第2个表达式。
a&&b
当或运算时,第1个表达式为真是,不会再处理第2个表达式
a||b
注意:
另外使用时必须注意以下几点:代数中的不等式0<x<5必须写成(x>0)&&(x<5) C语言允许直接对数字或字符进行逻辑运算。例如:!5,其结果为0。因为在C语言中,非0的值均认为是“真”,而5是个非零值,对非零值求反,即得零值。5&&‘c’,结果为1。因为字符'c'的ASCLL码为非零的整数,非零值与非零值作“与”运算,结果为真。
代码块表示一段代码,有{}符号界定,是一个新的作用域,可以有0-n行代码。
#include "stdio.h" void main() { //代码块1 { int a=1; printf("\n %d",a); } //代码块2 { int a=2; printf("\n %d",a); } }
if(条件表达式){条件表达式为真时要执行的语句块(分支一语句);} 其语义是:如果表达式的值为真,则执行其后的分支一语句, 否则不执行该分支一语句。
if(条件表达式){条件表达式为真时要执行的语句块(分支一语句);}else{条件表达式为假时要执行的语句块(分支二语句);}其语义是:如果表达式的值为真,则执行分支一语句,否则执行分支二语句。
/* Note:Your choice is C IDE */ #include "stdio.h" void main() { int a,b,c,max; scanf("%d",&a); scanf("%d",&b); scanf("%d",&c); //如果条件成立 if(a>b) { max=a; } else //如果条件不成立 { max=b; } if(c>max){ //有代码块的地方,总是会执行一句 max=c; } printf("最大值是:%d",max); }
使用多重if完成下面的内容:输入分数,根据分数输出等级.0-59 不及格 59-70 良好71-85 优秀86-100 卓越
练习:
使用switch完成菜单功能,用户按键(1-5)选择。1、开始游戏2、创建存档3、加载存档4、加载地图5、退出请选择(1-5):
当输入1-5以外的内容时输出错误
switch练习2:
输入年份与月份,输出天数。
年:2008
月:2
29
年:2009
月:3
31
答案:
#include "stdio.h" void main() { float mark; printf("请输入分数:"); scanf("%f",&mark); if(mark<60) { printf("不及格"); } else if(mark>=60 && mark<=70) { printf("良好"); } else if(mark>=71 && mark<=85) { printf("优秀"); } else { printf("卓越"); } }#include "stdio.h" void main() { int menu; printf("\n**********************************"); printf("\n1、开始游戏"); printf("\n2、创建存档"); printf("\n3、加载存档"); printf("\n4、加载地图"); printf("\n5、退出"); printf("\n**********************************"); printf("\n请选择(1-5):"); scanf("%d",&menu); switch(menu) { case 1: printf("\n开始游戏了"); break; case 2: printf("\n创建存档了"); break; case 3: printf("\n加载存档了"); break; case 4: printf("\n加载地图了"); break; case 5: printf("\n您确定要退出吗?"); break; default: printf("\a输入错误,请重新输入。"); } }
转载于:https://www.cnblogs.com/zzqwe/p/7598745.html