6、
7、?:=,++/-<=!=+=--%>-=±>=*=&/=(类型名)%=自右向左自右向
8、左不执行n=2任何非零的数值被认作“真”pqP&&qp
9、
10、q假假假假假真假真真假假真真真真真举例Ex1a=4,b=5,c=0求d=!a&&!b
11、
12、!c01Ex5x=y=3执行表达式t=++x
13、
14、++y后求y=?Ex6c为小写字母,表示成c>='a'&&c<='z'0结果为1Ex2a=5,b=4,c=3求d=(a>b>c)a>b即5>4为真(1)1>c即1>3为假(0)结果为0Ex3x=1,y=1求(!x
15、
16、y--)1(先用后减)结果为1Ex4a=14,b=15,c='A'求(a&&b)&&(c<'B')1415'A'结果为14
17、(真)++y不执行,y等于原值30例:5>3&&8<4-!0自左向右运算1&&0逻辑值为08<3逻辑值为04-1值为3!0逻辑值为15>3逻辑值为1表达式值为05.3if语句一if语句的形式形式1if(e)s1;e假真s1e—表达式s1—语句说明:先计算表达式e的值,若表达式e的值为真(非0),执行语句s1;否则不执行。Ex301求给定整数的绝对值#includemain(){intx,y;scanf("%d",&x);y=x;if(x<0)y=-x;printf("x=%d,
18、x
19、=%d",x,y);}
20、x<0真假y=-xNULLEx302求4个数中偶数的和#includemain(){inta,b,c,d,s=0;printf("Pleaseinputa,b,c,d:");scanf("%d,%d,%d,%d",&a,&b,&c,&d);if(a%2==0)s+=a;if(b%2==0)s+=b;if(c%2==0)s+=c;if(d%2==0)s+=d;printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);printf("s=%d",s);}Ex303printf("%5
21、.2f%5.2f%5.2f",a,b,c);}Ex303输入三个数,从大到小排序后输出算法:1定义变量,输入三个数a、b、c#includemain(){floata,b,c,t;printf("Inputabc:");scanf("%f%f%f",&a,&b,&c);2对a、b、c从大到小排序①将a、b进行比较,大数存入a,小数存入bif(a22、,小数存入c3输出从大到小排序后数a、b、cif(b23、udemain(){floatx,y;scanf("%f%f",&x,&y);if(x>y)printf("max=%f",x);elseprintf("max=%f",y);}Ex304求两个数中的最大值Ex305判断数a是否能被数k整除#includemain(){inta,k;scanf("%d%d",&a,&k);if(a%k==0)printf("%d/%dyes",a,k);elseprintf("%d/%dno",a,k);}真e假s1s2e真假s1s2●嵌套的
24、if语句的配对else总是和在它前面离它最近尚未配对的那个if配对Ex1设x=2.0,求yif(x<0.0)y=0.0;elseif(x<100)y=1.0/x;elsey=1.0;x<0.0为假x<100为真y=1.0/x=0.5不执行c维持原值2Ex3设n=9,执行下面的