




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计第4章 结构化程序设计第1章 C语言概述第2章 基本数据类型和运算第4章 结构化程序设计第6章 函数第7章 指针第8章 复合结构类型第9章 编译预处理第5章 数组及字符串课程概述3.1 结构化程序设计的思想及流程图3.2 C程序语句3.3 顺序结构3.4 选择结构3.5 循环结构3.6 本章容易出现错误的知识点总结(选学) 第10章 位运算第10章 文件第3章 算法结构化程序设计第4章教学目标了解结构化程序设计的思想及流程图的画法 掌握顺序结构、选择结构、循环结构的程序设计方法 熟练掌握if、while、for等循环控制语句的使用 掌握控制转移语句break、continue的使
2、用 编制出简单的C程序理解结构化程序设计的三种基本结构的特点掌握C语言常用的几种语句4.1.1 结构化程序设计思想结构化程序设计强调的是程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计风格需要经过以下几个步骤进行:(1)自顶向下(2)逐步细化(3)模块化设计(4)结构化编码(依据程序的基本结构,利用现有的流控语句进行编码设计)4.1 结构化程序设计的思想及流程图4.1.1 结构化程序设计思想结构化程序设计 (Structured Programming)的核心是算法设计,基本思想是采用自顶向下、逐步细化的设计方法和单入单出的控制结构。自顶向下和逐步细化的设计方法是将一个复杂任务按
3、照功能进行拆分,并逐层细化到便于理解和描述的程度,最终形成由若干独立模块组成的树状层次结构,单入单出的控制结构是指每个模块内部均用顺序、选择、循环三种基本结构来描述。4.1 结构化程序设计的思想及流程图4.1.1 结构化程序设计思想4.1 结构化程序设计的思想及流程图4.1.1 结构化程序设计思想4.1 结构化程序设计的思想及流程图结构化程序设计的三种基本结构:顺序,分支和循环:(1)顺序-从上到下依次执行下来,中间没有任何分叉(2)分支-在执行过程中,根据条件成立与否产生了不同的操作;(3)循环-当某一条件成立时,反复做相同的操作。 顺序结构是程序中的语句按照书写的顺序,自上而下地执行其特点
4、是程序总是从第1条语句开始执行,依次执行完所有的语句后结束程序。4.2 顺序结构4.2.1 特点顺序结构程序设计的步骤(算法的体现):(1)定义数据(2)对数据进行处理,以其得到相应的结果(3)显示结果4.2 顺序结构例1 输入一个三位整数,依次输出该数的正(负)号和百位、十位、个位数字。下图所示为对应的N-S流程图。4.2.2 程序举例4.2 顺序结构输入一个三位整数存入x中x0?真假c4= +c4= -x=|x|c3=x%10+48c2=x%10+48x=x/10c1=x/10+48输出c4、c1、c2、c3对应的内容代码如下:4.2.2 程序举例4.2 顺序结构#includemain(
5、)char c1,c2,c3,c4;int x;scanf(%d,&x); /* 输入一个三位的整数 */c4=x0?+:-;/* 将x的符号存入c4 */x=abs(x); /* 求三位整数的绝对值 */c3=x%10+48; /* x%10获得个位数字,加48后转换为对应的字符 */x=x/10;/* 获得x的前两位 */c2=x%10+48; /* x%10获得十位数字,加48后转换为对应的字符 */c1=x/10+48; /* x/10获得百位数字,加48后转换为对应的字符 */printf(%cn%cn%cn%cn,c4,c1,c2,c3);在运行时,从键盘输入: -345则输出为:
6、 - 3 4 5接着从键盘输入: 678则输出为: + 6 7 8例2 输入三角形的三边长,求三角形面积。 分析:给出三角形的三边a、b、c,可根据公式area=(s(s-a)(s-b)(s-c)1/2计算该三角形的面积,其中s=(a+b+c)/2。下图所示为对应的N-S流程图。4.2 程序举例4.2 顺序结构输入三角形的三条边a、b、c求三角形三边和的一半s=1.0/2*(a+b+c)计算三角形的面积area=sqrt(s*(s-a)*(s-b)*(s-c)输出a、b、c、s的值输出三角形的面积area的值代码如下:4.2.2 程序举例4.2 顺序结构#include main() floa
7、t a,b,c,s,area; printf(please input three border of the triangle:); scanf(%f,%f,%f,&a,&b,&c); /*输入三角形的三条边*/ s=1.0/2*(a+b+c); /*求三角形三边和的一半*/ area=sqrt(s*(s-a)*(s-b)*(s-c); /*按公式计算三角形的面积*/ printf(a=%-7.2fb=%-7.2fc=%-7.2fs=%-7.2fn,a,b,c,s); printf(area=%-7.2fn,area); 该程序的运行结果如下:please input three borde
8、r of the triangle:3,4,5a=3.00 b=4.00 c=5.00 s=6.00area=6.0012表达式语句由表达式加上分号“;”组成。执行表达式语句就是计算表达式的值。例如:x=y+z; /*赋值语句*/y+z; /*加法运算语句,但计算结果不能保 留,无实际意义*/i+; /*自增1语句,i值增1*/344.3 C程序语句5表达式语句12函数调用语句由函数名、实际参数加上分号“;”组成。例如: printf(%fn%fn,a,b);执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,从而求出函数值。有关函数的知识在后继的章节中
9、将详细介绍。344.3 C程序语句5函数调用语句12控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。语言有9种控制语句,具体可以将其细分为如表所示的三类。344.3 C程序语句5控制语句序号语句类型语句类别语句说明1条件判断语句if语句简单条件语句switch语句多分支选择语句2循环执行语句do while语句循环语句while语句循环语句for语句循环语句3转向语句break语句中止执行switch语句或循环语句goto语句转向语句continue语句结束本次循环语句return语句从函数返回语句12用大括号 括起来的相互关联的若干语句的集合称为“复合语句”
10、,又称为“分程序”。复合语句内的各条语句都必须以分号“;”结尾,在大括号“”外不能再加分号。例如,下面的语句就是一条复合语句: x=y+z; a=b+c; printf(%d%d,x,a);344.3 C程序语句5复合语句12只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。例如:while(getchar()!=n);344.3 C程序语句5空语句练习一 练习二练习编程序:求ax2+bx+c=0方程的根,其中a,b,c由键盘输入,假设b2-4ac0.首先要分析问题中出现了哪些数据需要处理,会得到哪些结果,为了能表示和处理这些数据及结果应该确定定义变量的个数和类型。该题目要表示三
11、个系数a,b,c和两个所求的根x1,x2 ,所以需要有5个float型的变量。在求解过程中还要保存 =b2-4ac这个中间结果,所以一共要定义6个float型变量。练习一 练习二练习#includemain()float a,b,c,x1,x2,deta;printf(“please input a,b,c:n);scanf(%f%f%f,&a,&b,&c);deta=b*b-4*a*c;x1=(-b+sqrt(deta)/(2*a);x2=(-b-sqrt(deta)/(2*a);printf(the result N0.1 is:%fn,x1);printf(the result N0.2
12、 is:%fn,x2);please input a,b,c:2 -6 -8the result N0.1 is:4.000000the result N0.2 is:-1.000000练习一 练习二练习交换两数的值,并显示交换后的结果。(假设两数存放在变量a,b中)练习一 练习二练习#include 结果:Main() a=10,b=5 int a,b,swap; a=5;b=10; swap=a; a=b; b=swap; printf(“a=%d, b=%d”,a,b);134524.4 本章容易出现错误的知识点总结(选学)忽略了“=”与“=”的区别C语言中,“=”是赋值运算符,“=”是关系运算符。如:if(a=8) a=b;234514.4 本章容易出现错误的知识点总结(选学)在程序中多加了分号复合语句的花括号后不应再加分号,否则就会产生一些不必要的麻烦。如:for(i=0;i6;i+) ; scanf(%d,&x); printf(%d,x);程序的本意是先后输入6个数,每输入一个数后再将其输出。由于for()后多加了一个分号,使循环体变为空语句,此时只能输入一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿化安全用电措施方案(3篇)
- 2024年福建省南靖县林业局公开招聘试题带答案详解
- 2025年IT基础设施服务行业研究报告及未来行业发展趋势预测
- 2025年版权转让行业研究报告及未来行业发展趋势预测
- 2025年纯棉毛巾行业研究报告及未来行业发展趋势预测
- 2025年3,5-二羟基甲苯行业研究报告及未来行业发展趋势预测
- 湖南省部分地区2026届九年级化学第一学期期中达标检测模拟试题含解析
- 2026届山东省济宁邹城县联考化学九上期中检测试题含解析
- 乐理幼师考试题及答案
- 丹阳中学高三试题及答案
- 支气管哮喘急性发作课件
- 小学数学新课标量感解读
- 餐饮服务食品安全管理体系
- 2025年工会基础知识考试题库(含答案)
- 2025年国家职业资格考试中级汽车维修工考试题库及答案
- 《化妆基础》课件-化妆造型的工具与用品
- 人教版四年级数学上册学生评价计划
- DB50∕T 1604-2024 地质灾害防治边坡工程结构可靠性设计规范
- 棋牌室消防安全管理制度范本
- 《日本武士文化介绍:大学日语文化课程教案》
- 家具厂品质管理制度
评论
0/150
提交评论