1 / 67
文档名称:

C程序设计04 判定、分支 和循环.ppt

格式:ppt   页数:67
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C程序设计04 判定、分支 和循环.ppt

上传人:企业资源 2012/1/4 文件大小:0 KB

下载得到文件列表

C程序设计04 判定、分支 和循环.ppt

文档介绍

文档介绍:第四章判定、分支和循环? C语句概述?C语句:以“;”作分隔符,编译后产生机器指令.?C语句分类?表达式语句:表达式加分号构成。?空语句:;?程序控制语句(9种):if( )~else~ switchfor( )~while( )~do~while( )continuebreakgotoreturn分支循环辅助控制如total=total+limit; a=3; func( ); printf(“Hello,world!\n”);?复合语句:用{…}括起来的一组语句?一般形式:{ [数据说明部分;]执行语句部分;} ?“}”后不加分号?语法上和单一语句相同?复合语句可嵌套?三种基本结构?顺序结构ABAB流程图N-S图PAB真假PBA真假?选择结构kA1A2AiAnk=k2k=k1k=knk=ki......?二分支选择结构?多分支选择结构?循环结构?当型循环结构?直到型循环结构PA假真当P为真AAP真假A直到P为真注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构? 分支?简单if语句(p111~115)?格式:if (expression) statement?执行过程:exprstatement非0=0例:if (x>y) printf(“%d”,x);例读入a,b,c,d四个整数,输出(a+b)/(c-d)。if (c-d!=0) { ratio=(float)(a+b)/(c-d); printf(“ Ratio=%f\n”,ratio); }/* absolute value */#include <>main(){ int x,y; printf("Enter an integer:"); scanf("%d",&x); y=x; if(y<0) y= -y; printf("\ninteger:%d-->absolute value:%d\n",x,y);}例求一个数的绝对值运行:Enter an integer:-12? integer:-12--->absolute value :12abs(int n)labs(long)fabs(double x)plex z)exprstatement1statement2非0=0?if …else语句p115?格式:if (expression) statement1 elsestatement2?执行过程:例if (c-d!=0) { ratio=(float)(a+b)/(c-d); printf(“ Ratio=%f\n”,ratio); } else printf(“c-d is zero\n”);例if (x>y) max=x; else max=y;转为表达式:max = (x>y) ? x : y这里引入了运算符——p129条件运算符?:?条件运算符与表达式?一般形式:expr1 ? expr2 : expr3?执行过程?功能:相当于条件语句,但不能取代一般if语句例if (a>b) printf(“%d”,a); else printf(“%d”,b);printf(“%d”,a>b?a:b);例求a+|b| printf(“a+|b|=%d\n”,b>0?a+b:a-b);expr1取expr2值取expr3值非0=0例(a==b)?’Y’:’N’ (x%2==1)?1:0 (x>=0)?x:-x (c>=‘a’&& c<=‘z’)?c-’a’+’A’:c?条件运算符可嵌套如x>0?1:(x<0?-1:0)?优先级: 13?结合方向:自右向左如a>b?a:c>d?c:d ? a>b?a:(c>d?c:d)?expr1、expr2、expr3类型可不同,表达式值取较高的类型例x?‘a’:‘b’ //x=0,表达式值为‘b’; x?0,表达式值为‘a’ x>y?1: //x>y ,; x<y ,