如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第4章程序的控制结构第四章算法内容提要BA流程图思考程序员练书法分支结构P85if语句If语句条件表达式例4.4:年龄判断例4.4:年龄判断else-ifif语句的嵌套例4.5:体型判断例4.5用不带else子句的if语句编程例4.5用在if子句中嵌入if语句的形式编程例4.5用在else子句中嵌入if语句的形式编程if语句思考多路选择switch说明:①switch是关键字,switch语句后面用花括号括起来的部分称为switch语句体。②紧跟在switch后一对括号中的“表达式”可以是整型表达式、字符型或枚举型表达式等。表达式两边的一对括号不能省略。③case也是关键字,与其后面的常量表达式合称case语句标号。常量表达式的类型必须与switch后的表达式类型相同。各case语句标号的值应该互不相同。④defaut也是关键字,起标号的作用。代表所有case标号之外的那些标号。default标号可以出现在语句体中任何标号位置上。在switch语句体中也可以没有defaut标号。⑤case语句标号后的语句序列1,语句序列2等等,可以是一条语句,也可以是若干语句。⑥必要时,case语句标号后的语句可以省略不写。⑦在关键字case和常量表达式之间一定要有空格。2.switch语句的执行过程当执行switch语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch语句体内寻找与该值吻合的case标号,如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case和default中的语句,直到switch语句体结束。如果没有与该值相等的标号,并且存在default标号,则从default标号后的语句开始执行,直到switch语句体结束。如果没有与该值相等的标号,且不存在default标号,则跳过switch语句体,什么也不做。强调内容例4.8:计算器程序main(){intdata1,data2;/*定义两个操作符*/charop;/*定义运算符*/printf("Pleaseentertheexpression:");scanf("%d%c%d",&data1,&op,&data2);/*输入运算表达式*/switch(op){case'+':/*处理加法*/printf("%d+%d=%d\n",data1,data2,data1+data2);break;case'-':/*处理减法*/printf("%d-%d=%d\n",data1,data2,data1-data2);break;case'*':/*处理乘法*/printf("%d*%d=%d\n",data1,data2,data1*data2);break;case'/':/*处理除法*/if(0==data2)printf("Divisionbyzero!\n");elseprintf("%d/%d=%d\n",data1,data2,data1/data2);break;default:printf("Unknownoperator!\n");}}switch语句根据输入的百分制成绩score,转换成相应的五分制成绩grade并打印输出。转换标准为:思考题循环结构循环——while语句,for语句while语句do-while语句2.do-while循环的执行过程①执行do后面循环体中的语句。②计算while后一对圆括号中表达式的值。当值为非零时,转去执行步骤①:当值为零时,执行步骤③。③退出do-while循环。由do-while构成的循环与while循环十分相似,它们之间的重要区别是:while循环的控制,出现在循环体之前,只有当while后面表达式的值为非零时,才可能执行循环体;在do-while构成的循环中,总是先执行一次循环体,然后再求表达式的值,因此,无论表达式的值是零还是非零,循环体至少要被执行一次。for语句for语句选择三种循环的一般原则注意循环结构流程的转移控制break和continuebreak和continue例4.17:单步运行演示break语句和continue语句的用法区别例4.17:单步运行演示break语句和continue语句的用法区别分析:1.素数(质数):除1和它本身之外没有其他约数的整数。2.数m是否素数?从2~m-1逐个判别能否整除m,只要有一个能,那么m就不是素数,退出循环。若都不能整除,m是素数。判断一个数是不是质数(素数)例4.19:输入一个整数,判断它是否是素数例4.19:方法1#include<