第5章节课件第5章节循环结构(199KB).ppt

第5章节课件第5章节循环结构(199KB).ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常见错误 循环体有多条语句,应该用花括号但是没有使用,导致实际循环体仅为条件表达式后的第一条语句而出现逻辑错误 。 模仿与改变 新建一个工程ex05001,在该工程中建立新的文件strcat2.c,完成与任务5-1相同的任务,要求循环结构用while语句实现。思考:for语句和while语句用法上有何区别? 新建一个工程ex05002,在该工程中建立新的文件my_strcpy.c,编程完成如下任务:将字符串string_two拷贝到字符数组string_one中。 提示:不要忘了字符串结束标志字符‘\0’的处理。 新建一个工程ex05003,在该工程中建立新的文件my_strlen.c,编程完成如下任务:求字符串string的长度。 提示:字符串结束标志字符‘\0’不计入字符串长度。 模仿与改变 新建一个工程ex05004,在该工程中建立新的文件my_strcmp.c,编程完成如下任务:比较字符串string_one和字符串string_two的大小。若字符串string_one大于字符串string_two,返回1;若字符串string_one小于字符串string_two,返回-1;若字符串string_one等于字符串string_two,返回0。 提示:字符串的比较是从首个字符开始,逐个比较两个字符串中相应字符的ASCII码的大小。 任务5-3 选择法排序 任务目标: 编写程序,用选择法实现对一个一维数组的升序排序。 任务学习内容 使用二重循环解决实际问题 使用选择排序法实现一维数组排序的问题 重点:编程实现 参照第一章任务1-2的实现步骤,在当前工作空间“C语言编程”中新建Win32 Console Application工程,取名为chap05003。新建C++ Source File,添加到工程chap05003,文件名为sort.c。 重点:编程实现 在程序编辑区域输入代码,完成main函数、test函数和sort函数的框架。 在test函数中填写定义数组并调用sort函数并输出排序后的数组的算法,用伪代码表示。 在test函数中根据伪代码构造对应的C语句,并将伪代码作为注释保留下来。 重点:编程实现 在sort函数中填写对数组进行选择法排序的算法,用伪代码表示。 在sort函数中根据伪代码构造对应的C语句,并将伪代码作为注释保留下来。 重点:编程实现 在main函数前面加上#include stdio.h。将test函数的原型void test(void); 和sort函数的原型int sort(int data[],int n);添加到main函数之前。 重点:编程实现 点击编译菜单中的执行选项,该功能快捷键为Ctrl+F5,执行程序,执行情况见图。 若从键盘输入字符‘+’,则输出加法的结果。 重点:编程实现 要点回顾 在sort函数中操作test函数中定义的data数组,需要获取两个参数,数组首地址和数组元素个数。 sort函数对数组进行排序后,test函数中输出的数组是排序后的数组,因为test将数组首地址传给sort函数,因此test函数和sort函数操作的数组实际上是同一个数组。 交换两个变量的值,需要用到第三个中间变量。 tmp=data[i]; data[i]=data[min]; data[min]=tmp; 常见错误 外循环和内循环的循环变量i,j之间的关系容易出错,外循环变量的取值范围和内循环变量的取值范围也容易出错。以下是正确的写法: for(i=0;in-1;i++) //n个数排序,共需进行9轮排序 { … for(j=i+1;jn;j++) //注意内循环变量的取值范围 { … } … } 常见错误 在求最大或最小值时,if语句中的表达式容易出现逻辑错误,因此本来要求升序排序结果是降序,或本来要求是降序结果是升序。 模仿与改变 新建一个工程ex05006,在该工程中建立新的文件sort2.c,对数组进行降序排序。 新建一个工程ex05007,在该工程中建立新的文件sort3.c,编程完成如下任务:从键盘输入10个各不相同的一串英文字母,对这些无序的字符按照字母表顺序进行升序排序。然后输出排序后的字符串。 提示:定义一个字符数组,保存从键盘输入的无序的字符串。用任务5-3中的算法对该字符数组进行升序排序。然后输出。 模仿与改变 请新建一个工程,名字为ex05008,在工程中创建一个文件名为fac.c。编写程序计算表达式1!+2!+3!+…+n!的值。其中n从键盘输入。 提示: n!=1*2*3*…*n 本题用二重循环实现,内循环求i!,外循环用于累加i!。 模仿与改变 请新建

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档