C语言第三章课件.ppt.ppt
文本预览下载声明
第3章 分支结构程序设计 ;例题链接 ;3.1 关系运算符和关系表达式;3.1.1 关系运算符;3.1.2 关系表达式;3.1.2 关系表达式;x=1;
printf(“%d”, x 0); ;x=1;
a=x == 0;
printf(“%d”,a); ;x=3;
a=x 0;
b=x5;
printf(“%d”, a==b ); ;x=-3;
printf(“%d”,0 = x = 2) ; ;y=45.3219;
printf(“%d”,y==45.3219); ;3.2 逻辑运算符和逻辑表达式;3.2.1 逻辑运算符;3.2.1 逻辑运算符;3.2.2 逻辑表达式;【例3.2】逻辑表达式的示例。; x=5;
printf(%d ,!x);
printf(%d ,3 ‘A’);
printf(%d ,(x=2) || 0);
printf(x=%d\n,x); ;逻辑运算的规则 ;逻辑表达式的求解;也就是说,对运算符来说,只有a≠0,才继续进行右面的运算。对运算符‖来说,只有a=0,才继续进行其右面的运算。
因此,如果有下面的逻辑表达式:
(m=a>b) (n=c>d)
当a=1,b=2,c=3,d=4,m和n的原值为1时,由于“a>b”的值为0,
因此m=0,而“n=c>d”不被执行,因此n的值不是0而仍保持原值1。这点请大家注意。;【例3.3】编写一个含有特殊逻辑表达式的程序。 ;#include stdio.h
main( )
{ int a=1,b=0;
printf(%d ,0(a=2));
printf(a=%d ,a);
printf(%d ,5(a=2));
printf(a=%d ,a);
b=1;
printf(%d ,5||(b=2));
printf(b=%d ,b);
printf(%d ,0||(b=2));
printf(b=%d\n,b);
} ;运算的先后顺序:;3.3 if语句;3.3.1 if语句的一般形式;1.不带else的if语句 ;#include stdio.h
main( )
{ int a=0,b=0,t=0;
printf(Input a,b:);
scanf(%d%d,a,b);
if(ab)
{ t=a;
a=b;
b=t;
}
printf(a=%d,b=%d\n,a,b);
} ;不带else的if语句形式;表达式;【例3.5】编写输出如下分段函数值的程 序,要求x的值从键盘输入。 ;#include stdio.h
main( )
{ float x=0,y=0;
scanf(%f,x);
if( x=0 )
y=x+1;
if( x0 x=1 )
y=1;
if( x1 )
y=x;
printf(x=%f,y=%f\n, x,y);
} ;【例3.6】输入3个整数,输出其中最大数。 ;#include stdio.h
main( )
{ int a=0,b=0,c=0,max=0;
printf(Input a,b,c:);
scanf(%d%d%d,a,b,c);
max=a;
if ( maxb ) max=b;
if ( maxc ) max=c;
printf(%d,%d,%d,max=%d\n,a,b,c,max);
} ;讨论题3.1 ;【例3.7】输入3个不同的整数存放在 a、b、c中。从小到大排序。 ;三个数排序过程;#include stdio.h
main( )
{ int a=0,b=0,c=0,temp=0;
scanf(%d%d%d,a,b,c);
if ( ab )
{temp=a; a=b; b=temp;}
if ( bc )
{temp=b; b=c; c=temp;}
if ( ab )
{ temp=a; a=b; b=temp; }
printf(After: %d,%d,%d\n,a,b,c);
} ;讨论题3.2 ;2.带else的if语句
显示全部