第3章结构化程序设计

合集下载

第3章 结构化程序设计

第3章  结构化程序设计

循环体
是 P2 否
图3.7直到型循环结构示意图 直到型循环结构示意图
3.3 表述算法
• 通常用自然语言、计算机语言(代码)、伪代码[1]、传统流程图、 通常用自然语言、计算机语言(代码)、伪代码 、传统流程图、 )、伪代码 N-S流程图、PAD图等不同的方法来描述算法。 流程图、 图等不同的方法来描述算法。 流程图 图等不同的方法来描述算法 • 在例 中,采用了自然语言来表示算法。自然语言就是人们日常使 在例3.1中 采用了自然语言来表示算法。 用的语言,可以是汉语、英语,或其他语言。 用的语言,可以是汉语、英语,或其他语言。用自然语言表示算法通 俗易懂,但文字冗长,容易出现歧义性。自然语言表示的含义往往不 俗易懂,但文字冗长,容易出现歧义性。 太严格,要根据上下文才能判断其正确含义。此外, 太严格,要根据上下文才能判断其正确含义。此外,用自然语言来描 述包含分支和循环的算法,很不方便。因此, 述包含分支和循环的算法,很不方便。因此,除了那些很简单的问题 以外,一般不用自然语言描述算法。 以外,一般不用自然语言描述算法。 • [1] 伪代码是介于自然语言与计算机语言之间的文字符号。一般借助 伪代码是介于自然语言与计算机语言之间的文字符号。 一种高级语言的控制结构,而中间的操作用自然语言描述。 一种高级语言的控制结构,而中间的操作用自然语言描述。
P1 是 循环体

• 图3.6当型循环结构示意图 当型循环结构示意图
(2)直到型循环的执行过程为: )直到型循环的执行过程为: • 先执行循环体一次,然后判断控制循环的条件。 先执行循环体一次,然后判断控制循环的条件。 • 条件 成立,则继续上述循环体,直到条件不成立时,结束循环。 条件P2成立,则继续上述循环体,直到条件不成立时,结束循环。 成立

第3章 顺序结构程序设计

第3章 顺序结构程序设计

3.2 实现顺序结构程序设计的基本语 句
• 赋值语句 语句
赋值语句由赋值表达式加上一个分号构成,一般形式为: 变量=表达式; 变量=表达式; 例如: radius=14.5; i++; x+=2; 赋值语句是将右边表达式的值赋给左边的变量中去。赋值 语句要先对表达式加以计算求得其值,而后再将求得的值赋给 左边的变量中去,因此可以说赋值语句兼有计算功能。
例3.1
例3.2
例3.3
• 输出项表 输出项表中可以有多个输出项,各项之间用逗号分隔。 • 注意事项: ①格式控制中的格式说明符必须按从左到右的顺序,与输出 项表中的每个数据一一对应。 ②除x,e,g外,其他类型转换字符必须用小写字母。 ③类型转换字符紧跟在“%”后面时作为类型转换字符,否则 上一页 将 作为普通字符处理。
• 标准输入输出
C语言本身并不提供输入输出语句,其输入输出操作是由标 准库函数来实现的,在使用标准库函数时,要用预编译命令: 首页 上一页 #include将“stdio.h”文件包括到用户源文件中。
– 格式输出函数—printf()
形式: printf(“格式控制”[,输出项表]); printf( 格式控制” 输出项表] • 格式控制 ①普通字符:即需要原样输出的的字符信息。 ②格式说明符:即用%开头后面跟有一个字母,它规定了输 出项的输出形式。常用格式说明符见表3.1和表3.2。 ③转义字符:以“\”开头的字符序列。常用转义字符见表3.3。
上一页
–单个字符的输入—getchar()函数
形式: c=getchar(); c=getchar(); 执行上面的调用时,变量c将得到用户从键盘输入的一 个字符值,这里的c可以是字符型或整型变量。

第3章 结构化程序设计语句

第3章  结构化程序设计语句

图3-16 程序运行界面
3.3.2 上机练习二:捉拿肇事司机 上机练习二:
【练习题目】 练习题目】 题目 一辆卡车违反交通规则,撞死行人, 一辆卡车违反交通规则,撞死行人,司机畏罪驾车逃 当时有三个人目击这一车祸的发生, 跑。当时有三个人目击这一车祸的发生,但都没有看清卡 车的牌照号码,只记住牌照号码的部分特征, 车的牌照号码,只记住牌照号码的部分特征,甲记住牌照 号码的前两位数字是相同的, 号码的前两位数字是相同的,乙记住牌照号码的后两位数 字是相同的,丙是一位数学家,他说“ 字是相同的,丙是一位数学家,他说“车牌号码肯定是四 位数,而且恰好是一个整数的平方。 位数,而且恰好是一个整数的平方。”,并且丙已推导出 符合该条件的号码只可能有一个。 符合该条件的号码只可能有一个。根据这些信息来判定车 牌号并捉拿肇事司机。要求编写控制台应用程序。 牌号并捉拿肇事司机。要求编写控制台应用程序。
3.1 循序渐进学理论
3.1.1 if语句 语句
1.用if语句实现单分支选择结构 . 语句实现单分支选择结构 [格式 :(表达式 语句 格式]: 表达式 语句; 表达式) 格式
图3-1 单分支选择结构执行流 程图
编写一个程序实现如下功能: 【 例 3-1】 编写一个程序实现如下功能 : 输入一个成绩, 如果成绩大于等于60 60则输出 输入一个成绩 , 如果成绩大于等于 60 则输出 恭喜您,您通过了这次考试! “恭喜您,您通过了这次考试!”,否则不输 出任何信息。要求编写成控制台应用程序。 出任何信息。要求编写成控制台应用程序。
[格式2]:randomObj.Next(N) 格式2]: 2] 例如,有下列语句: 例如,有下列语句: Random randomObj=new Random() i=randomObj.Next(10 10) i=randomObj.Next(10); 其作用是产生一个0~9之间的随机整数并赋值给变量i 0~9之间的随机整数并赋值给变量 其作用是产生一个0~9之间的随机整数并赋值给变量i。 格式3] 3]: [格式3]:randomObj.Next(N,M) 例如,有下列语句: 例如,有下列语句: Random randomObj=new Random() i=randomObj.Next(5 10) i=randomObj.Next(5,10); 其作用是产生一个5~9之间的随机整数并赋值给变量i 5~9之间的随机整数并赋值给变量 其作用是产生一个5~9之间的随机整数并赋值给变量i。

结构化程序设计的3种结构

结构化程序设计的3种结构

结构化程序设计的3种结构
1.顺序结构:顺序结构通常是指一系列按顺序执行的指令,它是程序
设计过程中最基本的结构。

顺序结构可以简单地理解为从上到下顺序执行,它要求每一条指令必须按照顺序一个接一个地按固定的顺序执行,它表示
程序执行的一系列步骤必须按顺序依次执行,直到执行完毕。

2.分支结构:分支结构的语法是一系列的判断语句,它能够根据多种
情况下的不同输入,采取不同的操作,对程序有着很重要的作用,能够使
程序看起来更加灵活及容易阅读。

使用分支结构可以实现更加复杂的程序
结构,它可以检查变量的值,根据变量值的不同,来决定程序执行不同的
程序分支。

3.循环结构:循环结构又称为循环程序设计,它是指把某些重复执行
的步骤放在一个循环体中,根据循环次数的不同,可以实现程序的任务,
循环结构具有可以重复执行某段代码的功能。

循环结构在实际编程中,可
以用来实现大规模数据的处理,也可以实现边界值的自动搜索,有效地提
高程序的执行效率。

结构化程序设计

结构化程序设计

结构化程序设计
结构化程序设计
结构化程序设计是一种软件开发方法,旨在通过模块化和顺序化的方式来设计和编写程序。

它强调程序应该被组织成一系列可重复使用和可维护的模块,以便增强开发效率和代码的可读性。

在结构化程序设计中,程序被划分为多个小的、相对独立的模块。

每个模块执行一个特定的任务,并且可以与其他模块进行通信和交互。

这种模块化的设计使得程序变得更加可靠和易于理解,因为每个模块都是独立的,它的功能可以被单独测试和验证。

,结构化程序设计还鼓励使用顺序、选择和重复等基本的控制结构来组织程序的执行流程。

顺序控制指的是按照代码的顺序依次执行语句,选择控制指的是根据条件选择执行不同的语句块,而重复控制则是通过循环执行一段代码多次。

结构化程序设计的目标是提高程序的可理解性和可维护性。

通过模块化的设计,可以将一个复杂的问题分解成多个简单的子问题,从而减少开发过程中的错误和bug。

结构化程序设计还使得程序的
测试和调试变得更加容易,因为每个模块都是相对独立的,可以单独进行测试和调试。

在实践中,结构化程序设计可以通过使用编程语言中的函数、类和模块等概念来实现。

通过将程序划分为多个函数或者类,可以实现程序的模块化和重用。

而通过使用模块化的设计,可以将程序的不同部分放入不同的模块中,从而提高代码的可读性和可维护性。

,结构化程序设计是一种重要的软件开发方法,可以提高程序的可读性、可维护性和可重用性。

通过将程序划分为多个模块,并使用基本的控制结构来组织程序的执行流程,可以更好地管理和开发复杂的软件系统。

结构化程序设计是每个程序员都应该熟悉和掌握的软件开发技术。

结构化程序设计的三种基本结构

结构化程序设计的三种基本结构
第3章 结构化程序设计的三种 基本结构
结构化程序设计共有以下3种基本结构: 顺序结构 分支结构 (选择结构 )
循环结构,
(1)顺序结构,如图3.1(a)所示,该结构先执行A,再 执行B,两者是顺序执行的关系
A B 流程图
A B
N-S结构图
(2)分支结构,也叫选择结构,如图3.1(b)所示, 该结构先判断条件是否成立,当条件成立时执 行A,否则执行B。该结构只能执行A或B其中之 一
例如: m和n是整形变量,则: scanf (“%d%d”,m,n );是错误的, 应将“m,n”改为“&m,&n” 。
②如果在“格式控制串”中除了格式标识符、修饰符和格式 说明符以外还有其他字符,则应在输入数据时输入与这些字 符相同的字符。例如: scanf ("%d,%d",&m,&n );
输入时两个整数之间应加入“,”: 234,123↙ 因为,在scanf函数中的“格式控制串”中使用了逗号分 隔,所以必须在234后面加一个逗号。
表3.2 scanf函数常用的格式说明符
格式说明符 d o x c s f
功能说明 表示输入带符号的十进制整数 表示输入无符号八进制整数 表示输入十六进制无符号整数 表示输入单个字符 表示输入多个字符,即一个字符串 表示输入实数,可以用小数形式输入
表3.2 scanf函数常用③从键盘输入的数据类型和个数必须与参数表中的数 据类型和个数相匹配。例如:
scanf (“%d,%d”,&m,&n ); 输入数据时的形式:
234,10.5↙ (错误,因为数据类型不匹配) 234,105,123↙ (错误,因为数据个数不匹配) 234,123↙ (正确) ④可以指定输入数据所占的列数,系统自动按指定列 数截取数据。例如:

C++_CHAP3

C++_CHAP3
#include <iostream.h> void main() { const int N=99; int counter,sum=0; counter=2; while(counter<=N) { sum+=counter; counter+=2; } cout<<"The total is "<<sum<<endl; }
其语法形式: 其语法形式:
for(表达式 表达式 表达式 表达式1;表达式 表达式3) 表达式 表达式2;表达式 语句
C++与结构化程序设计 第3章 C++与结构化程序设计
表达式1 表达式
false
表达式2 表达式
true
语 句
表达式3 表达式
C++与结构化程序设计 第3章 C++与结构化程序设计
C++与结构化程序设计 第3章 C++与结构化程序设计
if(b) { cout<<n<<'\t'; counter++; if(counter%5==0) cout<<endl; } } }
C++与结构化程序设计 第3章 C++与结构化程序设计
C++与结构化程序设计 第3章 C++与结构化程序设计
if语句嵌套 3.4.2 if语句嵌套
C++语言中规定else始终与同 一层中上面最接近它的if语句 配对,而这个if语句又没有其 他的else与之匹配。最好用 大括号{}括起该层的if语句 来确定层次关系。

C语言程序设计 第3章结构化程序设计的三种基本结构

C语言程序设计 第3章结构化程序设计的三种基本结构
printf ("请输入您的成绩"); scanf ("%d",&score);
其中输出函数printf( )只原样显示一个普通的字符串,用来 提示用户输入的数据是“成绩”。 ⑦如果是多个参数时,参数之间必须必须用逗号分隔,每 个参数要求是一个表达式(单独一个变量是表达式的特殊情 况),参数的个数和类型要与格式控制串中的格式说明符的 个数和类型相匹配。
③不可打印的特殊字符指的是该字符不能直接从输出设备输出, 也称为“转义字符”,转义字符用转义序列来表示。所谓转义 序列是用来表示字符的一种方法,即用该字符的ASCII值表示, 具体的格式为:\字母。其中: “\”表示转义字符序列的标识符,表示后面的字符是转义字符, 即是不可打印的字符; “字母”表示不可打印的转义字符,用来使输出设备输出某一 种格式,c语言中的常用转义字符如表3.4所示。
int a=4; float x=3.14; char c=’A’; 也可以对几个变量赋同一个初值,例如: int a=4,b=4,c=4; 也可以只对部分变量赋初值,例如: int a=4, b,c;
【例3.1】算术赋值运算符的使用。 #include <stdio.h> void main ( ) {
修饰符
功能说明
字母l
表示输入长整型整数,可加在格式说明符d、o、x 前面
m 表示输出数据的最小宽度 m.n 表示输出总宽度占m列,其中小数位占n位
- 表示输出的数字或字符在输出区域内向左靠
⑥如果是0个参数时,即该函数中只有格式控制串部分, 没有参数表部分,二者之间的逗号可以省略。这时格式控 制串部分是一个普通的字符串,该字符串将原样显示在屏 幕上,常常用来作为提示信息或字符串的输出。例如:
A

第三讲 结构化程序设计

第三讲 结构化程序设计
Randomize ‘初始化随机数种子 int(rnd*100)+1

rnd:[0,1)的随机小数

产生[a,b]间的随机整数
a+int(rnd*(b-a+1))
排序方法
选择法 冒泡法

选择排序法
每次选出待排序数列 (长度为n)中的最 大(小)值和队列中 的第一个数进行交换。 将首位数排除在外, 继续对剩余队列(长 度为n-1)进行以上操 作。
多分支结构 用法说明





测试表达式:为数值表达式或字符串表达式。 表达式列表:多个表达式用逗号间隔即为表达式列表。表达式可 以是单个表达式(单值)或“表达式 To 表达式”(多个整数 值)。 如:1 1,3,5,7 To15,20 都是合法的表达式列表。 如果比较测试表达式与其他表达式的关系,则用符号“Is”表示测 试表达式的值。 执行流程: 自上而下顺序地判断测试表达式的值与表达式列表中的哪一个匹 配,如有匹配则执行相应语句块,然后转到End Select的下一语 句。 若所有的值都不匹配,执行Case Else所对应的语句块,如省略 Case Else,则直接转移到End Select的下一语句。
Do/Loop语句

格式1:Do [{While|Until}<条件>] ' 先判断条件、后执行循环体 循环体 Loop 格式2:Do ' 先执行循环体、后判断条件 循环体 Loop [{While|Until}<条件>] (1) 选项“While”当条件为真时执行循环体,选项“Until”当条件 为假时执行循环体。 (2) 循环体中可以出现语句“Exit Do”,将控制转移到DO/LOOP结 构后一语句。

第3章 结构化程序设计

第3章  结构化程序设计
(3) 在最后的编码阶段应做到“清晰第一,效率第二”,并采用 良好的程序设计风格,从而提高程序的可读性,便于调试时 改正错误,也便于程序的维护。
2019年12月10日星期二第Fra bibliotek章 结构化程序设计
第4页
上海师范大学 计算机系
3.2.1 C语言语句概述
1、表达式语句 表达式能构成语句是C语言的重要特色,故有人称C语言是 “表达式语言”,其一般形式为:表达式; 执行表达式语句就是计算表达式的值。例如:x=y+z;
2019年12月10日星期二
第3章 结构化程序设计
第12页
上海师范大学 计算机系
3.2.2 常用的输入和输出函数
注意:要求格式控制字符串中的格式说明项与变量在数量和 类型上应该一一对应。例如:
int a,b,c; printf("Input a、b、c:"); scanf("%d%d%d", &a,&b,&c); 输入为:7 8 9↙ /* ↙表示回车 */ 或 7↙
(2)“*”符:表示该输入项读入后不赋予相应的变量,即跳过该 输入值。例如:
scanf("%d%*d%d", &a,&b); 当输入为:7 8 9↙时,则把7被赋予a,8被跳过,9被赋予 b。 (3)宽度:用十进制整数指定输入的宽度(即字符数)。例如:
scanf("%4d%d", &a,&b); 当输入为:1234789↙时,则把1234被赋予a,789被赋予b。 (4)长度:长度格式符为l和h,l表示输入长整型数据(如:%ld) 和双精度浮点数(如:%lf),h表示输入短整型数据。
b=5944568,26532370,5ab4f8,5AB4F8

结构化程序设计

结构化程序设计
结构化程序设计是一种将复杂问题分解为多个模块组成的层次结构的方法。在总体设计阶段,采用自顶向下的方式逐步求精,将问题细化为具体的处理步骤。该程序设计的核心原则包括程序应清晰易懂、效率次之,由模块构成且无随意跳转,每个模块有且仅有一个入口和出口。程序主要由顺序、分支和循环三种基本结构组成,避免使用死循环。通过这三种结构的反复嵌套,可以构建出结构清晰、易于理解和维护的程序。此外,结构化程以完善操作步骤,并最终选择一种程序设计语言来实现整个程序。这种方法不仅提高了程序设计的质量和效率,还使得程序更易于调试和修改。

C语言第3章_

C语言第3章_

o,x
f
e g c
计算机基础教学部
17
二、printf格式符说明
■ 另外,还有其他格式符如:
■m
■l ■ 将在需要的时候用实例讲解。
计算机基础教学部
18
二、printf一般格式

%[标志][输出最小宽度][.精度][长度]格式字符
#include <stdio.h> #include <stdio.h> main() main() { { 输出结果:10,3.4 int a=10; 10 3.4 int a=10; 输出结果:103.4 float b=3.4; float b=3.4; printf(“%d%f\n”,a,b);/*a是int类型,用%d格 printf(“%d ,%f\n”,a,b); 式, b是float类型,用 %f格式*/ } printf(“%d%6.2f\n”,a,b) }
}
计算机基础教学部
23
四、格式输入函数scanf
输入数据赋给变量:
#include <stdio.h> #include <stdio.h> #include <stdio.h> #include <stdio.h> main() main() main() #include <stdio.h> main() { { { main() { int a,b; float h,w; int a;{ float b; scanf(“%d%d”,&a,&b); printf(“请输入身高(米):”); scanf(“%d”,&a); double c; scanf(“%f”,&b); scanf(“%f”,&h); } scanf(“%lf”,&c); } } printf(“请输入体重(千克):”); } scanf(“%f”,&w); printf(“肥胖指数为:%.2f\n”,w/h/h);

第三章 结构化程序设计控制结构

第三章 结构化程序设计控制结构

三. 多重判断IF-ELSE IF
IF (条件1) THEN …… 条件1成立时,执行这个模块程序 …… ELSE IF(条件2) THEN …… 条件2成立时,执行这个模块程序 …… ELSE IF(条件3) THEN …… 条件3成立时,执行这个模块程序 …… …… ELSE IF(条件4) THEN …… 条件4成立时,执行这个模块程序 …… ELSE ! ELSE这个模块可以省略 …… 每个条件都不成立时,才执行这个模块程序 …… END IF
PRINT *, "RAIN:" READ *, RAIN PRINT *, "WIND:" READ *, WINDSPEED IF ( RAIN>=500 .OR. WINDSPEED>=10) THEN PRINT *, "停止上班上课" ELSE PRINT *, "照常上班上课" END IF STOP END
* 逻辑运算符:
.NOT.;.AND.;.OR.;.EQV.;.NEQV.;.XOR.
优先级由高到低依次为:算术运算符,关系运算 符和逻辑运算符。

例3-3
PROGRAM EX0403 IMPLICIT NONE INTEGER RAIN, WINDSPEED

例3-8判断象限
PROGRAM EX0308 IMPLICIT NONE REAL X,Y INTEGER ANS WRITE (*,*) "INPUT (X , Y)" READ (*,*) X,Y
IF ( X>0 ) THEN IF (Y>0) THEN ! X>0,Y>0 ANS=1 ELSE IF (Y<0) THEN ! X>0, Y<0 ANS=4 ELSE ! X>0, Y=0 ANS=0 END IF ELSE IF (X<0) THEN IF (Y>0) THEN ! X<0, Y>0 ANS=2 ELSE IF (Y<0) THEN ! X<0, Y<0 ANS=3 ELSE !X<0, Y=0 ANS=0 END IF

C++程序设计基础第二版(高等教育出版社)习题答案

C++程序设计基础第二版(高等教育出版社)习题答案
cin>>f;
c=(f-32)*5/9;
cout<<"c="<<c<<'\n';
}
3.用C++语言写出下列要求的表达式:
判断char型变量ch是否为大写字母。
ch>=65 && ch<=’Z’
设y为int变量,判断y是否为奇数。
y%2 ==1
设x、y、z都为int型变量,描述“x、y和z中有两个为负数”。
(9) x=(a++,r++) 97.(10) ceil(x-0.5) 5.
(11) a=abs(a)%8-10 -6(12)x=fabs(-27.2)+6 33.
(13)floor(x+0.5) 5.(14) ceil((x-=0.5)-0.5) 4.
(15)floor(x*1000+0.5)/1000 4.(16)floor(x+0.5) 5.
解:
#include <iostream.h>
void main(void)
{
int min(int x,int y);
int a,b,m;
cout<<"Input a,b:";
cin>>a>>b;
m=min(a,b);
cout<<"min="<<m<<endl;
}
int min(int x,int y)
(11) !! ch==ch 0(12) !(x&&y)==!x||!y 1

结构化程序设计

结构化程序设计

结构化程序设计结构化程序设计结构化程序设计(Structured Programming)是一种编程方法学,旨在通过使用控制结构和模块化的方式来提高程序的可读性和可维护性。

它强调程序应该被分解为小而独立的、可重用的块,并且应该使用清晰的控制结构来组织代码。

结构化程序设计通过减少代码中的跳转和条件语句来降低程序的复杂性,使得程序更易于理解和调试。

1. 控制结构在结构化程序设计中,主要有三种基本的控制结构:1.1 顺序结构顺序结构是最简单的控制结构,程序按照顺序执行语句,没有任何条件或循环。

例如,下面是一个简单的顺序结构的伪代码示例:pythonStep 1: 读取输入Step 2: 处理数据Step 3: 输出结果1.2 选择结构选择结构用于根据特定条件选择不同的路径执行代码。

通常使用`if`语句或`switch`语句来实现选择结构。

例如,下面是一个使用`if`语句实现的选择结构的伪代码示例:pythonif 条件1:执行语句1elif 条件2:执行语句2else:执行语句31.3 循环结构循环结构用于重复执行一段代码,直到满足特定条件才停止。

通常使用`for`循环或`while`循环来实现循环结构。

例如,下面是一个使用`while`循环实现的循环结构的伪代码示例:pythonwhile 条件:执行语句2. 模块化设计模块化设计是结构化程序设计的另一个关键概念,它将程序分解为相互独立的模块,每个模块负责完成特定的任务。

模块化设计可以提高代码的可重用性和可维护性,并且使得程序更易于理解和测试。

在模块化设计中,每个模块应该具有清晰的输入和输出接口,尽量减少模块之间的依赖关系。

模块之间的通信可以通过参数传递、全局变量或回调函数等方式实现。

例如,一个计算矩形面积的模块可以设计如下:pythondef calculate_area(length, width):area = length widthreturn area在上述示例中,`calculate_area`是一个独立的模块,它接收矩形的长度和宽度作为参数,并返回计算的面积。

第3章_结构化程序设计

第3章_结构化程序设计

• 2. if-else语句
• 语法形式:
if (<条件>) <语句1> else <语句2>
如果“条件”为 “真”,则执行 “语句1”;否则 执行“语句2”
条件
假(0)
真(非0)
语句1 语句2
如图3-2所示
图3-2 if-else语句的执行过程
例如:
if(a+b>c && b+c >a && a+c>b)//判定合法性 { //求三角形面积 p = (a+b+c)/2; s = Math.sqrt(p*(p-a)*(p-b)*(p-c)); } else Console.WriteLine(“三角形的三边数据有 错!”);
//在条件表达式中实现改变循环控制变量之值
int digit=0;
while(digit++<=9) { Console.WriteLine(“{0}”,digit); } //在Console.WriteLine()语句中实现改变循环控制变量之值 int digit=0;
while(digit<=9)
• switch表达式必须是sbyte、byte、ushort、uint、 long、ulong、char和sting(或基于这些类型之一的 一个enum)类型(或隐式地转移到这些类型) • 必须对每个case语句提供一个跳转语句(break语句) ,包括最后的case语句 • 对每个switch语句来说,只能有一个default语句。 而当所有的case语句都不执行,且又没有default语 句时,则控制转移到switch语句的闭花括号之后的 第一行代码,即switch整个语句都不执行
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Do While I<=5
Do While <条件>
2 True
关系语句实现的循环 Loop语句实现的循环
例3-5:编程求下式的值。 编程求下式的值。
四.循环语句
2、Do循环语句 Do循环语句 (2)Do Until… Loop
s = 1 + 2 + …… + 10
四.循环语句
2、Do循环语句 Do循环语句 (1)Do While… Loop
Do While <表达式 <表达式> 表达式> 语句块 [Exit Do] 语句块 Loop
4 False 语句1 …… 语句n 3 应有语句使条 件由True变 False. 1
求学生平均成绩的编程实现
算法描述 (1) “存放成绩和的变量sum”值赋0; (2)存放学生编号的变量I的值为1; 步继续处理, ( 3 ) 若 I<=5 , 转第 ( 4 ) 步继续处理 , 否则转第( 否则转第(8)步; ( 4 ) 看到 ( 输入 ) 第 I个人的成绩存放 到变量cj中; 相加, ( 5 ) 把 sum的值和变量 cj相加 , 再存放 到sum变量中; 变量中; (6)学生序号I的值加1; (7)转第( 转第(3)步; (8)sum的值除以5存放到变量aver中; (9)输出平均值aver。
1
1
四、循环语句 循环语句
3.For…Next循环语句 Next循环语句
For 循环变量=初始值 To 终值 [Step 步长] 语句块 [Exit For] 语句块 Next [循环变量]
(1)初值、 初值、终值和步长均是一个数值型变量, 终值和步长均是一个数值型变量,可 以是正值、 、负值或零, 以是正值 负值或零,也可以是整数或小数。 也可以是整数或小数。 步 长为1时可以省略。 时可以省略。 (2)终止循环的条件是循环变量的值“超过”终值 ,若“步长”是正值, 是正值,则“超过”的含义是大于, 的含义是大于,若“ 步长”是负值, 是负值,则“超过”的含义是小于。 的含义是小于。 (3)循环次数=(循环终值-循环初值) / 步长+1
•试凑法(也称为穷举法) •公鸡最多买19只,母鸡最多33只
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Cock, Hen, Chicken As Integer '分别存放公鸡、 分别存放公鸡、母鸡和小鸡数 Dim i As Integer = 0 '存放第几种方案 For Cock = 1 To 19 '公鸡数从1到19 For Hen = 1 To 33 '母鸡数从1到33 Chicken = 100 - Cock - Hen '小鸡数为100减去公鸡数和母鸡数 If (Chicken Mod 3 = 0) Then '小鸡数应能被3整除 If (Cock * 5 + Hen * 3 + Chicken / 3 = 100) Then i = i + 1 '方案号加1 TextBox1.Text = TextBox1.Text + "方案" + CStr(i) + " 公鸡 : " _ + CStr(Cock) + " 母鸡: " + CStr(Hen) + " 小鸡: " + _ CStr(Chicken) + Chr(13) + Chr(10) End If End If Next Hen Next Cock End Sub
If… If…Then… Then…ElseIf与Select Case语句示例
If Score >= 90 Then Grade = "A" ElseIf Score >= 80 And Score <= 89 Then Grade = "B" ElseIf Score >= 70 And Score <= 79 Then Grade = "C" ElseIf Score >= 60 And Score <= 69 Then Grade = "D" Else Grade = "E" End If
… … I=10
I=1
功能: 功能:首先求解条件表达式, 首先求解条件表达式,如果为False 如果为False, False,则执行一次循环 体,然后再对条件表达式求值, 然后再对条件表达式求值,若为False 若为False, False,再次执行循环 体,不断重复该过程, 不断重复该过程,直到条件表达式的值为True 直到条件表达式的值为True时停止 True时停止
本章重点: 本章重点: 赋值语句
应用教程(第2版) (Visual Basic 2008版) 第三章 结构化程序设计语句 基 本 语 句
条件语句
If…Then…Else If…Then…ElseIf Select Case For…Next 循环语句 Do While|/Until…Loop Do…Loop While|/Until
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim m As Single, d As Single, Amount As Single 'm是购物款, 是购物款,d是折扣, 是折扣,Amount是应付款 m = Val(TextBox1.Text) '获取输入的购物款 If m < 250 Then '算出折扣数 d=0 ElseIf m < 500 Then d = 0.05 ElseIf m < 1000 Then d = 0.075 ElseIf m < 2000 Then d = 0.1 Else d = 0.15 End If Amount = m * (1 - d) '算出应付款 TextBox2.Text = CStr(Amount) '显示应付款 End Sub End Class
Select Case Score Case Is >= 90 Grade = "A" Case 80 To 89 Grade = "B" Case 70 To 79 Grade = "C" Case 60 To 69 Grade = "D" Case Else Grade = "E" End Select

2
四.循环语句
2、Do循环语句 Do循环语句 (3)Do … Loop While Do 语句块 [Exit Do] 语句块 Loop While <条件表达式> 功能: 功能:先执行一次循环体, 先执行一次循环体,然后求解条件表达式, 然后求解条件表达式,如果为 True, True,则再执行循环体, 则再执行循环体,不断重复该过程, 不断重复该过程,直到条件表达 式的值为False 式的值为False时停止 False时停止。 时停止。
四.循环语句
2、Do循环语句 Do循环语句 (4)Do … Loop Until Do 语句块 [Exit Do] 语句块 Loop Until <条件表达式>
Do Sum+=i i+=1 Loop While i<=10 Do Sum+=i i+=1 Loop Until i>10
功能: 功能:先执行一次循环体, 先执行一次循环体,然后求解条件表达式, 然后求解条件表达式,如果为 False, False,则再执行循环体, 则再执行循环体,不断重复该过程, 不断重复该过程,直到条件表达 式的值为True 式的值为True时停止循环 True时停止循环。 时停止循环。
一、赋值语句
[格式1] 格式1]: 1]:变量名= 变量名=表达式 功能] 将表达式的值赋值给变量。 [功能 ]:将表达式的值赋值给变量 。 格式2] 2]: 对象. 属性名= [格式 2] :对象 .属性名 =表达式 功能] 将表达式的值赋值给对象的属性。 [功能 ]:将表达式的值赋值给对象的属性 。 TextBox1.Text="欢迎您 欢迎您! TextBox1.Text=" 欢迎您 !" a=3.5 可在“=”赋值符号前加上其他运算符, 赋值符号前加上其他运算符,构成复合赋值运算 符,主要有: 主要有:+=、 +=、*=、\=、/=、 /=、^=等 ^=等。 Num*=I+J '等价于 '等价于 Num=Num Num=Num*(I+J) Num*(I+J)
Do While <条件>
2 True 语句1 4 False …… 语句n 3
Do Until <条件>
2 False 语句1 4 True …… 语句n 3
Loop
Loop
前测型循环( 前测型循环(允许0 允许0次)
Do
语句1 …… 语句n
Do
语句1 …… 语句n
Loop While <条件>
Loop Until <条件>
二、If条件语句
2.多分支选择结构 If… If…Then… Then…ElseIf与Select Case语句
If (条件1) Then [Then 语句块1] ElseIf (条件2)Then [ElseIf 语句块2] …… ElseIf (条件n)Then [ElseIf 语句块n] Else [Else 语句块] End If Select Case 表达式 Case 值1 [满足值1的语句块] Case 值2 [满足值2的语句块] …… Case 值n [满足值n的语句块] Case Else [不满足以上值的语句块] End Select
相关文档
最新文档