3、值是一个逻辑值,关系成立,真——1;不成立,假——0。如:x>32如:a=3,b=2,c=1则:(a>b)==cd=a>bd的值为1f=a>b>ca>b的值为11>c的值为0f的值为0值为1逻辑运算符&&、
4、
5、双目运算符,如a&&b,左结合&&、
6、
7、的优先级低于关系运算符,!高于算术运算符&&与,
8、
9、或,!非如:(!a)
10、
11、(a>b)!a
12、
13、a>b(a>b)&&(x>y)a>b&&x>y!单目运算符,如!a,右结合判断一个量是否为真时,非0为真,0为假逻辑表达式逻辑表达式的值:1或0如:a=4,!a值为0a=4,b=5,a&&b值为1a
14、
15、b值为1!a
16、
17、b值为1
18、4&&0
19、
20、2值为1注意:不是所有的运算符都被执行如:a&&b&&ca
21、
22、b
23、
24、c如已知:a=1,b=2,c=3,d=4,m=1,n=1则:(m=a>b)&&(n=c>d)m=0,n=c>d不被执行,n=1例如:x>=0&&y++如果x小于0,将不计算y++。例如:x>=0
25、
26、y++如果x大于或等于0,将不计算y++注意:数学上的a≤x≤b不同于C中的a<=x<=b如:a=0,b=0.5,x=0.3正确表示:a<=x&&x<=b结果为1a<=x<=b→1<=b→结果为02.2.2if语句if(<条件表达式>)<真分支语句>if(<条件表达式>)<真分支语句>else
27、<假分支语句>if(3)printf(“OK”);if(‘a’)printf(“%d”,‘a’);说明:1.表达式结果非0即为真2.在每个分支语句后面有一分号3.if和else后面可以只含一个内嵌的操作语句,也可以是一个复合语句例1:P42分析整数绝对值的计算过程。#includemain(){intinput,output;printf(“Enterainteger:”);scanf(“%d”,&input);if(input<0)/*判断input是否小于0*/output=-input;elseoutput=input;printf(“A
28、BS(%d)=%d”,input,output);}例:输入3个整数,按由小到大顺序输出。#includevoidmain(){inta,b,c,t;scanf(“%d%d%d”,&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf(“%d,%d,%d”,a,b,c);}输入:371↙输出:1,3,7Y交换a、ba>bNY交换a、ca>cNY交换b、cb>cN#includemain(){intx,y;printf(“
29、Enter2integers:”);scanf(“%d%d”,&x,&y);if(x>0){if(y>0)printf(“Iquadrant”);elseprintf(“VIquadrant”);}else{if(y>0)printf(“IIquadrant”);elseprintf(“IIIquadrant”);}}P42例2:输入坐标点,判断该坐标点处于第几象限。内层嵌套的if语句内层嵌套的if语句1.输入坐标点x,y2.如果x>0且y>0第1象限否则第4象限3.否则:如果y>0第2象限否则第3象限例:当输入不同字符时,通过多分支选择结构,显