第4讲流程2及复杂数据类型761609689.ppt
第4讲流程2及复杂数据类型761609689 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望目录4.1 循环结构结构的嵌套4.2 循环结构与选择结构的嵌套4.3 其他控制语句4.4 自定义数据类型4.5 深度探索4.6小结24.2 循环结构与选择结构的嵌套6#include using namespace std;int main()for(int n=100;n=200;n+)if(n%3!=0)cout n;return 0;举例例4-2(教材例2-10)读入一系列整数,统计出正整数个数i和负整数个数j,读入0则结束。分析:需要读入一系列整数,但是整数个数不定,要在每次读入之后进行判断,因此使用while循环最为合适。循环控制条件应该是n!=0。由于要判断数的正负并分别进行统计,所以需要在循环内部嵌入选择结构。74.2 循环结构与选择结构的嵌套例4-2(教材例2-10)(续)84.2 循环结构与选择结构的嵌套#include using namespace std;int main()int i=0,j=0,n;cout Enter some integers please(enter 0 to quit):“n;while(n!=0)if(n 0)i+=1;if(n n;cout Count of positive integers:i endl;cout Count of negative integers:j endl;return 0;4.3 其他控制语句break语句使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。不宜用在别处。continue 语句结束本次循环,接着判断是否执行下一次循环。goto 语句goto语句的作用是使程序的执行流程跳转到语句标号所指定的语句。94.4.1 typedef声明为一个已有的数据类型另外命名语法形式typedef 已有类型名 新类型名表;例如typedef double Area,Volume;typedef int Natural;Natural i1,i2;Area a;Volume v;104.4 自定义数据类型4.4.2 枚举类型enum只要将需要的变量值一一列举出来,便构成了一个枚举类型。枚举类型的声明形式如下:enum 枚举类型名 变量值列表;例如:enum WeekdaySUN,MON,TUE,WED,THU,FRI,SAT;114.4 自定义数据类型4.4.2 枚举类型enum(续)枚举类型应用说明:对枚举元素按常量处理,不能对它们赋值。例如,不能写:SUN=0;枚举元素具有默认值,它们依次为:0,1,2,.。也可以在声明时另行指定枚举元素的值,如:enum WeekdaySUN=7,MON=1,TUE,WED,THU,FRI,SAT;枚举值可以进行关系运算。整数值不能直接赋给枚举变量,如需要将整数赋值给枚举变量,应进行强制类型转换。124.4 自定义数据类型例4-3(教材例2-11)设某次体育比赛的结果有四种可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序顺序输出这四种情况。分析:由于比赛结果只有四种可能,所以可以声明一个枚举类型,声明一个枚举类型的变量来存放比赛结果。134.4自定义数据类型 4.4.2 枚举类型enum例4-3(续)144.4 自定义数据类型 4.4.2 枚举类型enum#include using namespace std;enum GameResult WIN,LOSE,TIE,CANCEL;int main()GameResult result;enum GameResult omit=CANCEL;for(int count=WIN;count=CANCEL;count+)result=GameResult(count);if(result=omit)cout The game was cancelled endl;else cout The game was played;if(result=WIN)cout and we won!;if(result=LOSE)cout and we lost.;cout endl;return 0;例4-3(教材例2-11)(续)154.4 自定义数据类型 4.4.2 枚举类型enum运行结果 The game was played and we won!The game was played and we lost.The game was played The game was cancelled4.6小结主要内容循环结构结构的嵌套、循环结构与选择结构的嵌、其他控制语句、自定义数据类型达到的目标掌握C+语言的基本概念和基本语句,能够编写简单的程序段。24