- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C第2章02语法规则
选择结构(分支结构) if语句的三种形式(单分支、双分支、多分支) (1)单分支: if(表达式) 语句; e? statement; yes no ⑵ if – else 双分支 格式: if(表达式) 语句1; else 语句2; 表达式? NO 语句2; 语句1; YES ⑶ if –else if 多分支 格式: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; … else if(表达式n-1) 语句n-1; else 语句n; e1? Y stat1; N e2? Y stat2; 出口 N en-1? Y statn-1; N statn; n-1个条件,满足哪个条件,执行其对应的语句,然后到出口。 (4)switch语句(多分支结构) 格式: switch (表达式) { case 常量1: 语句 1; case 常量2: 语句 2; … case 常量n-1: 语句 n-1; default : 语句 n; } 注意: ①当表达式值与某一个case后面的常量值相等时, 就执行此case后面的语句。 若都不等时,执行default后面的语句。 ② 执行完一个case后面的语句后,流程控制转移到下一个case 继续执行,直到遇到break跳出。 switch 表达式 语句组1 语句组2 语句组n 语句组n+1 …… 常量表达式1 default case 常量表达式2 常量表达式n 图2-19 switch语句的执行过程 break break break break while 循环 格式: while(表达式) 循环体语句; 表达式? YES 循环体语句 NO do – while循环 格式: do { 循环体语句; } while (表达式 ); 循环体语句; 表达式? true false for循环 格式: for ([表达式1];[ 表达式2]; [表达式3] ) 循环体语句; 表达式1 表达式2? true 循环体语句; 表达式3 false 循环初值 循环条件 循环变量增值 典型例题精解 与分支结构、循环结构相联系的 编程方法。 枚举法( 穷举法、遍历法) 有限数据的集合中,某些数据满足特定条件---为解。 通过循环产生集合中的所有数据。 循环体中,按条件测试,满足条件者为所求解。 数性判断 输出100-500之间的所有素数,并统计素数个数。 输出所有的水仙花数。 求1000之内的所有完数。 求1000之内的所有的同构数 #include stdio.h void main(void) { int n, j, s,scount=0 for(n=100;n500;n++) { for(j=2; j=n-1; j++) { if(n%j==0) break; } if(jn-1) {printf(“\n%d”,n); scount++; } printf(“100-500内素数的个数%d”,scount); } 举例3 输出100~500之间的全部素数。 void main(void) { int n, j, s; for(n=1;n1000;n++) { s=0; for(j=1; j=n-1; j++) { if(n%j==0) s+=j; } if(s==n) printf(“\n%d, ”,n); } } 举例4 输出1000以内的全部完数(其所有小于自身的因子的和等于自身)。 void main(void) { int n, ge,shi,bai; for(n=100;n1000;n++) { ge=n%10; shi=n/10%10; bai=n/100;
文档评论(0)