c程序设计导引ii-北京大学.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c程序设计导引ii-北京大学

4、程序风格 ——一些禁忌 a = a + b; b = a - b; a = a - b; temp = a; a = b; b = temp; 清晰简单的表达:不要为了追求某方面的效率而使程序变得晦涩难懂。 (a、b两个数互换) 这3条语句的作用? 4、程序风格 在刚一开始学习写程序时,就应该注意培养良好的书写习惯。良好的程序风格有助于我们写出正确的代码,并且使得我们的程序更容易被其他人使用。 良好的程序风格示例 (课堂例子) 有一对兔子,出生后第3个月起每个月都生一对兔 子。小兔子长到第3个月后每个月又生一对兔子。假 设所有兔子都不死,问40个月的兔子总数为多少? 解题思路 第几个月 小兔子对数 中兔子对数 老兔子对数 兔子总数 1 1 0 0 1 2 0 1 0 1 3 1 0 1 2 4 1 1 1 3 5 2 1 2 5 6 3 2 3 8 7 5 3 5 13 ┆ ┆ ┆ ┆ ┆ 5、程序示例 可以看到每个月的兔子总数依次为 1,1,2,3,5,8,13… 这就是有名的费波那西(Fibonacci)数列。 5、程序示例 #include stdio.h void main() { long int f1,f2; int i; f1=1;f2=1; for(i=1; i=20; i++) { printf(%12ld %12ld ,f1,f2); if(i%2==0) printf(\n); f1=f1+f2; f2=f2+f1; } } 5、程序示例 说明: (1)变量f1和f2用长整型,在printf函数中输出格式 符用“%12ld”,而不是用“%12d”,这是由于在第 23个数后,整数值已超过整数最大值32767,因此必 须用长整型变量才能容纳,并用“%ld”格式输出。 (2)if语句的作用是使输出4个数后换行。i是循环变 量,当i为偶数时换行,而i每增值1,就要计算和输 出2个数(f1,f2),因此i每隔2换一次行相当于每输 出4个数后换行输出。 5、程序示例 给一个整数m,判断它是否素数。 解题思路 让m被i(i由2变到k= )除,如果m能被某一个 i(2~k之间的任何一个整数)整除,则m必然不是素 数,不必再进行下去。此时的i必然小于或等于k; 如果m不能被2~k之间的任一整数整除,则m应是素 数,此时在完成最后一次循环后,使i再加1,因此 i的值就等于k+1,这时才终止循环。在循环结束之 后判别i的值是否大于或等于k+1,若是,则未曾被 2~k之间任一整数整除过,因此输出“是素数”。 5、程序示例 #include stdio.h #include math.h void main() {int m,i,k; printf(“please enter a integer number:”); scanf(“%d”,m); /* 输入一个整数m */ k=(int)sqrt(m); /* 对m求平方根,再取整 */ for (i=2;i=k;i++) /* i作为除数 */ /* 如果m被i整除,m肯定不是素数 */ if(m%i==0) break; if(ik) printf(%d is a prime number.\n,m); else printf(%d is not a prime number.\n,m); } 5、程序示例 5、程序示例 课堂编程:求1~1000之间与7有关的数(7的倍数)的和。 总结 C语言语句及控制流: if/else switch/case/default (break) while、do-while、for break、continue 标准输入输出及库函数 程序风格 上机作业 编程网格 上机时间做完。上机时交练习和作业权值为1,3天内0.8,7天内0.6,14天内0.3,其他情况为0。 10月30日下午1点-4点 方正大厦4楼417房间。 循环语句 do-while(直到型循环) [initialization] //初始化条件 do{ body; //循环体 [iteration] //迭代,变更循环条件 } while (termination) ; //循环条件 首先执行一遍{}中的语句,当表达式terminat

文档评论(0)

75986597 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档