《第3讲程序结构设计下.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《第3讲程序结构设计下

第三讲: C语言语句 与程序的三种基本结构(下) (参考教材的第7章) 主要内容 循环程序设计:3种循环控制语句 应用举例 3.4 循环程序设计 --基本概念 3.4 循环程序设计 3.4.1 while 语句 例:从键盘输入n(n0)个数,求其和。 分析: 如果n不是很大,例如n=3,则如何编程? 如果n很大,或者不知道n多大,则如何编程? 若使用循环,循环条件和循环体如何构造? 计数器和累加器的概念。 假设n=3,则采用如下程序即可。 main( ) {int a,b,c; printf(“please input a,b,c:”); scanf(“%d,%d,%d”,a,b,c); printf(“the sum is:%d”,a+b+c); } 3.4.1 while 语句 3.4.1 while 语句 3.4.2 do-while 语句 3.4.2 do-while 语句 3.4.2 do-while 语句 编程技巧 ------关于吃回车问题P133 main( ) {int i=0; char c; while(i6) {scanf(“%c”,c); printf(“%d”,c); i++; }} 编程技巧 方法1: scanf(“%c”,c);改为 scanf(“\n%c”,c); 方法2: 在 scanf(“%c”,c);之后加上一条语句 while(getchar()!=‘\n’);//吃掉buffer中的所有字符 3.4.3 for 语句 3.4.3 for 语句 3.4.3 for语句 for语句的功能可用while语句描述如下:  表达式1;  while (表达式2) { 语句;  表达式3;  } for语句最简单的应用形式, 也是最容易理解的形式: for (循环变量赋初值; 循环条件; 循环变量增值) 语句 例如, for (i=1; i=50; i++) sum=sum+i; 3.4.3 for 语句 3.4.3 for 语句 3.4.3 for 语句 3.4.3 for 语句 例1、for(sum=0;i=100;i++) sum = sum + i; 例2、for(sum=0,i=1;i=100;i++) sum = sum + i; 例3、for(i=0,j=100;i=j;i++,j--) k = i + j; 例4、for(i=0;(c=getchar())!= \n;i += c); 例 计算1至50中是7的倍数的数值之和。 main() { int i, sum=0;  for (i=1; i=50; i++) if (i%7==0) sum+=i;  printf(sum=%d\n, sum);  } 运行结果:  sum=196 循环编程实例 【例1】输入任意一个大于2的整数,判断该数是否素数并输出相应结果。 分析:根据定义,一个大于2的整数n,如果除1和n外不能被任何数整除(即n不含1和n以外的任何因子),则n是素数;并规定2是最小素数。为了确定n是否含有因子,只需用2到n(也可以用2至n-1或2至sqrt(n))作除数,如果均不能整除n,则n是素数,否则n不要素数。 算法: (1) 输入n。 (2)如果n等于2,则输出“2是一个素数”;否则,如果n2则找n是否有因子; i从2开始,用i除n,若余数非0且i≤n,则用下一个i重复该过程。当余数为0或i大于等于n时,结束找因子的过程(结束循环)。 (3)如果结束循环时余数为0,则输出n“不是一个素数“,否则输出n”是一个素数“。 程序.1: #includestdio.h #includemath.h void main(void) {int n,i,k,r; printf(″input n:\n″); scanf(″%d″,n); if (n==2) printf(″2 is a prime\n″); else if (n2){ i =1; k=sqrt(n); do{++i; r=n%i;} while(ri=k); if(r) printf(″%d is a prime\n″,n); else printf(″%d isn′t a prime\n″,n); }} 【例2】 求n!,n从终端输入。 分析:根据阶乘的定义,n为≥0的整数,n!=1*2*3*…*n。考虑到n较大是n!是一个相当大的数,为避免溢出,应将存放结果的变

文档评论(0)

317shaofen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档