顺序语句和选择语句
程序流程有三种最基本的控制结构,即顺序结构、选择结构和讲解

布尔表达式练习
?-3<-2<-1 False a=3:b=4:c=5 ?a=b=c False 表示一个数x是能被3整除的奇数 x Mod 3=0 and x Mod 2< >0 x Mod 2=1 and x Mod 2< >0 表示一个数x∈[2,5] x>=2 and x<=5 表示一个数x不在[2,5]区间内 x<2 or x>5
(y Mod 4=0 AND y Mod 100<>0 ) OR 400=0 AND y Mod 100=0 )
(y Mod
(y Mod 4=0 AND y Mod 100<>0 ) OR y Mod 400=0
地球公转一周的时间为:365天5小时48分56秒
判断闰年的科学依据
每经过4年,剩余的时间为:5小时48分56秒×4=23小时15分44秒 则每4年都要多加24小时- 23小时15分44秒=44分16秒
每经过100年,就会多加44分16秒×25=18小时26分40秒
比较接近一天,所以每到100年,就将这多加的近似一天的时间减去, 即停止追加一天 而实际上又少加了24小时- 18小时26分40秒=5小时33分20秒 每经过400年,就会少加4 × 5小时33分20秒≈24小时 所以每过400年,就应该再补加一天 故:每4年闰年出现一次;每400年,闰年再出现一次 其它的整100年,闰年停止出现一次
每400年闰年再出现一次其它的整100年闰年停止出现一次12选择控制结构选择控制结构又称分支结构它体现了程序运行过程中的自我判断能力程序可以根据当前执行的某个条件进行比较判断并依据判断的结果成立与否来决定下一步做什么不做什么在两条或多条程序路径中选择一条来执行即只执行程序中的一部分语句可见在此结构的程序运行过程中有些语句会执行一次有些语句在此次程序运行过程中没有机会执行
程序的基本结构

输入两个数(均不为零)及一个算术运算符,输出其运算的结果 程序代码: program ex3(input,output); var x,y,s:real; ch:char; begin writeln(‘input x & y & ch:’); readln(x,y); readln(ch); case ch of ‘+’:s:=x+y; ‘-‘:s:=x-y; ‘*’:s:=x*y; ‘/’:s:=x/y end; writeln(x,ch,y,’=’,s) end.
IF语句的嵌套 在if语句中,如果then子句或else子句仍是一个if语 句, 则称为if语句的嵌套。
例3:已知方程:
ax2+bx+c=0
输入系数a,b,c,a<>0,输出方程的解(考虑各种情况)。保留两位 小数。 (1):如果无实数解输出:’no answer’; (2):相同的实数解:输出一个即可。 (3):两个不同的实数解:分别输出。 如: 输入: 输入: 1 3 2 1 2 1 输出: X1=-1.00 输出: X2=-2.00 X=-1.00
如:a:=1;b:=2; 则表达式:a<=b的值是TRUE;a>b的值是FALSE; a+1=b的值是TRUE; Var f:boolean; f:=a>b; Write(f); 输出:FALSE
2、逻辑运算 (布尔运算)
运算符 not and or xor 运算 逻辑非(取反) 逻辑与(并且) 逻辑或(或者) 逻辑异或 运算对象 布尔型 布尔型 布尔型 布尔型 结果类型 布尔型 布尔型 布尔型 布尔型
Xor:异或其实就是对应的位, 不同就取1,想同就取0 21 二进制码: 0001 0101 2 二进制码: 0000 0010 xor: 0001 0111 (23)
顺序结构与选择结构

(2015)57、下列VB 程序段运行后,变量C 的值是( B )。 A=10 : B=4 : C=0 IF A mod B<>0 THEN C=A\B ELSE C=A/B END IF A.0 B.2 C.2.5 D.3
(2016)根据右图 所示的算法流程图, 若输入a的值为2,则 输出a的值是( B ) A.0 C. 2 B. 1 D. 3
C、a3=a+3 D、3a=a+b
思考:执行以下语句后,A和B的值分 别是多少? A=3 A=1 B=5 B=2 A=A+B →A=1+2=3 B=A+B →B=3+2=5
程序的基本结构:
1、顺序结构 2、分支结构 3、循环结构
顺序结构
程序代码是按照由上到下的顺序 一行一行的执行,在程序执行的 过程中没有分支,没有重复,只 有一个入口和一个出口。
凡是看到有 if 这个词的,一定 是分支结构(选择结构)。
程序设计
程序的基本结构——顺序结构
1、赋值语句 用”=”来实现,比如:a=3, a=a+1,ab=a左边,赋值语句的“=”左边必须是变量(或 者对象属性名),右边可以是常量、变量或 者表达式。
思考: 以下正确的赋值语句是? C A、3=a
B、a+3=b
分支结构
(2014)56、在VB中,下列程序段执 行后,变量m的值是(B ) a=8:b=5:m=b If a<b Then m=a 如果 a<b 那么 m=a Print m A、1 B、5 C、8 D、15
(2013)57、下列VB 程序段运行后,变量T 的值是( C )。 A=10 : B=5 : T=0 IF A>B THEN 如果 A>B 那么 T=A ELSE 否则 T=B END IF A.0 B.5 C.10 D.15
程序设计的三种基本结构

程序设计的三种基本结构程序设计中的三种基本结构是顺序结构、选择结构和循环结构。
这些结构是用来控制程序执行顺序和逻辑流程的基础。
一、顺序结构:顺序结构是程序中最简单的结构,即按照顺序执行各个语句,一条接一条地执行,没有跳转和分支。
顺序结构利用语句的执行顺序来确定程序的执行流程。
例子如下:```int a, b, c;a=10;b=20;c=a+b;```在上面的例子中,按照顺序结构,首先给变量a赋值为10,然后给变量b赋值为20,最后将a和b的和赋值给变量c。
程序将按照这个顺序执行下去。
二、选择结构:选择结构用来根据一些条件的真假来决定程序的执行流程。
根据条件的结果,可能会选择执行一段代码或者另一段代码。
常见的选择结构有if语句、switch语句等。
例子如下:int x = 10;if (x > 0)//x大于0的情况下执行的代码printf("x is positive");} else//x小于等于0的情况下执行的代码printf("x is not positive");```在上面的例子中,根据if语句中的条件判断表达式x > 0的结果,如果为真,则执行if语句块内的代码;如果为假,则执行else语句块内的代码。
通过选择结构,程序可以根据不同的条件来执行不同的代码块。
三、循环结构:循环结构用来进行重复执行一段代码的操作。
通过判断循环条件的真假来控制循环的执行和退出。
常见的循环结构有for循环、while循环、do-while循环等。
例子如下:```int i;for (i = 0; i < 10; i++)printf("%d\n", i);在上面的例子中,利用for循环结构,通过初始化循环变量i并设置循环条件i < 10以及每次循环完执行的表达式i++来实现了循环打印数字0到9的功能。
循环结构使得程序可以重复执行同一段代码,以达到需要重复执行的任务。
VB顺序结构与选择结构

x = 0.25 * w
Else If w <= 100 Then
x = 0.25 * 50 + 0.35 * (w–50)
Else x = 0.25 * 50 + 0.35 * 50 + 0.45 * (w–100) End If End If Text2.Text = x
练习
相应流程图与程序界面
输入 x 值
真
x ≥ 2
假
y = x 3- 9
y = x
2
+ 5 x -6
输出 y 值
相应代码
行If语句
Private Sub Command1_Click( )
Dim x As Single x = Val(Text1.Text)
块If语句
Private Sub Command1_Click( )
VB顺序结构与选择结构
文成县第二高级中学 信息技术
顺序结构
执行过程的次序从上到下,从左到右。
例:请问此时的c的值是多少?
a = 10 b = a*2 c = a+b
在顺序结构中,由多条赋值语句构成,那么我们一起来看下赋值语句。
赋值语句
赋值语句用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。在算 法语句中,赋值语句是最基本的语句。 赋值语句的格式:
( w 50) 0.25 w x 0.25 50 0.35 ( w 50) (50 w 100) 0.25 50 0.35 50 0.45 ( w 100) ( w 100)
任何程序都可以由三种基本流程结构构成,即顺序结构、选

if 语句
2、switch语句 switch(i)
{ case1: break; case2: break; default: break;
} 遇到break;跳出。
软件编程基础
if 语句
简单控制结构 结构化程序设计的原则是:任何程序都可以由三种
基本流程结构构成,即顺序结构、选择结构、循环结构。 顺序结构:按照书写的顺序依次执行。 选择结构:根据计算所得的表达式的值来判断应选
择执行哪一个流程的分支。 循环结构:在一定的条件下反复执行一段语句的流
程结构。
软件编程基础
if 语句
三种基本结构特点: (1) 单入单出结构。 (2) 顺序结构和选择结构为开放式结构,执行 完后立即退出。循环结构为封闭式结构,只要条 件满ቤተ መጻሕፍቲ ባይዱ则反复执行结构内的内容。 (3) 一种结构执行完,就进入下一个结构。 (4)三种基本结构可以相互嵌套。
软件编程基础
if 语句
选择语句 1、if 语句
(1)if(布尔表达式)语句1 语句2
布尔表达式的结果为ture, 执行语句1,否则跳过语句1,执行语句2。
软件编程基础
if 语句
(2)if(布尔表达式)语句1 else 语句2
布尔表达式的结果为ture,执行语句1, 否则跳过语句1,执行语句2。
注意: 语句可以是单句, 可以是语句块, 甚至是空语句。
软件编程基础
if 语句
例 if (i % 2 == 0) { g.setColor(Color.red); g.fillOval(i * size, y+(i*size), size, size); } else { g.setColor(Color.green); g.fillRect(i * size, y+(i*size), size, size); }
至少列举出常用的4种流程控制语句,并简要说明用法

常用的四种流程控制语句包括:顺序结构、选择结构、循环结构和跳转结构。
1. 顺序结构顺序结构是指程序按顺序执行,每个语句依次执行,没有分支。
2. 选择结构选择结构包括if语句和switch语句。
if语句根据条件选择执行不同的语句块,格式如下:```if (条件) {// 条件成立时执行的语句} else {// 条件不成立时执行的语句}```switch语句根据表达式的值选择执行不同的分支,格式如下:```switch (表达式) {case 值1:// 表达式等于值1时执行的语句break;case 值2:// 表达式等于值2时执行的语句break;default:// 表达式不等于任何一个值时执行的语句break;}```3. 循环结构循环结构包括for循环、while循环和do-while循环。
for循环用于执行固定次数的循环,格式如下:```for (初始化语句; 循环条件; 循环更新) {// 循环体}```while循环根据条件循环执行,格式如下:```while (循环条件) {// 循环体}```do-while循环先执行一次循环体,然后根据条件决定是否继续执行,格式如下:```do {// 循环体} while (循环条件);```4. 跳转结构跳转结构包括break语句和continue语句。
break语句用于跳出当前循环或switch语句,格式如下:```while (true) {// 条件永远成立,但是有break语句,因此可以跳出循环break;}```continue语句用于结束当前循环的本次迭代,继续下一次迭代,格式如下:```for (int i = 0; i < 10; i++) {if (i 2 == 1) {// i为奇数时跳过本次迭代continue;}// i为偶数时执行的语句}```这四种流程控制语句在编程中非常常用,能够帮助程序实现不同的逻辑控制,提高程序的灵活性和可读性。
C语言的三种结构

C语言的三种结构C语言中的三种结构分别是:顺序结构、选择结构和循环结构。
一、顺序结构顺序结构是程序中最常见的一种结构,它是按照代码编写的顺序依次执行每一条语句,没有任何跳转、循环或者分支。
顺序结构的特点是执行效率高,代码量简单,并且易于理解和维护。
例如,以下是一个简单的顺序结构程序:```c#include <stdio.h>上述程序的执行顺序是从第3条语句开始依次执行,先计算a和b的和,然后将结果赋值给变量c,并最后输出结果。
这符合程序的逻辑执行顺序。
二、选择结构选择结构是根据条件的真假决定程序的执行路径,可以使程序有多种不同的执行方式,通常以if语句或switch语句来实现。
1. if语句if语句是一种条件控制结构,它根据指定的条件表达式的结果,选择执行或跳过特定的代码块。
if语句的语法格式如下:```cif ( expression ){statement(s); //条件为真时执行}```例如,以下是一个使用if语句的程序:return 0;}```上述程序会输出"a 小于 20"和"a 的值是10",其中if语句判断a是否小于20,若为真则执行printf函数输出相应的字符串,若为假则跳过if语句直接执行后面的printf函数。
2. switch语句switch语句是根据变量或表达式的值来选择执行不同的代码块,其语法格式如下:```cswitch(expression){case constant-expression :statement(s);break; //可选的 case 常量表达式case constant-expression :statement(s);break;default : //可选的 default 语句statement(s);}```switch(grade){case 'A' :printf("优秀\n" );break;case 'B' :case 'C' :printf("良好\n" );break;case 'D' :printf("及格\n" );break;case 'F' :printf("不及格\n" );break;default :printf("无效的成绩\n" );}上述程序中,变量grade的值为'B',switch语句根据其值来选择执行不同的代码块,由于grade的值是'B',所以执行case 'B'和case 'C'中的语句并输出"良好",最后输出变量grade的值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当执行到scanf( )语句时,就等待用户从键盘上输入r的值。 如输入数据:2↙ 则输出结果为:The area is 12.566360 再一次运行程序,若输入数据:5↙ 则输出结果为:The area is 78.539749
2019/1/12 9
scanf()函数的使用要点
1、格式符的个数必须与输入项的个数相等,数据类型必须从左
2019/1/12
5
3.2.1 数据输入的概念
表达式中参加运算的变量必须有确定的值。 考虑下面求圆面积的程序 #include <stdio.h> #define PI 3.14159 void main( ) { float r, area r=4; area=PI*r*r; printf(″The area is %f\n″,area); }
scanf(“a=%d,b=%d”,&a,&b); 输入格式 a=123,b=23
7、格式说明%*表示跳过对应的输入数据项不予读入。
如:scanf(“%2d %*2d %2d”,&a,&b); 若输入12 345 67 则12赋给a,67赋给b,而345没有赋给任何数据.
2019/1/12 12
例: #include <stdio.h> void main(void) { int a,b; char x,y; scanf(“%c%c”,&x,&y); scanf(“%d,%d”,&a,&b); printf(“%c%c”,x,y); printf(“%d%d”,a,b); }
2019/1/12
13
3.2.3 字符输入函数
getchar( ):用于输入一个字符常量。 无参数,函数的返回值就是从键盘输入的一个字符。 【例】 显示从键盘输入的一个字符。 #include <stdio.h> void main( ) { char c; c=getchar( ); printf(″%c″,c); } 程序中使用getchar( )从键盘的输入中得到一个字 符常量并赋给字符变量c,然后输出该字符。
确定输入、输出、定义算法
2.
画出程序的基本轮廓
设计处理过程
3.
用某种语言实现该程序
将思路转化为程序
2019/1/12
2
表达式语句
在表达式的后面加一个分号,可以构成一个简单语 句——表达式语句。 例如, a=a+c*(d+3) a=a+c*(d+3); a+b+c a+b+c; i++ i++; 函数调用也是表达式,在其后面加上一个分号, 就变成了函数调用语句。 printf(”hello!”); scanf(”%d”,&x);
2019/1/12 11
scanf()函数的使用要点
6、如果输入控制中除了格式说明之外,还包含其它字符,则输 入数据时,在与之对应的位置上也必须输入相同的字符。
如:scanf(“Enter a number: %d”,&x);输入格式 Enter a number:90 scanf(“%d%d”,&a,&b); scanf(“%d,%d”,&a,&b); 输入格式 122 23或 122回车23 输入格式 122,23
“输入控制”的含义与printf()函数的“输 出控制”相同,输入数据表列是一个或多个用逗 号分隔的变量的地址或字符串的首地址。
变量的地址可以通过地址运算符“&”得到。r 的地址就是&r。
2019/1/12 8
编写求圆面积的通用程序。
#include <stdio.h> #define PI 3.14159 void main( ) { float r,area scanf(″%f″,&r) area=PI*r*r printf(″The area is %f\n″,area); }
2019/1/12 6
缺陷与解决方法
缺陷:只能计算半径为固定值4的圆的面积,不 能输出其他不同半径的圆面积。 解决方法:加入数据输入语句。运行时,从外 部输入所需数据作为变量的值。
2019/1/12
7
3.2.2 scanf( )函数的调用
scanf( )函数的一般格式为:
scanf(″输入控制″,输入数据表列);
2019/1/12 3
复合语句
用花括号括起来的程序段就是复合语句。 { a=1.0; b=2.0; i++; } 一个复合语句在语法上等同于一个语句。
2019/1/12
4
3.2 scanf( )函数
3.2.1 3.2.2 3.2.3 3.2.4
数据输入的概念 scanf( )函数的调用 字符输入函数 字符输出函数
3.1 程序设计概述
程序设计的最终目的是能在计算机上计算出 正确的结果来。 1969年,Dijks 计程序。
2019/1/12
1
一个高质量的程序必须是运行可靠、清晰易读、 高效率和可适应性及可移植性的。 程序设计方法: 1.分析问题
至右一一对应。 2、用户可以指定输入数据的域宽,系统将自动按此域宽截取所 读入的数据,如: scanf(“%3d%3d”,&a,&b);
输入123456
系统自动将123赋值给a,将456赋值给b. 3、输入实型数据时,可以不带小数点,即按整型数方式输入。
2019/1/12
10
scanf()函数的使用要点
2019/1/12 14
3.2.4
字符输出函数
putchar( ):字符输出函数。 作用:向标准设备(通常是显示器)输出一个 字符。 putchar(c);