第3章 流程控制结构

合集下载

程序设计教程(机械工业出版社)课后习题答案第3章程序的流程控制――语句.docx

程序设计教程(机械工业出版社)课后习题答案第3章程序的流程控制――语句.docx

第3章程序的流程控制一一语句1、编写一个程序,将华氏温度转换为摄氏温度。

转换公式为:c= |(f-32),其屮,c为摄氏温度,f为华氏温度解:#include <iostream>using namespace std;int main(){ double c, f;cout «H Please input an F-temperature : n « end!;cin » f;c = (f-32)*5/9;cout « "The C-temperature is :u « c « endl;return 0;)2、编写一个程序,将用24小时制表示的时间转换为12小时制表示的时间。

例如,输入20和16 (20点16分),输出8:16pm;输入8和16 (8点16分),输出8:16am。

解:#include <iostream>using namespace std;int main(){ int hour, minute;char noon;cout «H Please input a time in 24-hour format: u « endl;cout« "hour: M; cin » hour;if (hour<0 || hour>23){ cout « "The input hour is wrong!0 « endl;return -1;}讦(hour> 12){ hour =hour - 12;noon = p;}elsenoon = X;cout«H minute: M; cin » minute;if (minute<0 || minute>59){ cout « "The input minute is wrong!n « endl;return -1;)cout « endl «”The time in 12-hour format is : n « hour «« minute;if (noon == P)cout «M pm u « endl;elsecout «H am n « endl;return 0;}3、编写一个程序,分别按正向和逆向输出小写字母a〜z。

第三章 三种基本程序控制结构

第三章 三种基本程序控制结构
Visual Basic程序设计教程
12
• 例3-5设计一个信息录入窗体(见图3-6),录入
学生的基本信息。包括学号、姓名、系别、班级、 生日、家庭住址。单击保存按钮后,录入的基本信 息由MsgBox显示。
Visual Basic程序设计教程
13
Private Sub Command1_Click() Dim s_en As Single, s_sp As Single, s_pro As Single 3.3 选 择 结 构 Dim ave As Single, msg As String s_en = Val(Trim(Text2.Text)) 例3-6一个简化了的奖学金评审规则:三门课程的 s_sp = Val(Trim(Text3.Text)) 90分以上(包含90分)者可以获得奖 s_pro平均成绩在 = Val(Trim(Text4.Text)) Visual ave =学金。编写一个 (s_en + s_sp + s_pro) / 3Basic程序,看谁能拿到 ave =奖学金。 Fix(ave * 100 + 0.5) / 100 ‟结果保留小数点后两位 ‟奖学金评审,使用IF选择结构 分析:解决该问题的关键是学生的平均分与90的 If ave >= 90 Then 关系,求取平均分后,即可进行判断。判断过程用 msg = Label5.Caption & Text1.Text & "的平均分为:" & ave选择结构实现。程序界面使用四个文本框,用来输 & ",可获得奖学金" Else 入学生姓名和三门课程的成绩,一个标签用来显示 msg = Label5.Caption & Text1.Text & "的平均分为:" 判断结果。 & ave & ",不能获得奖学金" End If ‟输出评审结果 Label5.Caption = msg 14 Visual Basic程序设计教程 End Sub

[2-3]程序控制结构

[2-3]程序控制结构

• • • • • • • • • • • • • • • • • • •
if(grade>80) { if(grade>90) .... else ..... } else { if(grade>70) .... else { if(grade>60) .... else .... } }
2.7.2 条件运算符
【例】输入三角形的三边长,求三角形面积。 为简单起见,设输入的三边长a、b、c能构成 三角形。从数学知识已知求三角形面积的公式 为
【例】交换a,b的值。
设一个中间变量t暂存数据,其操作步骤为: (1) 将a 存入t, 语句为t=a; (2) 将b赋给a, 语句为 a=b; (3) 将t赋给b(原来a 的值),语句为 b=t; 不用中间变量, 不用中间变量 如何处理? 如何处理 • 正确的交换方法: • • • •

{ t=a ; a=b ; b=t;}
– 不能只写下面两个赋值语句 a=b ; b=a ;
也可以不采用中间变量,但算法比较复杂 (不推荐使用): a=a+b; b=a-b; a=a-b;
2.7 选择结构
如果没有条件判断语句, 如果没有条件判断语句,世界上最先进的计算机也只是一 个计算器。选择结构使得计算机表现出具有智能。 个计算器。选择结构使得计算机表现出具有智能。
【例】从键盘任意输入三个数,输出三个数中最大的数
分析: ⑴ 假设有三个数a,b,c,用变量max3表示三个数中 的最大的数。 ⑵ 将三个数分成两组,a,b为一组,c为一组; ⑶ 先求a,b中的最大数,如果 a>b,则max3=a,否则 max3=b; ⑷ 将a,b的最大数max3与c比较,如果max3>c,则 max3就是三个数中的最大数,否则c是三个书中 的最大数,max3=c;

实验三 程序控制结构

实验三 程序控制结构

实验(实训)报告项目名称实验三程序控制结构所属课程名称C语言程序设计项目类型验证性实验(实训)日期2011.4.2班级10信息与计算科学学号100112200134姓名邹雯指导教师马雪英浙江财经学院教务处制一、实验(实训)概述:【实验目的】1.熟练掌握顺序结构、分支语句、循环结构的使用;理解break语句在多路分支处理中的作用。

2.理解break,continue语句的作用。

3.熟练掌握程序测试和调试。

【实验要求】1.正确建立控制台工程。

2.正确定义变量、正确使用控制结构表达程序逻辑。

3.能区分break,continue等语句的作用。

4.熟练使用VC的DEBUG功能对程序进行调试。

【基本原理】见第三章课件【实施环境】(使用的材料、设备、软件)Visual C++ 6.0二、实验(实训)内容:实验任务一用DEBUG跟踪程序流程,回答问题第1题【项目内容】一只1英寸的蠕虫在一口长为n英寸的井的底部。

每分钟蠕虫可以爬u英寸,但必须休息1分钟才能接着爬。

在休息的过程中,蠕虫又下滑了d英寸。

上爬和下滑重复进行。

蠕虫需要多长时间才能爬出井?不足一分钟按一分钟计,并且假定只要在某次上爬过程中蠕虫爬到了井的顶部,那么蠕虫就完成任务了。

已经有如下正确的程序了,请为该程序建立控制台工程,然后按照要求进行测试和调试。

#include <iostream>using namespace std;int main(){int n; //n是井的高度(0<n<100)int u; //u是蠕虫每分钟上爬的距离int d; //d是蠕虫在休息的过程中下滑的距离(假定d<u,u>0,d>0)int time=0; //所花时间int curh=0; //当前高度int s=1; //s=1表示上爬,s=-1表示下滑cin >> n >> u >> d;while(curh<n){if(s==1) //上升curh+=u;//上升u距离else//下滑curh-=d;//下滑d距离time++;s=-s;}cout << time << endl;return 0;}【方案设计】请画出该程序的流程图。

if 语句_大学C语言设计教程_[共5页]

if 语句_大学C语言设计教程_[共5页]

53 printf("%d %d",a,b);}复合语句在逻辑上相当于一个单一语句,在流程控制结构if 结构、for 结构、while 结构中经常用到。

复合语句在书写时采用向右缩进的方式,多个语句相对于花括号向右缩进一个制表位。

复合语句和函数体虽然都是用一对花括号({})来定界的,但是两者间是有区别的。

复合语句是由两条或两条以上语句序列组成的,而函数体内可以是多条语句的语句序列,也可以只有单条语句,还可以没有语句,即为空。

3.2 条件控制语句在程序的三种基本结构中,第二种即为选择结构,其基本特点是:程序的流程由多路分支组成,在程序的一次执行过程中,根据不同的情况,只有一条支路被选中执行,而其他分支上的语句被直接跳过。

C 语言中,条件控制语句有if 语句和switch 语句,if 语句用于两者选一的情况,而switch 用于多分支选一的情形。

if 语句是用来判定给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。

先来看这样一个问题,计算分段函数:212050x x y x x −⎧⎪=⎨⎪>⎩ ≤ 求解问题的流程如下。

(1)输入x 。

(2)如果x ≤0,则y =2x −12;否则y =5x 。

(3)输出y 的值。

要完成该问题计算,显然程序的流程必须由x 的值确定。

像这样的流程要根据某个变量或表达式的值做出判定,以决定执行某个模块和跳过某个模块,这就需要选择语句。

3.2.1 if 语句用if 语句可以构成分支结构。

它根据给定的条件进行判断,以决定执行某个分支程序段。

C语言的if 语句有三种基本形式。

1.第一种形式为基本形式:if 结构生活中充满了选择,在C 语言编程过程中同样如此,最简单的条件判断语句是if 语句,其基本格式为:if(判断表达式) {语句}判断表达式可以是简单的逻辑语句(逻辑表达式或关系表达式),也可以是多个逻辑语句的“与”、“或”、“非”组合,也可以是一般表达式,甚至还可以是一个变量或常量,执行到if 结构时,该表达式的值被首先计算,当判断表达式的值不为0(真)时,if 后花括号中的语句代码被执行,否则,跳过花括号中的代码。

电大C语言程序设计 第3章 流程控制语句

电大C语言程序设计 第3章 流程控制语句

第3章 流程控制语句 章 (二) 教学要求 二 理解:各种语句的定义格式; 理解:各种语句的定义格式; 应用:分析程序, 应用:分析程序,按照解决问题的需要 编写出相应程序。 编写出相应程序。
第3章 流程控制语句 章 3.1 流程控制语句概述 1.流程控制:控制语句执行的顺序 流程控制: 流程控制 2.流程控制的方式 三种 流程控制的方式(三种 流程控制的方式 三种) ①顺序控制 ②条件分支控制 ③循环控制 3. 程序结构的分类 ①顺序结构 条件分支结构: 语句和switch语句实现。 语句实现。 ②条件分支结构:由if语句和 语句和 语句实现 循环结构: 语句、 语句和 语句和do…while ③循环结构:由while语句、for语句和 语句 语句实现。 语句实现。
第3章 流程控制语句 章 3.4 for语句 语句 6. 应用编程举例 例3_5:假设平均值、方差和均方差用变量 :假设平均值、方差和均方差用变量v, f和t表示,则有: 表示, 和 表示 则有:
1 1 2 2 v = ∑xi f = ∑xi − v t = f n i=1 n i=1
n
n
第3章 流程控制语句 章 3.4 for语句 语句 6. 应用编程举例 例3_6:由勾股定理可知,在一个直角三角形 :由勾股定理可知, 两条直角边a和 与斜边 与斜边c的关系为 中,两条直角边 和b与斜边 的关系为 a2+b2=c2,编一程序求出每条直角边均不大于 编一程序求出每条直角边均不大于 30的所有整数解。如(3,4,5),(5,12,13)都是解。 的所有整数解。 都是解。 的所有整数解 都是解 之间的所有素数。 例3_7:编一程序求出 :编一程序求出2~99之间的所有素数。 之间的所有素数
第3章 流程控制语句 章 3.2 if语句 语句 4.if语句嵌套 语句嵌套 c++规定,else总是和其前面最近的尚未配 规定, 规定 总是和其前面最近的尚未配 对的且可见的if配对。 对的且可见的 配对。 配对 (1)if(p1) if(p2) s1 else s2 (2)if(p1) { if(p2) s1 s2 } else p3 (3)if(p1) s1 else if(p2) s2 else s3

第3章 流程控制

第3章 流程控制

if嵌套的执行流程
✎ 目录页
3.1 条件语句 3.2 实训案例 3.3 循环语句 3.4 实训案例 3.5 跳转语句 3.6 阶段案例——房贷计算器

Hale Waihona Puke 3.2.1 计算器计算器极大地提高了人们进行数字计算的效 率与准确性,无论是超市的收银台,还是集 市的小摊位,都能够看到计算器的身影。计 算器最基本的功能是四则运算。 本实例要求编写代码,实现计算器的四则运 算功能。

3.2.2 猜数字
猜数字由两个人参与,一个人设置一个数字,一个人猜 数字,当猜数字的人说出一个数字,由出数字的人告知 是否猜中:若猜测的数字大于设置的数字,出数字的人 提示“很遗憾,你猜大了”;若猜测的数字小于设置的 数字时,出数字的人提示“很遗憾,你猜小了”;若猜 数字的人在规定的次数内猜中设置的数字,出数字的人 提示“恭喜,猜数成功”。 本实例要求编写代码,实现遵循上述规则的猜数字程序。

3.3.3 循环嵌套
while循环嵌套是指while语句中嵌套了 while或for语句。以while语句中嵌套while 语句为例,while循环嵌套的语法格式如下:
while 循环条件1: 代码段1 while 循环条件2: 代码段2 ......
# 外层循环 # 内层循环
格式

3.3.3循环嵌套
if-else语句的执行流程

3.1.3 if-elif-else语句
Python除了提供单分支和双分支条件语句外,还提供多分支条件语句if-elif-else。 多分支条件语句用于处理单分支和双分支无法处理的情况。
if 判断条件1: 代码段1
elif 判断条件2: 代码段2
elif 判断条件3: 代码段3

第3章_预处理与程序结构

第3章_预处理与程序结构
6
2010-2011-2 C++程序设计
7
编译预处理
3.1.1文件包含
#include
使用说明:
一个#include命令只能指定一个被包含文件,若有多个文件要包含, 则需要用多个#include命令。 文件包含允许嵌套,即在一个被包含文件中又可以包含另一个文件。 文件包含命令通常包含的文件是头文件,即后缀是.h的文件,也可 以包含其他的源文件,例如,可包含.c文件。 使用文件包含命令可使多个源文件合并成一个源程序后进行编译。
2010-2011-2 C++程序设计
11
编译预处理
3.1.3宏定义
无参数的宏定义
格式:
#define 宏名 字符串
举例:
#define PI 3.14
说明:
宏定义一般写在程序的开头。 宏名的命名规则同变量名,一般习惯用大写字母,以便与变量区别, 但也允许用小写字母。宏名的前后应有空格,以便准确地辨认宏名。 宏定义必须写在函数之外,宏名的有效范围是从宏定义开始到本源 程序文件结束,或遇到预处理命令#undef时止。
2010-2011-2 C++程序设计
12
编译预处理
3.1.3宏定义
无参数的宏定义
说明:
例3.2使用不带参数的宏定义 宏定义允许嵌套。 #include <iostream.h> #define PI 3.14159265 宏代换只是指定字符串替换宏名的简单替换,不做任何语法检查。 例#define WIDTH 80 void#define main() LENGTH WIDTH+40 //嵌套定义 如有错误,只能在编译已被宏展开后的源程序时发现。 { var=LENGTH*2; 宏定义是专门用于预处理命令的一个专用名词,只作字符替换,不 double r,l,s,v; 宏展开: var= 80+40 *2; 分配内存空间。 cout<<"Input radius:"; cin>>r; l=2*PI*r; //被替换为:l=2*3.14159265*r; s=PI*r*r; //被替换为:s=3.14159265*r*r; v=4.0/3.0*PI*r*r*r; //被替换为:v=4.0/3.0*3.14159265*r*r*r; cout<<"I="<<l<<"\n"<<"s="<<s<<"\n"<<"v="<<v<<endl; }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(单元教案首页)单元标题第3章流程控制结构教学时数:()学时,其中理论()学时、实验()学时、上机()其它()学时,其它是指:教学目的与要求:1.理解程序的的三大控制结构。

2.掌握选择结构实现语句的用法编程应用3.掌握循环结构实现语句的用法及其编程应用。

4.理解并掌握各种跳转语句的使用方法。

主要教学内容:1.程序的控制结构:顺序、选择、循环。

2.选择结构语句:if语句(两种格式)和switch语句、程序举例。

3.循环结构语句:for语句、while、语句、do-while语句、三种循环语句的互相转化、程序举例。

4.控制结构跳转语句:break语句、continue语句、return语句教学重点与难点:重点:if语句、switch语句、for语句、while语句、do-while语句难点: switch语句、选择结构编程应用、循环结构编程应用、跳转语句的编程应用课后作业:1.课本P66 综合练习三:第一题~第四题2.上机实习:实习3:Java流程控制课后体会:兰州资源环境职业技术学院教师授课教案兰州资源环境职业技术学院教师授课教案——————————————————————第3章流程控制结构一、本章主要内容:本章主要讲述Java程序的基本控制结构和控制语句,使得学生能利用这三种结构来解决一些比较复杂的问题。

Java程序的基本控制结构有三种:顺序结构、选择结构、循环结构。

二、具体授课内容:3.1 概述3.2 选择结构3.3 循环结构3.4 跳转语句三、本章授课思路:1. 回顾C语言中结构化程序设计方法所所用的程序三大控制结构(顺序结构、选择结构、循环结构)语法知识,以复习回顾的方式引入讲解Java语言的程序控制结构知识(和 C语言用法一致),学生易于理解记忆。

2.具体讲解选择结构(if、switch)和循环结构语法(while、for、do-while)及其编程用法的典型程序编写举例,使学生理解掌握Java语言中控制结构的使用特点及编程技巧。

3.引入讲解Java语言的输入数据的两种方法,分别是:使用java.util.Scanner类取得输入和使用java.io.bufferedReader类取得输入。

将两种输入数据的编程方法融入到控制结构用法的编程举例的程序中,使学生对输入数据方法的能够有一定的理解掌握和编程使用,结合在后续第4章面向对象的程序设计的方法的具体学习中再加强理解和掌握。

4.课堂上通过练习和讲解第3章课后习题,加强和巩固学生对所学知识的理解和掌握使用。

兰州资源环境职业技术学院教师授课教案——————————————————————3.1 流程控制结构概述引例:要编写Java程序,首先要了解Java程序的结构。

例如:一个程序模拟用户从银行账户中取钱的业务过程。

public class demo {/** Creates a new instance of demo */public demo() { }public static void main(String args[]){double account ;double withdraw ;int count=0; //count为可提出的次数account=10000 ; //account为账户余额withdraw = 4023; /*withdraw为一次提出金额 *///如果余额不足提取,则提取失败并对用户进行提示if( withdraw > account){ System.out.println("You donnot have sufficient money to withdraw!");return ;}else //进行业务处理{ //提取现金while(account>withdraw){account=account-withdraw;count++;}System.out.println("You balance is $ " + account );System.out.println("You can withdraw $ "+ count+"times." );}}}说明:一个完整的Java程序包括主类、主函数、变量、常量声明语句、赋值语句、程序主体功能语句、控制语句以及注释语句等。

该程序中,有两个重要的语句结构,如: (1) (2)If() while() { … } { … } else { … }程序结构组成:这两种语句结构为本章要讲的选择结构和循环结构。

这两种语句结构和顺序结构共同构成Java 语言的基本语法结构。

顺序结构是最简单的程序结构,如图3-1所示。

3.2 选择结构一、If 语句形式11.if else 语句的形式为:if(条件判断){ 语句A ; } [ else{ 语句B ; } ] 2.举例:例如,下面程序判断a,b 值的大小:if (a>b)System.out.println("a>b") ; elseSystem.out.println("a<=b") ; 例如:if (a>0)System.out.println(a) ; 3.简化的if 分支语句形式:if (条件判断) { 语句A ; }流程图:它表达的逻辑关系如右图3-3所示。

二、if 语句形式2 1.引入:很多情况下,两个分支选择并不够用,有时需要多分支结构。

多分支选择的逻辑结构如图3-4所示。

说明:对于这种多分支选择结构,也可以用if else语句来表达。

将上面的逻辑结构图转化为if else结构的多分支选择逻辑结构,如图3-5所示。

2.嵌套的if else语句的多分支选择结构⑴格式:if (判断A1)语句A1;else{ if(判断A2)语句A2;else{if(判断A3)语句A3;else{……}}}⑵简化格式:if (判断A1)语句A1;else if(判断A2)语句A2;else if(判断A3)语句A3;……[ else语句; ]⑶编程用法举例:例如:表3-1学生成绩等级划分程序如下:int score=90;if (score>=90)System.out.println("A" );else if(score>=80)System.out.println("B" );else if(score>=70)System.out.println("C" );else if(score>=60)System.out.println("D" );elseSystem.out.println("E" );三、switch 语句内容引入:对于图3-4所示的分支选择结构,无论有多少个分支,理论上说都可以使用嵌套的if else语句表达。

但是,if else语句的嵌套层次太多容易造成程序结构不清晰。

Java程序允许使用一种专门的多分支选择语句——switch 语句来表达这种多分支结构,这简化了多分支结构的表达,使程序简明易懂。

1.switch语句的具体格式为:switch(整型或者字符型变量){case n1 :语句1;break;case n2 :语句2;break;case n3 :语句3;break;……case nn :语句n;break;[ default :语句n+1; ]}2.执行过程为:(1)求出switch括号内整型变量的值。

(2)将其值顺序地和n1.n2.n3 ……比较,如果整型变量值和某个n值相等,程序就转到这个n后面的语句开始执行,遇到break语句则跳出整个switch语句。

(3)如果整型变量值和任何n值都不等,则执行default后面的语句,最后跳出switch结构。

(4)default 子句可有可无。

3.格式说明:⑴switch 语句括号里面的类型只能是整数,或者是其他和整型兼容的数据类型(如char类型),不能是其他的数据类型(如String类型)。

⑵case后面只能是一个整型数据,不能是一个“>=”、“<”等符号的一个范围。

4.应用举例—成绩等级的问题。

//例程3-1:demoswith.javapublic class demoswitch {public demoswitch() { }public static void main(String args[]){ char rank;rank = 'A';switch(rank){case 'A':System.out.println("优秀"); break;case 'B':System.out.println("良好"); break;case 'C':System.out.println("中等"); break;case 'D' :System.out.println("及格"); break;default:System.out.println("不及格");}}}程序运行结果:优秀兰州资源环境职业技术学院教师授课教案——————————————————————3.3 循环结构循环:重复执行某段程序,直到循环条件不满足为止。

循环语句:for循环、while循环、do-while循环循环三要素:循环变量赋初值、循环条件、循环变量增量。

一、for循环语句1.for语句的格式:for(初始化循环变量;测试循环变量;修改循环变量 ){ 循环体; } Array 2.执行过程:先初始化循环变量,然后测试循环变量是否满足条件,不满足则跳出循环,满足就执行循环体里面的语句;接着修改循环变量的值,测试循环变量……,进行新一轮的循环。

3.for循环的逻辑结构如右图3-6所示。

4.编程举例:求解1+2+3+…+100的累加和。

【例程3-2 】 forDemo.javapublic class ForDemo {public ForDemo() { }public static void main(String args[]){int sum = 0;int i;//从1循环到100,每次把值加到sum中去for(i=1;i<=100;i++){ sum+= i; }System.out.println("1+2+3+ … + 100="+sum);}}运行结果为:1+2+3+ … + 100=5050二、while循环语句很多问题,事先是很难确定循环到底会执行多少次的,只知道循环执行的条件。

相关文档
最新文档