计算机程序设计基础

上传人:第*** 文档编号:49813054 上传时间:2018-08-03 格式:PPT 页数:62 大小:662.50KB
返回 下载 相关 举报
计算机程序设计基础_第1页
第1页 / 共62页
计算机程序设计基础_第2页
第2页 / 共62页
计算机程序设计基础_第3页
第3页 / 共62页
计算机程序设计基础_第4页
第4页 / 共62页
计算机程序设计基础_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《计算机程序设计基础》由会员分享,可在线阅读,更多相关《计算机程序设计基础(62页珍藏版)》请在金锄头文库上搜索。

1、1安徽大学大学计算机教学部计算机程序设计基础计算机程序设计基础计算机程序设计基础Email: Email: Tel: 5107254Tel: 51072542安徽大学大学计算机教学部计算机程序设计基础第三章 程序控制结构 学习目标 了解结构化程序设计的一般概念 熟悉顺序结构、分支结构与循环结构等三种程序 流程控制结构 掌握 C 语言实现分支结构的 if 语句与 switch 语 句,能熟练应用 if 语句与 switch 语句编写程序 掌握 C 语言实现循环结构的 while 语句、for 语 句与 do-while 语句,能熟练应用这三种循环控制 结构编写程序 了解三种循环结构的关系,掌握

2、在循环结构中控 制程序流程转移的方法3安徽大学大学计算机教学部计算机程序设计基础基本的控制结构根据对某一条件判断的结果,选 择程序的走向。基本的分支结构 是二分支结构。由一组顺序执行的处理块组成, 每个处理块包含一条或一组语句 ,完成一项任务。任何一个算法 都离不开顺序结构。是对某一个处理块反复执行的控 制结构,此处的处理块称为循环 体。循环体执行多少次是由一次 控制循环体的条件所决定。4安徽大学大学计算机教学部计算机程序设计基础3.1 C 语言结构化程序设计基础 程序的结构化 结构化基本思想:自顶向下、逐步求精的设计方法和单 入口、单出口的结构控制。 三种基本结构构造的算法称为结构化算法。(

3、顺序、分支 、循环) 控制结构可以嵌套,以构成更复杂的控制结构 每个控制结构都只有一个入口和一个出口,不使用goto语 句。它是一种封装机制。 结构化程序设计过程:首先对任务进行功能分解,然后 使用结构化程序设计思想逐一解决各个子问题,最后构 造原始问题的解 结构化程序设计是编程人员必须掌握的科学的、规范化 的编程方法。 好处:逻辑性强,可读性好,维护方便5安徽大学大学计算机教学部计算机程序设计基础3.2 顺序结构 顺序结构的含义 由一组顺序执行的处理块组成,每个处理块可能包含一 条或一组语句,完成一项任务 顺序程序结构的语句执行的步骤是一步一步顺序往下执 行,程序中没有任何转移。 简单的顺序

4、结构程序是由一组顺序执行的语句组成,而 复杂的顺序结构可以由一组顺序执行的语句块组成。 顺序结构是最基本的算法结构6安徽大学大学计算机教学部计算机程序设计基础顺序结构程序示例 求圆的面积、周长和圆柱的面积。 #include #define PI 3.1415926 /#define PI 3.1415926 /定义符号常量定义符号常量PIPI intint main() main() double r, h, l, s, v; double r, h, l, s, v; printfprintf(“(“请输入圆半径请输入圆半径 r = “) ;r = “) ; scanf(“%fscanf(

5、“%f“, /“, /输入圆半径输入圆半径 printfprintf(“(“请输入圆柱高请输入圆柱高 h = “) ;h = “) ; scanf(“%fscanf(“%f“, /“, /输入圆柱高输入圆柱高 l = 2* PI * r ;l = 2* PI * r ; s = PI * r * r ;s = PI * r * r ; v = PI * r * r * h ;v = PI * r * r * h ; printfprintf(“(“圆周长圆周长 l = %6.2fn“, l );l = %6.2fn“, l ); printfprintf(“(“圆面积圆面积 s = %6.2f

6、n“, s );s = %6.2fn“, s ); printfprintf(“(“圆柱体积圆柱体积 v = %6.2fn“, v ); v = %6.2fn“, v ); 实际需要输入实际需要输入4 4个实数个实数7安徽大学大学计算机教学部计算机程序设计基础顺序结构程序示例 分别输入两个复数的实部与虚部,计算两个复数的 和、差、积、商并输出结果# #include intint mainmain() () float float a a, , b b, , c c, , d d, , realreal, , imaginaryimaginary; ;printfprintf(“Input(“

7、Input realsreals and imaginaries of two complexes and imaginaries of two complexesn n”);”);scanfscanf(“%(“%f f,%,%f f,%,%f f,%,%f f”, );printfprintf(“Sum(“Sum: %: %f f + % + %f fi in n”, ”, a a + + c c, , b b + + d d); );printfprintf(“Difference(“Difference: %: %f f + % + %f fi in n”, ”, a a c c, ,

8、b b d d); ); realreal = = a a * * c c b b * * d d; ; imaginaryimaginary = = a a * * d d + + b b * * c c; ;printfprintf(“Product(“Product: %: %f f + % + %f fi in n”, ”, realreal, , imaginaryimaginary); ); realreal = ( = (a a* *c c + + b b* *d)d) / ( / (c c* *c c + + d d* *d d); ); imaginaryimaginary

9、= ( = (b b* *c c a a* *d)d) / ( / (c c* *c c + + d d* *d d); );printfprintf(“Quotient(“Quotient: %: %f f + % + %f fi in n”, ”, realreal, , imaginaryimaginary); ); return 0; return 0; 实际需要输入实际需要输入4 4个实数个实数8安徽大学大学计算机教学部计算机程序设计基础3.3 分支结构 分支结构(选择结构)的含义 根据某一条件的判断结果,确定程序的流程,即选择哪 一个程序分支中的处理块去执行 最基本的分支结构是二路

10、分支结构 以条件判断为起点,如果判断结果为真,则执行以条件判断为起点,如果判断结果为真,则执行A A处理块处理块 的操作,否则执行的操作,否则执行B B处理块的操作处理块的操作9安徽大学大学计算机教学部计算机程序设计基础if-else 语句 语句格式:if(表达式) 语句块1 else 语句块2 表达式必须位于括号内,一般为关系或逻辑表达式 先计算表达式值,若为真则执行语句1,否则执行语句2 语句1与语句2可以为复合语句 语句1与语句2只能有一个被执行,那么就变成if语句 如果仅仅用于确定某条语句是否执行,else分支可以省略 如果测试某表达式是否为0,if(exp !=0)可以简写为if(e

11、xp),而if(exp =0)可以简写为if(!exp)。 10安徽大学大学计算机教学部计算机程序设计基础if-else 语句示例一 输入一个整数,输出其绝对值# #include intint mainmain() () intint absabs; ;printfprintf(“Enter(“Enter integer: ”); integer: ”);scanfscanf(“%(“%d d”, );if if( (absabs void main()void main() intint x,y,z,tx,y,z,t; ; printfprintf(“(“输入三个整数:输入三个整数:“);

12、“); scanf(“%d%d%d“, ); if (x intint mainmain() () char char c c; ;printfprintf(“Input(“Input a character: ”); a character: ”);c c = = getchargetchar();();if if( (c c = 48 ;printfprintf(“Input(“Input score: “); score: “);scanfscanf(“%(“%f f“, );if if( (scorescore 100.0 ;printfprintf(“Input(“Input sco

13、re: “); score: “);scanfscanf(“%(“%f f“, );if if( (scorescore 100 “);else else if(scoreif(score = 60) = 60) printf(“Pass.nprintf(“Pass.n “); “);else else printf(“Noprintf(“No pass.n“); pass.n“); 17安徽大学大学计算机教学部计算机程序设计基础条件分支嵌套示例 求方程 ax2 + bx + c = 0 的根#include #include #include / / 由于用到平方根函数,要用此头文件由于用到

14、平方根函数,要用此头文件 intint mainmain() () float float a a, , b b, , c c, , x1x1, , x2x2, , p p, , q q, , mm; ; / / 定义实型变量定义实型变量printfprintf(“Enter(“Enter 3 coefficients: “) ; 3 coefficients: “) ;scanfscanf(“%(“%f f,%,%f f,%,%f f“, ); / / 从键盘读入方程的三个系数从键盘读入方程的三个系数if if( ( a a = 0.0 “);elseelse if if( a = 0 );

15、elseelse / / 分支分支3 3:解一元二次方程的两个根:解一元二次方程的两个根 mm = = b b * * b b 4.0 * 4.0 * a a * * c c; ; 18安徽大学大学计算机教学部计算机程序设计基础条件分支嵌套示例if if( ( mm = 0 ) = 0 ) / / 解实根解实根x1x1 = ( = ( b b + + sqrtsqrt( (mm) ) / ( 2.0 * ) ) / ( 2.0 * a a ); );x2x2 = ( = ( b b sqrtsqrt( (mm) ) / ( 2.0 * ) ) / ( 2.0 * a a ); );printfprintf(“x1 = %(“x1 = %f f n n“, “, x1x1 ); );

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号