第4章 三种控制结构程序设计

合集下载

第四章三种基本结构程序设计

第四章三种基本结构程序设计

>0 初值<终值 =1 时,可省略 步长 <0 初值>终值 =0 死循环
4.2.3 循环结构实例
例: For I=2 To 13 Step 3 Print I , Next I Print “I=“, I
输出I的值分别为: 2 5 8 11 出了循环输出为: I=14
4.2.3 循环结构实例
2、 Do…Loop循环语句
4.2.2 选择结构实例
例 输入一学生成绩,评定其等级。方法是:90~100分为 “优秀”,80~89分为“良好”,70~79分为“中等”, 60~69分为“及格”,60分以为“不合格” 使用IF语句实现的程序段如下: If x>=90 then Print "优秀" ElseIf x>=80 Then Print "良好" ElseIf x>=70 Then Print "中等" ElseIf x>=60 Then Print "及格" Else Print "不及格" End If
不同分支中执行某一分支的相应操作(程序块),并且任何情 况下总有“无论条件多寡,必择其一;虽然条件众多,仅选其 一”的特性。
4.2.2 选择结构实例
1. If…Then语句(单分支结构)
If <表达式> Then
语句块 End If

If <表达式> Then <语句块>
例:已知两个数x和y,比较它们的大小,使得x大于y. If x<y Then t=x : x=y: y=t End If 或 If x<y Then t=x: x=y: y=t

第四章 结构化程序设计的三种结构

第四章 结构化程序设计的三种结构

第四章结构化程序设计的三种结构4.1 顺序结构程序设计一、结构化程序设计的程序结构顺序结构、分支结构/选择结构、循环结构二、C语言语句1、9种控制语句2、表达式语句3、特殊语句三、格式化输出--printf()函数printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。

printf()函数的一般格式printf("格式字符串" [,输出项表]);1、"格式字符串"也称"转换控制字符串",可以包含三种字符(1)格式指示符。

格式指示符的一般形式如下:%[标志][宽度][.精度][F|N|h|L][类型]常用的标志字符如表3-1所示,常用的宽度指示符如表3-2所示,常用的精度指示符如表3-3所示,长度修饰符如表3-4所示,类型转换字符如表3-5所示。

(2)转义字符'\n'就是转义字符,输出时产生一个"换行"操作。

转义字符通常起控制作用(3)普通字符──除格式指示符和转义字符之外的其它字符。

格式字符串中的普通字符,原样输出。

例如printf("radius=%f\n", radius);语句中的"radius="是普通字符。

2.输出项表输出项表是可选的。

如果要输出的数据不止1个,相邻2个之间用逗号分开。

下面的printf()函数都是合法的:(1)printf("I am a student.\n");(2)printf("%d",3+2);(3)printf("a=%f b=%5d\n", a, a+3);必须强调:"格式字符串"中的格式指示符,必须与"输出项表"中、输出项的数据类型一致,否则会引起输出错误3、格式指示符输出不同类型的数据,要使用不同的类型转换字符。

第4章 C语言程序的基本控制结构

第4章 C语言程序的基本控制结构

#include<stdio.h> main() { int c1,c2; scanf("%c",&c); c1=c-1;c2=c+1; printf("%c%4c%4c\n",c1,c,c2); printf("%d%4d%4d\n",c1,c,c2); }
4.2 顺序结构
运行结果:
4.3选择结构
入口
入口
A 语句1 B

表达 式

条件 语句2 循环体
出口
图4.1 顺序结构
出口 出口
图4.2 选择(分支)结构 图4.3 循环结构
上述三种基本控制结构的共同特定是具有单入口和单出口。 还有一种goto语句,又叫转向语句,在本章的4.4.5小节中将会讲解到。 我们在编写程序时,力求使用前三种基本结构语句。
4.3选择结构
例4.3 幼儿园里三个小朋友站队要求小个站在前面,高个站在后面。 分析:我们可以把个子最小的小朋友放在a位置上,较高的小朋友放在b位 置上,个子最高的小朋友放在c位置上。输入三个数,a,b,c,要求按由小到 大的顺序输出。先比较a和b,若a大于b,则a与b对换,再比较a和c,若a 大于c,则a与c对换,这时a的值是最小的,最后比较b和c,若b大于c,则b 与c对换。这样操作之后就使a<b<c的关系成立。然后顺序输出a,b,c既可。
! 逻辑非,单目运算符,自右至左结合。其运算规则是:当 运算量为0,运算结果为1;反之,当运算量为1,运算结果为0。 && 逻辑与,双目运算符,自左至右结合。其运算规则是: 只有当运算符两边的运算量都是非0时,运算结果才为1,否则为0。 || 逻辑或,双目运算符,自左至右结合。其运算规则是:只 要运算符两边的运算量有一个为为非0,运算结果就为1。只有两 个运算量都为0,结果才是0。 这三个运算符的优先级,逻辑非!最高,逻辑与&&次之,逻 辑或||最低。!(逻辑非)的优先级高于算术运算符和关系运算符, 而&&(逻辑与)和||(逻辑或)的优先级低于算术运算符和关系运算符。 由 此可见: a>b&&c>d 相当于 (a>b)&&(c>d) a= =0||b= =0 相当于 (a= =0)||(b= =0) !a&&b= =c 相当于 (!a)&&(b= =c)

顺序结构程序设计方案

顺序结构程序设计方案
例1:编写一个程序,输出下面的内容:Hello world! 例2:编写一个程序,输出ASCII码为38的字符。 例3:编写一个程序,计算264×322的结果。 例4:编写一个程序,计算半径为5cm的圆的面积。 例5:编写一个程序,计算华氏100度是摄氏多少度。
C=5(f-32)/9;
见程序P4_1~P4_5
输出结果
123
7B
173 123 E china 1.234560e +002 123.45600
0 123.456
%
a
7
(一)printf函数的使用:
1、输出转换
在输出语句中,也会发生隐式转换。如:
float f=5.8; printf(“%d”, f ); 则输出 5。
如果是int a=5.8; printf(“%f”, a); 在 编译时不用出错,但不会输出结果。
如:%ld、%lx、%lo、%lu、%lf等
h:只用于将整型的格式修正为short型。如:%hd、%hx、 %ho、%hu等。
a
10
(一)printf函数的使用:
4、域宽及精度描述符(m•n):
m:指域宽。即对应的输出项共占多少位的位置; n:指精度。即小数占多少位。不指定n时,默认的精度是n=6。
a
9
(一)printf函数的使用:
另外,在%和格式字符之间可有一些可选的附加说明项, 其完整格式为: % — 0 m•n l/h 格式字符
指定输出类型 输出长度修正 指定输出域宽及精度 指定空位是否填0 是否左对齐 格式说明的起始符
可选项
3、长度修正符(l/h)
l:对整型指long型,对实型指double型。
6、多余的小数是被截断还是舍入?

在程序设计中有三种基本控制结构(顺序,选择,循环)。

在程序设计中有三种基本控制结构(顺序,选择,循环)。

标准函数:
abs(x) sqrt(x) int(x) char(x)
函数的三要素
(1)函数名 (2)函数的参数类型(3)函数结果的类型
abs (x)
int
int float
sqrt (x)
int (x) char(x)
float/double
char
int
char
int
#include<iostream> 函数定义的一般格式: using namespace std; 类型 函数名(形参表) int lifang(int a) 形式 { { int s; 参数 变量说明 s=a*a*a; 语句1; return(s); 语句2; } 语句3; int main() 实际 … { int x,y; 参数 cin>>x; } y=lifang(x); 一般的函数体中都 cout<<"结果为:"<<y; 会有一个返回函数 值的语句 system("pause"); return 0; }
#include<iostream> using namespace std; ss( ) ……… ……… int main() { cin>>a;
调用ss判断a是否为素数
求a个位与十位对换后的b;
调用ss判断b是否为素数 if a,b均为素数,输出a;
if a,b均为素数,那么输出a;
system("pause"); return 0; }
编写一个求绝对值的函 数,并在主函数中调用。

读入n的值,编写函数计算n!
读入n, r的值 计算 n!*(n-r)!

第04章VB控制结构

第04章VB控制结构
Visual Basic 程序设计教程
陈章良
E-MAIL:CHENZHL_YT@
第四章 VB控制结构
4.0 程序结构
4.1 顺序结构
4.2 选择结构
4.3 循环结构 4.4 其他辅助控制语句 4.5 综合应用 4.6 程序调试
4.0 程序结构
一个VB程序由两部分组成:
Viasual ,是由众多的对象构成了程序的可视 界面。 Basic,是响应各种事件的程序代码,也是程 序设计的重点和难点。
(1)对象:窗体、图形框或打印机。缺省为窗体。 (2)Spc(n):从当前位置起空n个空格 (3)Tab(n):从最左端开始计算的第n列 (4)分号:定位在上一个被显示的字符之后 (5)逗号:定位在下一个打印区开始处(每区14列) 例4.3 Print方法输出图mat格式输出函数 Format函数用于制定字符串或数字的输出 格式。
逻辑数据转换 为整形数据时 ,True为-1, False为0
1.5
其他类型数据转换 为逻辑数据时, 非0转换为True, 0转换为False
2.5
4.1.1 赋值语句
(4)任何非字符类型赋值给字符类型, 自动转换为字符类型。
例:strBh$=6012 【注意】
赋值号左边只能是变量,不能是常量 、常数符号或表达式。
3)If … Then … ElseIf语句(多分支结构)
4)If 语句的嵌套
4.2.1 If条件语句
1. If…Then语句(单分支结构) 形式:If <表达式> Then
语句块(一条或多条语句)
End If

If <表达式> Then <语句>
IF演示

第4章 程序控制

第4章 程序控制
printf(“\n Please enter a number (1≤x≤10): "); scanf("%d", &x); } while( x <= 1 || x >=10 ); printf("\n x = %d \n Thanks. \n", x);
范例3
/* 打印50个星号* */ int counter = 1; do 计数器 { printf(“*”) ; counter++ ; }while(counter <= 50) ;
本章的主要内容:
认识流程图 • 学会使用流程图描述顺序程序结构 • 学会使用流程图描述选择结构 • 学会使用流程图描述循环结构 掌握利用流程图设计C语言程序
流程图 顺序结构的流程
#include <stdio.h> #define PI 3.14159 /* PI 将代表圆周率 */ #define R 6 /* R 将代表半径值6 */
while(condition) { statement; } condition为真 condition为真
计算condition
执行statement 计算condition 真 假
执行statement
condition为假
条件为假时,循环结束
f
循环结构 ------ while语句
#include <stdio.h> 建立通用的除法计算器。 int main(void) { double x,y,z; 如果除数为零,则重新输入除数,直
选择结构程序设计 选择结构的流程 根据给定的条件, 选择其中一条运行线路执行.
单路选择结构: 仅当条件为真时才执行选择结构内的语句。

C#结构化程序设计

C#结构化程序设计
19 C#程序设计实用教程
4.3.1 条件语句

说明:在上例中,if条件表达式是判定x的取值是否小 于0,如果x小于0,则执行if语句的控制语句“y=-x”, 即将y赋值为x的绝对值;否则,不执行该控制语句, 而保持y为x的输入数。
20
C#程序设计实用教程

2. if…else语句 if…else语句是一种更为常用的选择语句。if…else语句 的语法如下: if(表达式) { 语句块1; }
27 C#程序设计实用教程
4.3.1 条件语句

if (InputScore >= 70) { if (InputScore >= 80) { if (InputScore >= 90) { OutputScore = "优秀"; //优秀 } else { OutputScore = "良好"; //良好 } } else { OutputScore = "中等"; //中等 }
7 C#程序设计实用教程


4.1.2 流程图

流程图(Flowchart),它是用一些几何框图、流向线和
文字说明来表示各种类型的操作。计算机算法可以用流 程图来表示,图4-1、图4-2、图4-3和图4-4是用流程图 表示了结构化程序设计的3种基本结构。
8
C#程序设计实用教程
4.2 顺序结构

顺序结构的流程图如图4-1所示,先执行A语句,再 执行B语句,两者是顺序执行的关系。A、B可以是 一个简单语句,也可以是一个基本结构,即顺序结 构、选择结构或者循环结构之一。 常用的简单语句包括空语句、复合语句、标签语句、 声明语句和表达式语句等。
4 C#程序设计实用教程
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重点:选择结构及循环结构的实现及其应用
难点:选择的嵌套及多重循环结构
目录
4.1 算法及算法的表示
4.1.1 算法概述
什么是算法: 广义地讲:算法是为完成一项任务所应当遵循的一步一 步的规则的、精确的、无歧义的描述,它的总步数是有限的。 狭义地讲:算法是解决一个问题采取的方法和步骤的描述。 下面通过两个简单的例子加以说明:
目录
(2)Spc函数
格式:Spc(n)
功能:让光标跳过n个空格。
[注]:Spc函数和Tab函数作用类似,可以相互代替。
区别的是,Tab函数需要从对象的左端记数;而
Spc函数只表示两个输出项之间的间隔。
例子:Print “ABC”;Spc(8);”def”
目录
3 格式输出函数
使用格式输出函数Format()可以使数值、日期或字符型 数据按指定的格式输出。其返回值是字符串。
目录
4.2 顺序结构
执行过程如图
4.赋值符号“=”左边一定只能是变量名或对象的属性引 用,不能是常量、符号常量、表达式。
下面的赋值语句都是错的:
5=X
Abs(X)=20
' 左边是常量。
' 左边是函数调用,即是表达式。
5. 赋值符号“=”两边的数据类型一般要求应一致。
目录
【注】赋值号两边数据类型不同时的处理
0 .
,
% $ + E+ E-
在数字前强加$
在数字前强加+ 在数字前强加用指数表示,正指数显示+X,负指数显示-X。 用指数表示,正指数显示X,负指数显示-X。
目录
„ 格式符位数少,照常显示
„ 正指数带+号,负指数带 - 号
数值格式化实例
目录
1、以下语句的输出结果是( )。 Print Format $(32548.5,“000,000.00”) A) 32548.5 B) 32,548.5 C) 032,548.50 D) 32,548.50
目录
4.1 算法及算法的表示
例4.1 输入三个数,然后输出其中最大的数。 将三个数依次输入到变量A、B、C中,设变量MAX存放 最大数。其算法如下: 1) 输入A、B、C。 2) A与B中大的一个放入MAX中。 3) 把C与MAX中大的一个放入MAX中。 4) 输出MAX,MAX即为最大数。
目录
4.1 算法及算法的表示
Format函数的语法格式为: Format(表达式 [,格式字符串]) 说明:
若省略[格式字符串],则Format 函数的功能与Str函数 的功能基本相同,唯一区别是:正数时, Format 函数无 符号位。 Format 函数一般用于Print 方法中
目录
常用的数值型格式说明字符
字符 # 说 明
数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符串中 # 的位置上有数字存在,那么就显示出来,否则,该位置什么都不显示。 数字占位符。显示一位数字或是零。如果表达式在格式字符串中0的位置上 有一位数字存在,那么就显示出来,否则就以零显示。 小数点占位符 千分位符号占位符 百分比符号占位符。表达式乘以100。而百分比字符(%)会插入到格式字 符串中出现的位置上
目录
4.2 顺序结构
4.2.1 赋值语句
形式: 变量名=表达式 对象.属性=表达式
功能: 将表达式的值赋值给变量名或指定对象的属性。 一般用于给变量赋值或对控件设定属性值. 例: sRate!=0.1 Text1.Text = "欢迎使用Visual Basic 6.0” 说明: 1 执行过程:先求表达式的值,然后将值赋值给左边的变量。 2 右边的表达式可以是变量、常量、函数调用等特殊的表达式。 3 不要将“=”理解为数学上的等号: A=A+1 是表示将A单元的值加1后以放回到A单元。
目录
答案:D
4.2 顺序结构
4.2.3 用户交互函数和过程
1. InputBox函数
变量名=InputBox[$](<提示信息>[,<标题>][,<缺省>] [,<x坐标>][,<y坐标>] ) 其中:提示 提示信息,标题 标题区显示,缺省输入区缺省值。 例如,要在屏幕上显示如下的对话框:
目录
4.2 顺序结构
1)当表达式为数值型并与变量精度不同时,需强 制转换程左边变量的精度。
n% = 3.5 变量n最终的值为4
2)当表达式是数字字符串,左边变量是数值类型, 自动转换成数值再赋值。若有非数字字符,则出错。
n%=“123” n% = “la123” 变量n最终的值为123 出错!
目录
3)逻辑型值赋值给数值型变量时,true 转换为-1; false转换为0。
5 目录
10
15 ABCDefg
(4) Print 方法具有计算和输出双重功能,对于表达式,先 计算后输出. 但是请注意: 它没有赋值功能 例如: x = 5 : y =10 : z = 9 输出结果: 5 Print (x+y)/3 Print z = (x + y ) / 3 输出结果: False (5)一般情况下,每执行一次print方法要换行。若在 Print方法的末尾加上逗号或分号,则使下一个Print方法 输出的信息在同一行显示. x = 10: y=12 Print x ; print y 输出结果: 10 12
目录
4.1 算法及算法的表示 4.1.2 算法的特性
1 有穷性
2 确定性 3 有0个或多个输入 4 有一个或多个输出 5 有效性
目录
4.1 算法及算法的表示
4.1.3 算法的表示
一、自然语言与伪代码表示算法 自然语言:就是指人们日常使用的语言,可以是汉语、英 语或其它语言。
伪代码:是用介于自然语言和计算机语言之间的文字和符
例如:有下列语句如下: Dim x% x= Val(InputBox(“请输入一个数”, “输入框”, 100)) 语句执行后打开如下对话框。
标题 提示 缺省值
目录
例4.1 某商场营业员的总工资由两部分组成:基本工资和营业额 提成费。基本工资一般为300元;营业额提成费是营业额的5%。 要求输入基本工资、本月的营业额,显示实发工资。
目录
Private Sub Form_Click() Dim sfgz, jbgz, x As Single jbgz = Val(InputBox("输入基本工资", "计算工资", 300)) x = Val(InputBox("输入本月营业额")) sfgz = jbgz + x * 0.05
答案:A
目录
2 与Print方法有关的函数
(1)Tab函数 格式:Tab(n) 功能:把光标移到由参数n指定的位置,从这个位 置开始输出信息。 [注]:1)若n比行宽大,显示位置为n mod 行宽; 若n<1,则把输出位置移到第一列。 例子:Print “abc”;Tab(8);”DE”;Tab(16);”F”
Y
再输入给A
N
N
A>Max
Y
Max =A
打印Max
N=N+1
结束
目录
4.1 算法及算法的表示
下面是例4.2的计算机 程序,即为用计算机语言表示算法: Private Sub Form_Click() Dim a%, max%, i% a = Val(InputBox("A=?")) max = a For i = 1 To 10 a = Val(InputBox("A=?")) If a > max Then max = a Next i Print "Max="; max End Sub
1、传统流程图中的基本符号
起止框 I/O框 判断框
处理框
流程线
连接点
目录
4.1 算法及算法的表示
2、三种基本结构的表示
(1)顺序结构 (2)选择结构
语句1 语句2
Y 语句1
条件
N 语句2
目录
4.1 算法及算法的表示
(3)循环结构
a) 当型循环 b) 直到循环 N
条件 Y 语句组
语句组
Y 条件 N
答案:C
2、以下语句输出结果是 ___________ 。 Print Int(12345.6789 * 100 + 0.5) / 100
答案:12345.68
3、执行如下两条语句,窗体上显示的是( ) a=9.8596 Print Format(a,"$00,00.00") A) 0,009.86 B) $9.86 C) 9.86 D) $0,009.86
第四章 三种基本结构程序设计
本章内容及要求:
1.了解算法概念及表示,掌握用N—S流程图表示算法;
2. 熟练掌握赋值语句、输入/输出消息框函数的使用;
3. 熟练掌握行if语句、块if结构、Select Case情况选择 结构有使用,掌握选择的嵌套结构;
4. 熟练掌握实现循环结构的For/Next循环结构及Exit For语句、Do/Loop循环结构的使用,掌握多重循环。
目录
1、设a=10,b=5,c=1,执行语句Print a > b > c后, 窗体上显示的是( ) A)True B)False C)1 D)出错信息 答案:B 2、设x=4,y=6,则以下不能在窗体上显示出 “A=10”的语句是( )。 A) Print A=x+y B) Print “A=”;x+y C) Print “A=”+Str(x+y) D) Print “A=”,x+y
相关文档
最新文档