文档详情

C语言第三章课件.ppt.ppt

发布:2017-04-18约3.29千字共59页下载文档
文本预览下载声明
第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语句
显示全部
相似文档