1、关系运算符,<, <=, = =,>=,>,!=
2、逻辑运算符,!,&&,||
3、逻辑值:真( 1)、假( 0)
4、非零为 真,零为 假
5,条件运算符,表达式 1? 表达式 2, 表达式 3
若 int x=3,y=4,z=5;
1)求表达式 !((x<y) && !z||1) 的值
2)求表达式 x>y? x+y,!z+y的值
6、使用条件选择语句( if)需要注意的问题,
以比较典型 if语句为例,
if(表达式 1)
语句 1
else
语句 2
表达式要扩上,
括号后没有符号
只能有一个语句,多
个的话必需用 复合语

只能有一个语句,多
个的话必需用 复合语

只能有一个语句,多
个的话必需用 复合语

例如:实验程序(三个数按升序排序)
main()
{ int a,b,c,t ;
scanf(“%d,%d,%c”,&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(“a=%d,b=%d,c=%d”,a,b,c)
}
main()
{ int a,b,c,t ; /*不用复合语句的情况 */
scanf(“%d,%d,%c”,&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(“a=%d,b=%d,c=%d”,a,b,c);
}
main()
{ int a,b,x,y ;
scanf(“%d,%d,%c”,&a,&b);
if(a>b)
{ x=a+b; y=a-b;}
else
{ x=a*b ; y=a/b ;}
printf(“x=%d,y=%d,c=%d”,x,y);
}
main() /* 去掉复合语句 */
{ int a,b,x,y ;
scanf(“%d,%d,%c”,&a,&b);
if(a>b)
x=a+b;
y=a-b;
else
{ x=a*b ; y=a/b ;}
printf(“x=%d,y=%d,c=%d”,x,y);
}
switch( 表达式 )
{ case E1:语句组 1; break;
case E2:语句组 2; break;
…….,
case En,语句组 n; break;
[default,语句组 ; break; ]
}
……,
使用开关分支语句
( switch语句 )要注意
的问题,
一般是算术表达式,
括号扩上,括号后没符号
这组 case子句用花括号扩上个数不限
每个 case子句执行完由
break结束 switch语句
当每个 case子句都不匹配的
时候,执行 default子句
例 void main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1,
switch(y)
{ case 0,a++; break;
case 1,b++; break;
}
case 2,a++;b++; break;
case 3,a++;b++;
}
printf(“\na=%d,b=%d”,a,b);
}
运行结果,a=2,b=1
main()
{int year,leap;
scanf(“%d”,&year);
if (year%4==0)
{if (year%100==0)
{if (year%400==0) leap=1;
else leap=0;}
else
leap=1;
}
else
leap=0;
if (leap) printf("%d is",year);
else printf("%d is not",year);
printf("a leap year.\n");
}
main()
{int year,leap;
if (year%4!=0)
leap=0;
else if (year%100!=0)
leap=1;
else if (year%400!=0)
leap=0;
else
leap=1;
if (leap)
printf("%d is",year);
else
printf("%d is not",year);
printf("a leap year.\n");
}
main()
{int year,leap;
if (( year % 4 == 0 && year % 100 != 0 ) || (year % 100 =
0 && year%400 == 0))
leap=1;
else
leap=0;
if (leap)
printf("%d is",year);
else
printf("%d is not",year);
printf("a leap year.\n");
}
运行情况如下,
1989
1989 is not a leap year,
2000
2000 is a leap year,
运输公司对用户计算运费。路程( s)越远,每公里运费
越低。标准如下,
s<250km 没有折扣
250<=s<500 2%折扣
500<=s<1000 5%折扣
1000<=s<2000 8%折扣
2000<=s<3000 10%折扣
3000<=s 15%折扣
设每公里每吨货物的基本运费为 p,货物重为 w,距离为
s,折扣为 d,则总运费 f的计算公式为,f=p*w*s*(1-d)