第3章结构化程序设计 知识点:switch条件语句 1、知识点描述 Sswt©h条件语句是一种很常用的选择语句,它只能针对某个表达式的值做出判断,从而决定程 序执行哪一段代码。例如,我们经常用数字表示月份,数字1表示一月份,数字2表示二月份,依 此类推,实际上这种情况就适合使用switch语句来实现。接下米将编写一个程序,通过获取用户输 入的数字,输出月份。 2、案例展示 11 tinclude <stdio.h> 12 veid main() 13 int month; 15 printf("请输入当前月份:"): 16 scanf("9d",smonth); 17 switch (month) 19 case 1: pr1ntf("现在是一月份,n"): break: 22 case 2: 1324 printf("现在是二月份,n): case 3: 。 printf("现在是三月份,n"): break case 4: printf("现在是四月份n") break; 31 case 5: 32 pr1ntE("现在是五月份,1n"): break; 3 case 6: printf("现在是六月份。n"): break; case 7:
6 第 3 章 结构化程序设计 知识点:switch 条件语句 1、知识点描述 switch 条件语句是一种很常用的选择语句,它只能针对某个表达式的值做出判断,从而决定程 序执行哪一段代码。例如,我们经常用数字表示月份,数字 1 表示一月份,数字 2 表示二月份,依 此类推,实际上这种情况就适合使用 switch 语句来实现。接下来将编写一个程序,通过获取用户输 入的数字,输出月份。 2、案例展示 11 #include <stdio.h> 12 void main() 13 { 14 int month; 15 printf("请输入当前月份:"); 16 scanf("%d", &month); 17 switch (month) 18 { 19 case 1: 20 printf("现在是一月份。\n"); 21 break; 22 case 2: 23 printf("现在是二月份。\n"); 24 break; 25 case 3: 26 printf("现在是三月份。\n"); 27 break; 28 case 4: 29 printf("现在是四月份。\n"); 30 break; 31 case 5: 32 printf("现在是五月份。\n"); 33 break; 34 case 6: 35 printf("现在是六月份。\n"); 36 break; 37 case 7:
printf("现在是七月份,1n"): break 04 case 8: printf("现在是八月份,n") break; case 9: printf("现在是九月份,1n"): break: 46 case 10: printf("现在是十月份,\n"): break; case 11: printf("现在是十一月份。\n": 52 case 12: printf("现在是十二月份。\n"): break; 55 default: 67 printf("输入的月份不合法。n) break 8 59 运行程序,结果如下所示: 月份8 续 知识点:while循环语句 1、知识点描述 hi语句会反复地进行条件判惭,只要条件成立,语句块内的执行语句就会一直执行,直到条 件不成立,while循环才会结束。接下来通过while语句实现下面的程序:某高校2006年招收学生3 千人,每年扩招3%,计算出哪一年招收学生会达到5千人。 2、案例展示 60 #include <stdio.h> 61 void main() 621 63 int num =3000,year =2006
7 38 printf("现在是七月份。\n"); 39 break; 40 case 8: 41 printf("现在是八月份。\n"); 42 break; 43 case 9: 44 printf("现在是九月份。\n"); 45 break; 46 case 10: 47 printf("现在是十月份。\n"); 48 break; 49 case 11: 50 printf("现在是十一月份。\n"); 51 break; 52 case 12: 53 printf("现在是十二月份。\n"); 54 break; 55 default: 56 printf("输入的月份不合法。\n"); 57 break; 58 } 59 } 运行程序,结果如下所示: 知识点:while 循环语句 1、知识点描述 while 语句会反复地进行条件判断,只要条件成立,语句块内的执行语句就会一直执行,直到条 件不成立,while 循环才会结束。接下来通过 while 语句实现下面的程序:某高校 2006 年招收学生 3 千人,每年扩招 3%,计算出哪一年招收学生会达到 5 千人。 2、案例展示 60 #include <stdio.h> 61 void main() 62 { 63 int num = 3000, year = 2006;
64 while (num <=5000) um+1.03 year++: 69 printf("d年招收学生达到5千人。\n",year): 703 运行程序,结果如下所示: t:3 -回区 知识点:循环嵌套 1、知识点描述 有时为了解决较为复杂的问题时,需要在一个循环中再定义一个循环,这样的方式被称作循环 嵌套。嵌套循环可以实现生活中的很多功能,例如,一个数如果恰好等于它的因子之和,这个数就 称为“完数”。如6的因子为1、2、3,且6=1+2+3。那么6就是一个完数,请编程求出1000以内 的所有完数。 2、案例展示 71 sinclude <stdio.h> 72 void main() 73f int sum; 75 for(int1=2;i<1000:i+) 76 um■0: 78 for (intj=1;j+) if(18j-=0) sum sum 81 if (sum ==i) printf("d是完数n",sum) 84 851 运行程序,结果如下所示:
8 64 while (num <= 5000) 65 { 66 num = num * 1.03; 67 year++; 68 } 69 printf("%d 年招收学生达到 5 千人。\n", year); 70 } 运行程序,结果如下所示: 知识点:循环嵌套 1、知识点描述 有时为了解决较为复杂的问题时,需要在一个循环中再定义一个循环,这样的方式被称作循环 嵌套。嵌套循环可以实现生活中的很多功能,例如,一个数如果恰好等于它的因子之和,这个数就 称为“完数”。如 6 的因子为 1、2、3,且 6=1+2+3。那么 6 就是一个完数,请编程求出 1000 以内 的所有完数。 2、案例展示 71 #include <stdio.h> 72 void main() 73 { 74 int sum; 75 for (int i = 2; i<1000; i++) 76 { 77 sum = 0; 78 for (int j = 1; j<i; j++) 79 if (i%j == 0) 80 sum = sum + j; 81 82 if (sum == i) 83 printf("%d 是完数\n", sum); 84 } 85 } 运行程序,结果如下所示: