5.1.2.2《教学项目--C语言》--样稿.doc_第1页
5.1.2.2《教学项目--C语言》--样稿.doc_第2页
5.1.2.2《教学项目--C语言》--样稿.doc_第3页
5.1.2.2《教学项目--C语言》--样稿.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目二 数据处理器的设计与实现【项目描述】生活中我们会遇到许多对数据进行加工处理的工具或软件,通过对这些工具或软件的使用我们能明白其使用方法及所具备的功能,在仔细研究了这些工具或软件之后,请借助于C语言设计一个数据处理软件,使之能够进行简单的数据统计、查找与排序等。【项目设计与功能分解】项目名模块名任务名任务要求必备知识项目二 数据处理器的设计与实现模块一 统计功能的设计与实现任务一 循环语句与序列数的生成给定一个初始值、步长及终值或序列数的个数,自动生成一个序列数并显示。自增/减运算符、for语句、复合赋值运算符任务二 循环语句求极值给定多个数,找出其中的最大数或最小数。for语句、if语句、数组任务三 循环语句实现数据统计(求和、均值)给定多个数,求所有数的和及均值,并显示出所有高于平均值的数;for语句、一维数组任务四 循环嵌套实现矩阵运算给定多个数并以矩阵形式进行存储、显示与处理,并以矩阵形式输出数据及结果。for语句、二维数组任务五 求字符串长度给定一个任意长度的字符串求其字符串的长度。while语句、字符串与字符数组模块二 查找功能的设计与实现任务一 数组与数值查找给定多个数,从其中查找某个与给定数相等的数。do while语句、字符数组任务二 字符数组与单词查找给定一个字符串,在其中查找某个字符出现的次数与位置;给定多个单词,从其中查找某个单词是否存在do while语句、字符串处理函数模块三 排序功能的设计与实现任务一数值排序对任意多个数进行升序或降序排序循环嵌套任务二 字符串排序对任意多个字符串进行升序或降序排序循环嵌套、字符串、字符数组模块一 统计功能的设计与实现任务一 循环语句与序列数的生成【学习目标】u 理解循环;u 使用for语句编写简单的循环程序;u 理解自增与自减运算符、复合赋值运算符的特点及用法;u 充分理解for语句的灵活运用性;【任务要求】给定一个初始值、增值及终值,自动生成一个序列数并显示该数列。【观察认识】问题1以下程序的的功能是什么?运行结果呢?有没有更好的方法解决此问题呢?main() int sum; sum=0;sum=1+2+3+4+5+6+7+8+9+10; printf(“%d”,sum);问题2请写出满足以下条件的数列:1)第一个数为:1后一个数总比前一个数大2数列由十个数组成2)第一个数为:10 后一个数总比前一个数小2 最后一个数为0【预备知识】一、for语句的使用方法假真表达式2表达式1表达式3语句图2-1for语句是程序设计语言中用于进行循环设计的控制语句之一,循环控制语句更好地实现了程序的自动执行,它将需要重复执行相同语句的部分与循环判断结合在一起,不仅简化了程序代码,也让程序更易懂。1for语句一般形式:for (表达式1;表达式2;表达式3) 语句 /* 循环体 */2执行过程:1)计算表达式1。2)计算表达式2,若其值为非0(表示逻辑“真”),则转3)执行循环体语句;若其值为0(表示逻辑“假”),则转5)结束循环。3)执行循环体;4)计算表达式3,然后转2);5)结束循环,执行for循环之后的语句,如右图所示。3特点:“先判断(表达式2的值是否为真),后执行(循环体即语句)”【理解与运用】用for语句改写【观察认识】中的问题1。main() int sum=0;for (i=1;i=10;i=i+1)sum=sum+i;printf(“%d”,sum);二、两类运算符的用法1自增与自减运算符运算符类别功能用法示例拓展用法结合性优先级+单目算术运算符让变量的值增1i+im =i+;等价于m=i; i =i+1;n=+i;等价于i =i+1; n=i;左结合高于其它算术运算符,同单目运算符-让变量的值减1i-im =i-;等价于m=i; i =i-1;m =-i;等价于i =i-1; n=i;2复合赋值运算符运算符类别用法示例功能结合性优先级+=双目复合赋值运算符m +=a;m=m+a;右结合与赋值运算符相同-=m -=a;m=m-a;*=m *=a;m=m*a;/=m /=a;m=m/a;【理解与运用】1写出以下表达式的计算结果(其中a,b,m,n均为整型且a=3,b=5,n=10):1)a+2)-b3)m=a+4)n+=b2写出以下语句执行后各变量的值(其中a,b,m,n均为整型且a=3,b=5,n=10):1)a+;2)-b;3)m=a+;4)n+=b;3用以上两类运算符与for语句改写【观察认识】中的问题1。main() int sum;sum=0;for (i=1;i=10;i+)sum +=i;printf(“%d”,sum);4用for语句求100以内所有奇数的和;5用for语句求出100以内所有5的倍数的数并显示;【任务分析】1确定给定三个值的方法;(1)初始值、增值及终值:用scanf()从键盘输入;(2)分别用整型变量s1、s2和s3存储其值;2自动、显示数列中序列数的方法;(1)用for语句实现;(2)控制循环的变量 i 表达式1:确定循环控制变量的初始值,i=s1;表达式2:确定满足循环的条件,i=s3;表达式3:修改循环控制变量的值,防止死循环,i=i+s2;循环语句:输出新产生的序列数,printf();(3)新产生的序列数及实现:i、i=i+s2;【任务解决方案】根据对任务的分析,共同完成设计要求。步骤1变量的确定序号变量名类型作用初值(无)输入或输出格式1s1整型存放序列数的初始值2s2整型Scanf(“请输入终值:%d”,&s2);3s3整型4i整型存放每一个序列数,并担任循环控制变量步骤2程序设计思路或流程图步骤3程序代码(文件名:auto_num.c):Void main()int s1,s2,s3,i;scanf(“请输入初始值、增量值及终值:”);scanf(“s1=%d”,&s1);scanf(“s2=%d”,&s2);scanf(“s3=%d”,&s3);prinf(“序列数依次是:n”);printf(“%d”,s1);for (i=s1;i=s3;i=i+s2) printf(“,%d”,i);步骤4.设计测试数据步骤5.调试程序(1)运行TC:双击图标(2)新建文件 (3)编辑程序(4)文件保存(文件名p1m1t1.c)及存放位置(d:tcproject)(5)调试运行(6)查看结果【知识拓展】1.逗号运算符与逗号表达式:在C语言中的逗号运算符其优先级是所有运算符中优先级最低的一个,由其组成的逗号表达式一般用在for语句中,其作用相当于一次对多个表达式进行运算,但逗号表达式也有值,其值即为最后一个表达式的值。2C语言在for语句的运用上给程序设计人员提供了极大的灵活度,主要表现在:(1)表达式1、2、3均可省略,但分号不可省;(2)表达式1,3可以是逗号表达式(3)表达式2一般是关系表达式或逻辑表达式,也可为数值或字符表达式,只要其值能够以非0或0来区别即可;【理解与运用】for语句的灵活性(1)省略表达式1:for(;i10;i+) sum+=i;需要在for语句之前对i赋初值;(2)省略表达式2:for(i=1; ;i+) sum+=i;条件判断恒为真,循环一直进行下去,若要从循环中跳出,必须在循环体中通过增加if语句及break语句,否则将会造成“死循环”;(3)省略表达式3:for(i=100; i10; ) sum+=i; for(i=1; i10; ) sum+=i; 需要在循环体中改变i的值,否则要么程序一次也不执行(如)要么永远执行(如),若要让循环有条件结束,也需要在循环体中通过增加if及break语句,否则将会造成“死循环”。(4)省略所有表达式:for(; ; ) sum+=i;语法上允许,但此形式为“死循环”。因此在使用for语句时,要充分理解其每一部分所表达的含义,尽量不要省略条件语句,这样做可能带来循环结构的不完整,以致产生错误。【总结评价】1.for语句运用的关键之一是循环控制变量及循环条件的确定,即1)初值;2)循环条件;3)循环控制变量的调整,且记要检查程序是否会形成“死循环”,即永远也退不出循环体的执行;2.循环实现的难点是循环体的确定,这是问题分析的重要一点;3.可以是单一语句也可以是多个语句,若为多个语句则需要将其放于一对花括号内以形成复合语句;不过单一语句也可以用花括号括起来形成复合语句。【课

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论