谭浩强_C设计(入门算法笔记)浅析.doc

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
张钢ipx@gdut.edu.cn 网站:det.gdut.edu.cn/~ipx 课程目标: 掌握C语言语法 掌握在计算机上解决问题的方法 背景: 计算机程序 计算机语言 低级:汇编 中级:C语言 高级:Java, asp.net, C#..... C语言特点 灵活,但不够严谨,生成的程序效率高 C语言与C++语言的比较:C++是C的超集,增加了面向对象(OO)的部分 编程环境 Borland Turbo C++ 3.0 运行:TC\bin\TC.exe Microsoft Visual C++ 6.0, MSDN Microsoft Visual Studio .net 2013 + MSDN (选VC++ 13.0) Android的C++编译器 第一个C语言程序 源文件:Helloworld.cpp (C plus plus) #includestdio.h //引用系统的输入输出库 int main() { //程序从此处开始执行 printf(“Helloworld.”); //在屏幕上输出一句话 return 0; } 解释:printf 带格式输出 stdio.h:标准的输入/输出库(Standard Input Output) .h:是头文件的后缀名(head),头文件里列出了该库中所有功能函数的样子 return 0:返回一个0 // C++语言的单行注释 /*…… …….. ……..*/ 多行注释 运行:Ctrl + F9 保存:F2 看结果:File(Dos Shell 产生的文件:Helloworld.obj Helloworld.exe 编译:.cpp ( .obj 链接:.obj(.exe 例:P15. 5 #include stdio.h int main() { //int 表示返回一个整数 printf(“*************\n”); printf(“Very Good!\n”); printf(“*************\n”); return 0; } 算法 算法例子,写一个算法,求出1+2+…+100的和 算法1:暴力法 S=0 S+1(S S+2(S S+3(S ….. 算法2:循环 S=0 k=1 S+k(S k+1(k 如果k不到100,则跳到(2) 否则,输出S,算法结束 算法3:公式法 (与求和的规模无关,best算法) S=0 输出S=(1+100)*50 例:求1+1/2+1/3+1/4+…+1/n的和 输入n S=0 k=1 S+1/k(S, k+1(k 如果k不到n,则跳到(3) 否则输出S,算法结束 求1-1/2+1/3-1/4+…+1/n的和 输入n S=0 k=1 sign=1 S+sign*1/k(S k+1(k -sign(sign 如果k不到n,则跳到(3) 否则输出S,算法结束 P36. 4. (1) 取一个空瓶子C A(C B(A C(B P36. 4. (3) 基于交换的算法 输入a,b,c 如果a小于b,交换a和b 如果b小于c,交换b和c //c肯定是最小的 如果a小于b,交换a和b 输出a,b,c 基于选择的算法 输入a,b,c 记S={a,b,c} 从S中找最大的,放在1号位,在S中删掉它 从S中找最大的,放在2号位,在S中删掉它 把S中剩下的元素放3号位 按1,2,3号位顺序输出 基于插入的算法 输入a,b,c 拿出a 拿出b,插入到适当的位置,记排好的序列为S 拿出c,插到S的适当位置上 例:P36. 4. (6) 素数:5, 7, 11, 13, …. 511 511/2 511/3 511/4 …. 511/509 511/207 511/205 从2开始,一直试到根号511 给一个数n,判断是否素数,从2一直除到根号n取整 算法1:判断n是否素数 输入n K=2 如果n除以K余数为0,则输出NO,算法结束 否则,如果K小于等于根号n取整,则K+1(K,跳到(3) 输出Yes,算法结束 算法2: n=100 Call 算法1 (n) 如果算法1返回Yes,则输出n是素数 如果n 大于等于200,则算法结束 否则,n++,跳到(2) C语言的控制结构:顺序执行、分支执行、循环执行 第3章.顺序程序设计 例3.1 华氏温度到摄氏温度的转换 C= 5/9 * (F-32) F:华氏温度 C:摄氏温度 数据类型、输入语句、格式化输出语句 #include stdio.h int main() { float x, c;

文档评论(0)

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

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

1亿VIP精品文档

相关文档