程序的三种基本结构
C语言程序的三种基本结构

C语⾔程序的三种基本结构1、程序结构:在C语⾔程序中,⼀共有三种程序结构:顺序结构、选择结构(分⽀结构)、循环结构; 顺序结构:从头到尾⼀句接着⼀句的执⾏下来,直到执⾏完最后⼀句; 选择结构:到某个节点后,会根据⼀次判断的结果来决定之后向哪⼀个分⽀⽅向执⾏; 循环结构:循环结构有⼀个循环体,循环体⾥是⼀段代码。
对于循环结构来说,关键在于根据判断的结果,来决定循环体执⾏多少次; 注:在逻辑上有⼀种bool类型(也叫boolean类型,布尔类型),只有两个值,即真和假。
C语⾔的判断表达式最终的值就是⼀个bool类型,这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环;2、顺序结构:顺序结构很简单,⼀般我们遇到的除了选择结构和循环结构外,都是顺序结构;3、选择结构:C语⾔中常⽤的选择结构主要有以下两种: (1) if else:引⼊关键字:if else else if if (bool值) // 如果bool值为真,则执⾏代码段1,否则执⾏代码段2 { 代码段1 } else { 代码段2 } if (bool值1) // 如果bool值1为真,则执⾏代码段1,否则判断bool值2是否为真 { 代码段1 } else if (bool值2) // 若bool值2为真则执⾏代码段2,否则直接执⾏代码段3 { // 开头的if和结尾的else都只能有⼀个,但是中间的else if可以有好多个 代码段2 } else { 代码段3 }1 #include <stdio.h>23int main(void)4 {5int a, b, max;67 a = 456;8 b = 45;910if (a > b) // 判断表⽰式11 {12 max = a;13 printf("true.\n");14 }15else if (a == b)16 {17 max = a;18 printf("a == b.\n");19 }20else21 {22 max = b;23 printf("false.\n");24 }2526 printf("max = %d.\n", max);2728return0;29 } (2) switch case:引⼊关键字:switch case break default switch (变量) // 执⾏到这⼀句时,变量的值是已知的 { // switch case语句执⾏时,会⽤该变量的值依次与各个case后的常数去对⽐,试图找到第⼀个匹配项,找到匹配的项⽬后, case 常数1: // 就去执⾏该case对应的代码段,如果没找到则继续下⼀个case,直到default 代码段1; // 如果前⾯的case都未匹配,则default匹配。
pascal 顺序结构与基本数据类型

顺序结构与基本数据类型一、程序的三种基本结构1、顺序结构:按照语句的书写顺序,依次执行。
2、选择结构(分支结构):根据给定的条件,判断成立与否,成立做一件事,不成立做另外一件事。
两件事必须做一件且只能做一件。
3、循环结构(重复结构):重复做某件事。
3种:①计数循环:重复执行的次数确定;②当型循环:当条件成立时,反复做某件事;③直到型循环:反复做某件事,直到条件成立时为止。
二、PASCAL标准数据类型及函数:1、实型(real)表示方法:小数表示法和指数表示法(科学表示法)。
如:1.25(1.25e0),132.67(1.3267e+2),0.0025(2.5e-3),-1.56(-1.56e0),0.0(0e0) 实型量运算:+(加)、-(减)、*(乘)、/(除)实型量标准函数:abs(绝对值),sqr(平方),sqrt(开方),sin(正弦),cos(余弦),arctan(反正切),exp(以e为底的指数),ln(自然对数),trunc(取整),round(舍入取整),int(取整)注:所有函数的自变量必须写在括号中。
例如:Sin2x 应写成sin(2*x) (a+b)2应写成sqr(a+b)Sin,cos函数的自变量应为弧度。
若是度,应转换为弧度。
例如:Sin32o15’应写成sin(32.15*3.14159/180)Tanx 应写成sin(x)/cos(x)e2.5应写成exp(2.5)lnx应写成ln(x) lgx 应写成ln(x) /ln(10)x y 应写成exp(y*ln(x))int直接取整数部分(其结果为实型)、trunc去掉小数部分,取其整数。
Round是将小数部分四舍五入后变为整数。
例如:trunc(1.2)=1 round(1.2)=1trunc(1.7)=1 round(1.7)=2trunc(-3.7)=-3 round(-3.7)=-42、整型(integer)正、负数和0.整型量运算:+(加)、-(减)、*(乘)、div(整除)、mod(取余)整型量标准函数:abs(绝对值),sqr(平方),pred(前导),succ(后继),odd(奇函数),chr(取字符)例如:pred(前导),取自变量前一个值。
程序的三种基本结构PPT精选课件

1. 输入一个分数score
2 .score<60
输出 E
3 .60<=score <70 输出 D
4. 70<=score <80 输出 C
5 .80<=score <90 输出 B
6 .90<=score
输出 A
11
#include<stdio.h>
main( )
{ int score;
程序
scanf(“%d”, &score);
}
假 表达式
语句2
8
输入两个数, 比较其大小, 将较大的数输出。
流程分析: (1) 输入两个数据a,b ; (2) 如果a>b 则输出a ;否则,输出b。
#include <stdio.h> main( ) { float a, b; scanf(“%f, %f”,&a, &b); if (a>b) printf (“%f”, a ); else printf (“%f”, b ); }
if ( score<60) printf(“E” );
else if ( score <70)
printf(“D” );
else if (score <80)
printf(“C” );
else if (score <90)
printf(“B” );
else
printf(“A” );
}
12
说明: if后面的表达式类型任意
• 运行情况如下: 3,7,1
7
• 1, 3, 7
•2.双分支选择语句的形式:
•if(表达式) 语句1 else 语句2
程序的基本结构

输入两个数(均不为零)及一个算术运算符,输出其运算的结果 程序代码: 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)
程序的三种基本结构.ppt

B
真 P假 AB
多分支选择结构
k
k=k1 k=k2
A1
A2 ...
k=kn k=ki
Ai ... An
循环结构 当型循环结构
假 P
真
A
当P为真 A
直到型循环结构
A
假 P 真
A 直到P为真
注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构
第5章 选择语句
• 5.1 if 条件语句 • 5.2 switch多分支选择语句 • 5.3 程序举例
1. 输入一个分数score
2 .score<60
输出 E
3 .60<=score <70 输出 D
4. 70<=score <80 输出 C
5 .80<=score <90 输出 B
6 .90<=score
输出 A
#include<stdio.h>
main( )
{ int score;
程序
scanf(“%d”, &score);
0(N) 表达式
1(Y)
if (x < 0) y = 3 - x ;
语句Biblioteka printf(“y= %6.2f”, y );
}
任给a,b,c三个数,按从小到大的顺序输出。
分析: (1)对于a,b任意两个数:
若a<b,则输出 a , b ; 否则输出 b , a ;
( 2 ) 对于三个数,有6种可能: a<b<c a<c<b b<a<c b<c<a c<a<b c<b<a
程序设计的三种基本算法结构

程序设计的三种基本算法结构
1 顺序算法结构
顺序算法结构是解决问题最基本的方式。
基本思想是按照给定的
顺序,按顺序来处理数据,并以次累计得到最终的解决方案。
它的步
骤存在一定的先后次序,通常按照顺序逐个做出来,不存在分支。
实
现一个算法一般要从收集问题说明、分析和解决思路、产生程序开发
计划、代码实现和调试等方面进行。
2 选择算法结构
选择算法结构也叫分支结构,是指程序中不断做比较、判断,依
据不同的结果,选择不同程序或者流程作为完成最终任务的一种结构。
它定义一系列的条件,比较符合每个分支条件的操作,一旦符合就做
出指定的动作,如果没有任何一个分支条件被满足,程序就继续执行
下面的语句。
3 循环算法结构
循环算法结构是反复执行一部分语句的结构。
循环的基本原理是
反复执行一组语句,直到满足某一条件停止,它是程序设计中最常见
的算法结构,它提高了问题解决的效率,也便于重复内容的处理。
循
环分为四种,while、do while、for和 repeat,它们分别表示当某条件为真时,执行某一段语句,那么就可以使用循环结构实现。
综上,算法结构分顺序算法结构、选择算法结构和循环算法结构三种基本结构,它们在计算机程序设计中扮演着重要的角色,有助于加快程序的执行,提高计算机的计算速度。
程序的三种基本结构

假 表达式
语句2
输入两个数, 比较其大小, 将较大的数输出。
流程分析: (1) 输入两个数据a,b ; (2) 如果a>b 则输出a ;否则,输出b。
#include <stdio.h> main( ) { float a, b; scanf(“%f, %f”,&a, &b); if (a>b) printf (“%f”, a ); else printf (“%f”, b ); }
下一页
看下面的例子
switch ( i )
{case 1:printf(″A\n″);
case 2: printf (″ B\n ″);
case 3:printf( ″C\n″);
case 4:printf(″D\n″);
default:printf(″E\n″);
}
假设i=3时,则会从i=3 时做起始语句。运行结 果见右图。如果给每条 语句加上break这样就 只执行一条语句。
printf(“a!=b”);
正
确 配
修改: if (a==b)
对 方
{ if(b==c)
法
printf(“a==b==c”);
}
else
printf(“a!=b”);
实现if ~ else 正确配对方法:加{ }
•
5.2 switch语句
• switch语句是多分支选择语句。if语句只有两个分支可供选择, 而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(90分 以为‘A’等,80~89分为‘B’等,70~79分为‘c’ 等,……);人口统
X<Y
scanf("%d,%d",&x,&y); if(x!=y)
c语言的三种基本程序结构

c语言的三种基本程序结构C语言作为一种常用的程序设计语言,拥有着丰富的特性和结构,但其中最为基础和核心的就是其三种基本程序结构。
这三种基本程序结构是顺序结构、选择结构和循环结构。
它们的存在使得程序能够按照一定的逻辑顺序执行,实现各种不同的功能和任务。
一、顺序结构顺序结构是最简单直观的一种程序结构,它按照代码的书写顺序依次执行每一条语句。
这种结构的特点是代码按照顺序一行接一行地执行,没有跳转和判断。
以下是一个使用顺序结构的C语言程序示例:```c#include <stdio.h>int main() {// 打印欢迎信息printf("欢迎使用C语言程序!\n");// 获取用户输入int num;printf("请输入一个整数:");scanf("%d", &num);// 判断输入是否为正数if (num > 0) {printf("您输入的是正数。
\n");} else {printf("您输入的不是正数。
\n");}// 结束程序return 0;}```在这个示例中,程序从上至下逐行执行,按照固定的顺序输出欢迎信息,获取用户输入,判断输入是否为正数,并输出相应的结果。
二、选择结构选择结构是根据条件判断来选择执行的不同语句块,也被称为分支结构。
常用的选择结构语句包括if语句、if-else语句、switch语句等。
下面是一个使用选择结构的C语言程序示例:```c#include <stdio.h>int main() {// 获取用户年龄int age;printf("请输入您的年龄:");scanf("%d", &age);// 根据不同年龄段输出不同的信息if (age < 18) {printf("您还未成年,不能参加某某活动。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(!x) if(3) if(pxr=in=tf0()“OK”); 例 考i虑f(‘下a’)面程pri序ntf的(“输%d出”,结’a’果); :
#include <stdio.h> main() { int x,y;
[例5.2」输入三个数,按由小到大顺序输出。 •main( ) •{int a,b,c,temp; •printf("Input a,b,c:\n"); •scanf("%d,%d,%d",&a,&b,&c); •if(a>b) • {temp=a;a=b;b=temp;} •if(a>c) • {temp=a;a=c;c=temp;} •if(b>c) • {temp=b;b=c;c=temp;} •printf("%d,%d,%d",a,b,c); •}
0(N) 表达式
1(Y) 语句
任给a,b,c三个数,按从小到大的顺序输出。
分析: (1)对于a,b任意两个数: 若a<b,则输出 a , b ; 否则输出 b , a ;
( 2 ) 对于三个数,有6种可能: a<b<c a<c<b b<a<c b<c<a c<a<b c<b<a
( 3 )使用判断——交换法: 1.若a>b,则交换a和b,交换后a<b 2.若a>c,则交换a和c,交换后a<c 3.若b>c,则交换b和c,交换后b<c
scanf(“%d,%d”,&x,&y); if(x>y)
x=y; y=x; else
x++; y++; printf(“%d,%d\n”,x,y); }
Compile Error!
句嵌套
5.1.2 一般形式:
if (expr1) if (expr2) statement1 else statement2
程序的三种基本结构
• 结构化程序设计
• 基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto) • 结构化程序:由三种基本结构反复嵌套构成的程序叫~ • 优点:结构清晰,易读,提高程序设计质量和效率
• 三种基本结构
• 顺序结构
A
流程图
B
A B
N-S图
二分支选择结构
真
假
P
A
• 运行情况如下: 3,7,1 • 1, 3, 7
•2.双分支选择语句的形式:
•if(表达式) 语句1 else 语句2
•
见图:
main()
真
{ float x , y; scanf(“%f ”, &x);
if ( x < 0 ) y = 3 - x ;
语句1
else y = 2 * x ; printf(“y= %6.2f”, y );
1. 输入一个分数score
2 .score<60
输出 E
3 .60<=score <70 输出 D
4. 70<=score <80 输出 C
5 .80<=score <90 输出 B
6 .90<=score
输出 A
#include<stdio.h>
main( )
{ int score;
程序
scanf(“%d”, &score);
statement2
else
if(expr3) statement3
else
statement4
内嵌if
内嵌if 内嵌if
入两数并判断其大小关系
/*ch4_4.c*/ #include <stdio.h> main() { int x,y;
printf("Enter integer x,y:"); scanf("%d,%d",&x,&y); if(x!=y)
B
真
P
假
A
B
多分支选择结构
k k=k1
k=k2
A1
A2
...
k=kn k=ki
Ai
...
An
循环结构 当型循环结构
假 P
真
A
当P为真 A
直到型循环结构
A
假 P 真
A 直到P为真
注:A,B,A1….An可以是一个简单语句,也可以是一个基本结构
第5章 选择语句
• 5.1 if 条件语句 • 5.2 switch多分支选择语句 • 5.3 程序举例
}
表达式
假 语句2
输入两个数, 比较其大小, 将较大的数输出。
流程分析: (1) 输入两个数据a,b ; (2) 如果a>b 则输出a ;否则,输出b。
#include <stdio.h> main( ) { float a, b; scanf(“%f, %f”,&a, &b); if (a>b) printf (“%f”, a ); else printf (“%f”, b ); }
if (expr1) statement1
else if(expr3) statement3 else statement4
内嵌if
if (expr1) if (expr2) statement1
else statement3
内嵌if
if (expr1)
if (expr2) statement1
else
• 3.多分支选择语句的形式:
• if (表达式1)
语句1
• else if (表达式2)
语句2
•
else if(表达式3)
语句3
•
else if (表达式m)
语句m
•
else
语句n
•
流程图
F
表达式1
T
表达式2
T
表达式3
T
语句1
语句2
语句3
F
表达式4 T
语句4
F 语句5
多分支问题
写一个程序完成下列功能:
返回
5.1 if条件语句
•if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。
5.1.1 if语句的三种形式
•1.单分支选择语句的形式: if(表达式) 语句
•
这种if语句的执行过程见图:
main( ) { float x , y;
scanf(“%f ”, &x); if (x>=0) y = 2 * x ; if (x < 0) y = 3 - x ; printf(“y= %6.2f”, y ); }
if ( score<60) printf(“E” );
else if ( score <70)
printf(“D” );
else if (score <80)
printf(“C” );
else if (score <90)
printf(“B” );
else
printf(“A” );
}
说明: if后面的表达式类型任意