C语言-程序的控制结构-选择控制结构

合集下载

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

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

布尔表达式练习
?-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选择控制结构选择控制结构又称分支结构它体现了程序运行过程中的自我判断能力程序可以根据当前执行的某个条件进行比较判断并依据判断的结果成立与否来决定下一步做什么不做什么在两条或多条程序路径中选择一条来执行即只执行程序中的一部分语句可见在此结构的程序运行过程中有些语句会执行一次有些语句在此次程序运行过程中没有机会执行

C语言程序设计 选择控制结构(5.1.2)--5.1节-5.8节

C语言程序设计 选择控制结构(5.1.2)--5.1节-5.8节

3 main()
4{
5
float data1, data2;
6
char op;
7
printf("Please enter the expression:\n");
8
scanf("%f %c%f", &data1, &op, &data2); /* %c前有一个空格 */
9
switch (op)
10
{
2 main()
3{
4
int a, b, max;
5
printf("Input a, b:");
6
scanf("%d,%d", &a, &b);
7
max = a > b ? a : b;
8
printf("max = %d\n", max);
9}
/* 用条件表达式计算两整数的最大值* /
【例题解析】相比于前两种的方法而言,本例使用条件表达式的方法编写的程序更简洁。
Invalid operator!
【例题解析】用 default 标号后的语句来处理输入非法运算符的情况,使程序不仅对用户
正确的输入数据进行运算外,还对错误的输入数据进行错误处理,从而保证了程序的健壮
性。每个 case 后的常量值必须互不相同,出现次序发生改变时,不影响程序的运行结果,
但从执行效率角度考虑,一般将发生频率高的情况放在前面。 程序第 12、15、18、28 行的
9
printf("max = %d\n", max);
10 }
程序的运行结果如下:

C语言选择结构

C语言选择结构

C语言选择结构选择结构是C语言中的一种流程控制结构,用于根据给定的条件选择不同的执行路径。

本文将详细介绍C语言中的选择结构以及其使用。

选择结构主要包括if语句、if-else语句、else if语句和switch 语句。

1. if语句if语句是最简单的选择结构,用于根据给定条件决定是否执行段代码。

其语法结构为:if (condition)//如果条件为真,执行这里的代码其中,condition是一个表达式,如果它的值为真,则执行if语句中的代码块。

if语句也可以与else语句结合使用,使得在条件为假时执行不同的代码块。

2.if-else语句if-else语句是在if语句的基础上增加了一个分支,用于在条件为假时执行另外一段代码。

其语法结构为:if (condition)//如果条件为真,执行这里的代码else//如果条件为假,执行这里的代码如果if语句的条件为真,则执行if语句中的代码块,否则执行else语句中的代码块。

3.else if语句else if语句用于在多个条件之间进行选择,并根据不同的条件执行相应的代码块。

其语法结构为:if (condition1)//如果条件1为真,执行这里的代码else if (condition2)//如果条件1为假,条件2为真,执行这里的代码else//如果条件1和条件2都为假,执行这里的代码在多个else if语句中,只有第一个满足条件的语句会被执行,其他的else if和else语句会被忽略。

4.switch语句switch语句是用来根据不同的取值来执行不同的代码块。

其语法结构为:switch (expression)case constant1:// 如果expression的值等于constant1,执行这里的代码break;case constant2:// 如果expression的值等于constant2,执行这里的代码break;...default:// 如果expression的值与之前的常量都不匹配,执行这里的代码expression 表达式的值会与每个 case 后面的常量进行比较,如果匹配则执行相应的代码块,可以使用 break 语句来跳出 switch 代码块。

C语言程序设计教案第2章4 -6

C语言程序设计教案第2章4 -6
(2)表达式的名称和运算结果是由优先级最低的运算符决定的。
(3)关系或逻辑表达式的值只有两个:真(非零)和假(零)。
(4)分析复杂表达式时,应先找优先级别最高的运算符,同时,注意”()”的优先级别很高,它往往可以改变表达式的运算次序。通过分析复杂表达的运算逻辑,推导出短路原则。
(5)编写一个输出复杂表达式的值及每个参与变量的值的程序。预估程序结果,然后与实验结果对比,从而深入理解短路原则及表达式的运算规律。
【问题】ppt中的程序有哪些错误
【实践】基于强制类型范围缩放数据处理技术的成绩分档程序的设计与实现
授课阶段总结
本节内容以实践为主,以当前所学的知识点,学生可以组织起一个逻辑上相对完整的程序,所以本小节以程序设计思维的训练为重点内容。首先,引导学生设计一个可以进行人机交互的界面—编写一个计算器的菜单,通过选择进行计算,把第一章的计算语句copy到适当的位置(增量开发)。然后,运用本章的知识点,设计具有一定的容错能力和设计技巧(强制类型转换与归一化处理)的学生成绩分档程序。两个例子都用到了本章所介绍的if和switch嵌套句型。
2.4 应用实例(1学时)
教学内容
(1)计算器程序设计。
(2)强制类型转换。首先讲解数据类型之间的转换规则,然后讲解转换的方法及用途。
(3)学生成绩档案管理—成绩等级划分。
讲解思路
(1)本小节主讲设计思想,所以每一个例题都必须有流程图来表达设计思想,通过讲解流程图帮学生梳理思路。然后,把对编程实现时用到技巧及难点进行讲解。
(2)掌握switch多路选择语句,在解决问题时,能够正确选择switch和if语句。
(3)掌握选择语句的流程图的算法描述方法
重点:if选择结构和switch选择结构。

C语言程序控制结构(zhh)

C语言程序控制结构(zhh)

否构成三角形。
如果能构成三角 形则计算面积,
否则给出相应信
息。
#include <math.h> #include<stdio.h> void main( ) { float a,b,c,s,area; scanf("%f,%f,%f",&a,&b,&c); if(a+b>c&&b+c>a&&a+c>b) { s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%7.2f\n",area); } else printf(“input data error”); } 25
int s;
scanf(“%d”,&s); if(s>=90) printf(“A”);
else if(s>=80) printf(“B”);
else if(s>=70) printf(“C”); else if(s>=60) printf(“D”); else printf(“E”); }
if(s>=80) printf(“B”);
11
第三章 程序控制结构
条件运算符和条件表达式

条件运算符
?:

条件表达式的形式为:
if 表达式1!=0 表达式2 else 表达式3

表达式1?表达式2:表达式3 这就是条件表达式,先计算表达式1,若其 值为非零,则结果为表达式2的值,否则就 是表达式3的值。
12
第三章 程序控制结构

用条件运算符实现例3-1。 #include <stdio.h> void main() { int a,b,max; scanf("%d,%d",&a,&b); max = a > b ? a : b; printf("max= %d\n",max); }

C语言程序控制结构

C语言程序控制结构

C语言程序控制结构C语言是一种面向过程的编程语言,具有丰富的程序控制结构,可以控制程序的执行流程和逻辑。

本文将介绍C语言的常见控制结构,包括顺序结构、选择结构和循环结构,并提供示例代码进行说明。

1.顺序结构:顺序结构是程序中最简单的结构,按照代码的编写顺序一行接一行地执行。

每个语句都会顺序执行,直到程序结束。

例如:```c#include <stdio.h>int maiprintf("Hello, World!\n"); // 打印输出int x = 10; // 定义一个变量 x,并赋值为 10int y = 20; // 定义一个变量 y,并赋值为 20int sum = x + y; // 将 x 和 y 相加,保存到 sum 变量中printf("Sum: %d\n", sum); // 打印输出 sum 的值return 0;```2.选择结构:选择结构根据条件的真假选择不同的执行路径。

常见的选择结构有if 语句和 switch 语句。

2.1 if 语句:if 语句根据条件执行或跳过一段代码。

如果条件为真,则执行 if 代码块中的语句;如果条件为假,则跳过 if 代码块。

例如:```c#include <stdio.h>int maiint x = 10;if (x > 0) { // 如果 x 大于 0printf("x is positive\n"); // 打印输出} else { // 否则printf("x is non-positive\n"); // 打印输出}return 0;```2.2 switch 语句:switch 语句根据表达式的值选择不同的执行路径。

通常使用 switch 语句来处理多个条件的情况。

例如:```c#include <stdio.h>int maiint day = 3;switch (day)case 1:printf("Monday\n");break;case 2:printf("Tuesday\n");break;case 3:printf("Wednesday\n");break;default:printf("Other day\n");break;}return 0;```3.循环结构:循环结构用于重复执行一段代码,直到满足特定条件。

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。

它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。

1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。

其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。

1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。

每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。

1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。

通过运算符和表达式可以进行各种数值计算和逻辑判断。

第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。

整型数据类型可以表示整数值,并具有不同的取值范围。

2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。

浮点型数据可以表示较大或较小的数值,并具有一定的精度。

2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。

字符型数据可以用于表示各种字符(包括字母、数字、符号等)。

2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。

c语言的三种结构

c语言的三种结构

c语言的三种结构
作为一种程序设计语言,C语言包含了三种基础的控制结构,分别是顺序结构、选择结构和循环结构。

顺序结构是最基本的程序结构,程序会按照编写的顺序依次执行语句。

就像我们日常生活中做事情的步骤一样,编写程序也需要有顺序。

例如,我们在编程时,首先需要定义变量,然后将值赋给变量,最后再运行程序,这个过程就是一个典
型的顺序结构。

选择结构是根据条件来确定执行哪部分代码,也就是具有选择性的执行语句。

典型的选择结构语句有if语句、switch语句。

其中,if语句是最基本的选择结构,
它的作用就是来决定程序是否执行某个语句。

而switch语句可以用来实现多重选择,相比if语句可以处理的情况更多。

循环结构则是程序中常见的一种结构,它能使程序反复执行某段代码直到满足停止的条件。

在C语言中,常见的循环结构语句有for语句、while语句、do-while 语句。

for语句是最基本的循环结构,它和while语句的区别在于,for语句在循环
开始前就确定了循环的次数,而while语句则是在每次循环的时候都会检查循环条件。

而相比于while语句,do-while语句至少会执行一次,即使条件在一开始就不
满足。

总的来说,顺序结构、选择结构和循环结构是C语言中的三种关键的控制结构,通过它们组合与嵌套,可以实现各种复杂的程序功能。

程序控制结构

程序控制结构

程序控制结构一、什么是程序控制结构程序控制结构是编程语言中用于控制程序执行流程的语法结构。

通过使用程序控制结构,程序员可以根据不同的条件或情况,决定程序中的不同执行路径,从而实现程序的灵活性和逻辑性。

二、程序控制结构的分类程序控制结构可分为顺序结构、选择结构和循环结构三种。

1. 顺序结构顺序结构是最简单的程序控制结构,程序按照顺序执行,没有分支或循环。

顺序结构中的语句按照其在程序中出现的顺序依次执行,直到程序结束。

2. 选择结构选择结构根据条件的真假来选择不同的执行路径。

常见的选择结构有if语句和switch语句。

2.1 if语句if语句根据条件的真假执行不同的代码块。

语法结构如下:if (条件) {// 条件为真时执行的代码块} else {// 条件为假时执行的代码块}if语句可以嵌套使用,形成多重选择结构。

2.2 switch语句switch语句根据表达式的值选择不同的代码块执行。

语法结构如下:switch (表达式) {case 值1:// 表达式等于值1时执行的代码块break;case 值2:// 表达式等于值2时执行的代码块break;default:// 表达式不等于任何一个case时执行的代码块break;}switch语句中的case语句可以有多个,并且可以使用break语句来终止当前case 的执行。

3. 循环结构循环结构允许程序重复执行某一段代码,直到满足退出条件。

常见的循环结构有while循环、do-while循环和for循环。

3.1 while循环while循环在执行循环体之前先检查条件是否为真,如果为真则执行循环体,然后再次检查条件。

只有当条件为假时,循环才会结束。

语法结构如下:while (条件) {// 循环体}3.2 do-while循环do-while循环先执行循环体,然后再检查条件是否为真。

只有当条件为真时,循环才会继续执行。

语法结构如下:do {// 循环体} while (条件);3.3 for循环for循环在执行循环体之前先执行初始化语句,然后检查条件是否为真。

第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)

c语言-选择控制结构

c语言-选择控制结构

用于双分支控制的条件语句 ( Double Selection)
Pseudocode Structure
Step a if <condition is true> start
Step m Step n end_if else start Step x Step y end_else Step z
Step a
Don’t forget the parentheses !!
Don’t forget the braces !!
单分支(1):计算两整数的最大值
#include <stdio.h> main() {
int a, b, max; printf("Input a,b:"); scanf("%d%d", &a, &b); if (a > b) max = a; if (a <= b) max = b; printf("max = %d\n", max); }
Input
Processຫໍສະໝຸດ Output• quantity • pricePerkg
price = quantity * pricePerkg
price
First identify the input and output of the problem.
给变量赋值
◦ 赋值表达式语句
赋值表达式 ;
A
price = quantity*pricePerkg;
int number; printf("Enter a number: "); scanf("%d", &number); if(number % 2 == 0) {

计算机等级考试二级C语言第2讲 程序控制结构

计算机等级考试二级C语言第2讲 程序控制结构

}
return 0; }
对吗?
(3)if…else if语句 在C++程序还经常使用如下结构: if(表达式1)语句1
else if(表达式 2)语句 2 else if(表达式3)语句 3
… else if(表达式n)语句 n
else语句n+1 这种嵌套的if语句构成的序列是编写多路判定的最一般的方法。
printf("%d\n",d); } 程序运行后的输出结果是 A) 2 B) 3 C) 43 D) 44
当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为 if(a<b)
if(c<d) x=1; else
if(a<c) if(b<d) x=2; else x=3;
else x=6; else x=7; A.1 B.2 C.3 D.6
大纲内容
四、选择结构程序设计 1.用 if 语句实现选择结构。 2.用 switch语句实现多分支选择结构。 3.选择结构的嵌套。 五、循环结构程序设计 1.for 循环结构。 2.while 和 do-while循环结构。 3.continue语句和 break语句。 4. 循环的嵌套。
1. 用 if 语句实现选择结构
printf(“%d\n”,k);
A.-1
B.0
C.9
D.28 D.10
有以下程序 main() { int k=5,n=0;
while(k>0) { switch(k)
{ default : break; case 1 : n+=k; case 2 : case 3 : n+=k;
} k--; } printf("%d\n",n); } 程序运行后的输出结果是 A)0 B)4 C)6 D)7

【c语言程序设计】选择结构程序设计

【c语言程序设计】选择结构程序设计

【c语言程序设计】选择结构程序设计C语言程序设计 - 选择结构程序设计C语言是一种通用的程序设计语言,广泛应用于计算机科学和软件开发领域。

选择结构是C语言中的一种重要控制结构,用于根据条件的真假来决定程序运行的路径。

本文将介绍选择结构在C语言程序设计中的应用以及相关的编程技巧。

一、IF语句IF语句是最简单的选择结构,用于根据一个条件的真假来决定程序的下一步动作。

它的基本语法如下:if (条件) {// 如果条件为真,执行这里的代码}例如,如果我们想判断一个数字是否为正数,可以使用如下的C代码:```c#include <stdio.h>int main() {int num;printf("请输入一个数字:");scanf("%d", &num);if (num > 0) {printf("这是一个正数。

\n");}return 0;}```上述代码中,用户输入一个数字,程序会判断这个数字是否大于0,如果是,则输出"这是一个正数"。

二、IF-ELSE语句IF-ELSE语句是在条件为真或假的情况下,分别执行不同的代码块。

它的基本语法如下:if (条件) {// 如果条件为真,执行这里的代码} else {// 如果条件为假,执行这里的代码}例如,我们想判断一个数字是否为奇数,可以使用如下的C代码:```c#include <stdio.h>int main() {int num;printf("请输入一个数字:");scanf("%d", &num);if (num % 2 == 0) {printf("这是一个偶数。

\n");} else {printf("这是一个奇数。

\n");}return 0;}```上述代码中,用户输入一个数字,程序会通过判断这个数字是否能被2整除来确定是奇数还是偶数,并输出相应的结果。

程序的三种基本控制结构

程序的三种基本控制结构

程序的三种基本控制结构顺序结构选择结构循环结构一、顺序结构:顺序语句由语句序列组成,程序执行时,按照语句的顺序,从上而下,一条一条地顺序执行如:store 'Visual FoxPro' to nameAge = 4'My name is ' + name + ', I am ' ;+ str(Age) + ' years old'二、选择结构:分支语句根据一定的条件决定执行哪一部分的语句序列。

1、单分支结构格式:if<条件><语句序列>endif例程1:clearuse sbwait ‘是否打印?(y/n)’to aif upper(a)=’Y’wait ‘请接好打印机!按任意键后打印’list to printendif2、双分支选择格式:if<条件><语句序列1>else<语句序列2>endif例程2:clearset talk offaccept ‘请输入密码:’ to mmif mm<>’abc’’你无权使用本系统’quitelse’欢迎使用本系统’endifset talk onif语句的嵌套:在一个if语句中包含另一个语句的程序结构例程3:根据输入的x值,计算下面分段函数的值,并显示结果。

2x-5 (x<1)Y=2x (1<=x<10)2x+5 (x>=10)input ‘请输入x的值:’to xif x<1y=2*x-5elseif x<10y=2*xelsey=2*x+5endifendif?’分段函数的值为’+str(y)3、多分支结构格式:DO CASECASE 〈逻辑表达式1〉〈语句组1〉CASE 〈逻辑表达式2〉〈语句组2〉…CASE 〈逻辑表达式n〉〈语句组n〉[OTHERWISE]〈语句组〉ENDCASE3 / 35。

c语言程序设计的三种基本结构

c语言程序设计的三种基本结构

c语言程序设计的三种基本结构
C语言程序设计的三种基本结构是顺序结构、选择结构、循环结构,它们是用来控制程序的控制结构。

顺序结构是汇编的一种基本语句,它是按程序的书写顺序从上而下执行的,也就是按书写程序的步骤和顺序执行的,可以把它看作是一条简单的无条件的执行路径。

在顺序结构中,程序按书写顺序按步骤执行,也就是一个顺序执行的过程,每一步必须按书写顺序被依次执行完成。

选择结构,也叫判断结构或条件结构,是基于一定条件选择不同程序段执行的结构,它通过判断要进行的操作,加以控制选择结构的程序段的执行顺序,从而实现不同的判断功能。

对于C语言,选择结构提供了两个结构形式,一个是IF结构,另一个是SWITCH结构,它们具有相同的功能。

循环结构是C语言控制程序中最为重要的一种控制结构,它既可以控制指定量次数的程序段按规定顺序循环执行,又可以控制程序段按照某一条件不断循环执行,直到某个条件不再满足为止。

C语言有三种循环结构,分别是FOR循环、WHILE循环和DO…WH ILE循环。

C语言结构化程序设计的三种结构

C语言结构化程序设计的三种结构

4.2.3算法的伪代码表示
伪代码是对自然语言表示的改进,给自然语言加上了形式化的 框架,以一种简单、容易理解的方式描述算法的逻辑过程,用 伪代码表示的算法无二义性,易于理解。
使用伪代码表示算法无需遵守严格的语法规则,只要完整表达 了意思,书写清晰,容易阅读和读懂即可,举例来说:
用户输入 如果(用户输入的是字符Y) 执行B操作 否则 执行C操作 上述代码便采用了伪代码表示方式,完成了一种简单的分支选
4.2.6取三个数种的最小数
4.3顺序结构设计
A A
B
B
4.3.1顺序结构案例实践
从1加到5,分步顺序执行
int i=0; i+=1; i+=2; i+=3; i+=4; i+=5;
4.4.1分支结构
1
实现单分支选择的形式
2
实现双分支选择的形式
3
实现多分支选择的形式
4.4.2if语句之单分支选择结构
4.4.15 break语句
❖ 一般形式:
❖ 功能:
break;
终止switch语句的执行。为了执行完某个分支
后跳出switch结构,应在其后加上break语句。
4.4.16-break的怪事
把代码中的break都删除或注释掉后,编 译链接并不会出错,只是执行时,结果 不太一样。
我们亲自动手实践一下。 这就是说,如果不使用break语句,那么
4.5.3while 语句——“当型”循环结构
❖ 一般形式: while (表达式) 语句
❖ 说明: “表达式”为循环条件; “语句”为循环体。
❖ 特点: 先判断表达式,后执行语句。
34
=0
表达式

第4章c语言的三种基本结构

第4章c语言的三种基本结构

程序1: /*exp51.c*/ #include <stdio.h> main ( ) { int x, y;
scanf(“%d", &x); if (x<0)
y= -1; else if (x==0)
y=0; else
y=1; printf ("x=%d, y=%d\n", x, y); }
程序2:将程序1的if语句改为: /*exp52.c*/ #include <stdio.h> main ( ) { int x, y; scanf(“%d", &x); if (x>=0)
1. 顺序结构 先执行A, 再执行B.
A 表示 A B
B
2. 选择结构 存在某条件P, 若P为真,则执行A, 否则执行B。
TP F
A
B
表示为
TP F AB
另一种选择结构––多分支结构.
K
K=K1 K=K2
K=Kn
A1 A2 … Ai … An
3. 循环结构
有两种结构:当型和直到型 (1) 当型结构
例:计算10!并输出结果。
main()
main()
{
{
int i=1, sum=1;
int i=1; long sum=1;
loop: if (i<=10)
loop: if (i<=10)
{
{
sum=sum*i;
sum=sum*i;
i++;
i++;
goto loop;
goto loop;
}
}
printf(“10!=%d\n”,sum); printf(“10!=%ld\n”,sum
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

尽量使用最少的操作数来确定表达式的值,这就 意味着表达式中的某些操作数可能不会被计算
2020/5/7
19/79
复合表达式(Compound Expression) 的值
Example:
(c >= ( b * 3 ) ) || (a == 3)
( c >= ( 5 * 3 ) ) || ( a == 3) ( 15 >= 15 ) || ( a == 3) 1 || ( a == 3 )
Process
????
Output
max
2020/5/7
12/79
选择结构(分支结构) (Selection Structure)
Single
Multiple
Selection Double Selection Selection
if
2020/5/7
if – else - if if - else
8. End
2020/5/7
4/79
‘Divide and Conquer’ Strategy
(分治策略)
Problem: 准备早餐( Prepare a Breakfast)
1. Start 2. 准备早餐 3. End
2020/5/7
5/79
‘Divide and Conquer’ Strategy
逻辑运算符与表达式 ( Logical Operators )
ch是大写英文字母
(ch >= 'A') && (ch <= 'Z')
判断某一年year是否是闰年的条件是满足下列二者之一 – 能被4整除,但不能被100整除; – 能被400整除;
year%4==0 && year%100!=0 || year%400==0 优先级: % == (!=) && ||
【例】计算两整数的最大值
void main() {
int a, b, max; printf(“Input a,b: “); scanf(“%d,%d”, &a, &b); max = b; if (a > b)
max = a; printf(“max = %d\n”, max); }
Input a,b: 2_0 15
(分治策略)
1. Start 2. 准备早餐
2.1 准备一个金枪鱼三明治 2.2 准备一些薯条 2.3 冲一杯咖啡 3. End
2020/5/7
6/79
‘Divide and Conquer’ Strategy
(分治策略)
1. Start 2.准备早餐
2.1 准备一个金枪鱼三明治 2.1.1 拿来两片面包 2.1.2 准备一些金枪鱼酱
a2 b5 c 15 d 17
2020/5/7
18/79
复合表达式(Compound Expression) 的值
Example:
(a >= 1) && (b++ == 5)
a0
( 0 >= 1 ) && ( b++ == 5 ) 0 && ( b++ == 5 ) 0
b5 c 15 d 17
Examples of Expression
6<9 5 <= 5 2>6 9 >= 5 7 == 5 6 != 5
Value
1 (true) 1 (true) 0 (false) 1 (true) 0 (false) 1 (true)
14/79
逻辑运算符与表达式 ( Logical Operators ) *
Sstep a
true
condition
false
Sstep m Sstep n
Sstteepp bx
22/79
if Statement
The structure is sim表i达lar式to非si0n为gl真e selection (flowchart)
Syntax: if (expression) statement;
a2 b5 c 15 d 17
2020/5/7
21/79
用于单分支控制的条件语句 (Single Selection)
Pseudocode Structure
step a if <condition is true> start
step m step n end_if step b
2020/5/7
Syntax: if (expression) statement;
or if (expression) { statement1; statement2; }
2020/5/7
Don’t forget the parentheses !!
Don’t forget the braces !!
24/79
}
Input a,b: 2_0 15
m_ ax = 20 _
2020/5/7
26/79
用于双分支控制的条件语句 ( Double Selection)
Y
N
条 件P
A
B
2020/5/7
27/79
用于双分支控制的条件语句( Double Selection)
Pseudocode Structure
Step a if <condition is true> start
2020/5/7
3/79
生活与计算机中的问题求解 (Problem Solving Process)
生活中的问题求解:
Problem: 烤蛋糕(Baking a Cake)
How to solve:
1. Start 2. 将烤箱预热 3. 准备一个盘子 4. 在盘子上抹上一些黄油 5. 将面粉、鸡蛋、糖和香精混合在一起搅拌均匀 6. 将搅拌好的面粉团放在盘子上 7. 将盘子放到烤箱内
Symbol &&
|| !
a
0 0 1 1
2020/5/7
Description 与(AND)当且仅当两者都为真,则结果为真 或(OR) 只要两者中有一个为真,结果就为真 非(NOT)
b a && b a || b !a
0
0
0
1
1
0
1
1
0
0
1
0
1
1
1
0
高 ! && || 低
!b
1 0 1 0
15/79
m_ ax = 20 _
2020/5/7
20>15?
a 2?0 b 1?5
max 12?50
25/79
【例】计算两整数的最大值
#include <stdio.h> void main() {
int a, b, max; printf(“Input a,b: “); scanf(“%d,%d”, &a, &b); if (a > b) max = a; if (a <= b) max = b; printf(“max = %d\n”, max);
Step m Step n end_if else start Step x Step y end_else Step z
2020/5/7
Step a
true
condition
false
Step x Step y
Step z
Step m Step n
28/79
if - else Statement
carrying out a procedure or solving a problem, usually with the requirement that the procedure terminate at some point
2020/5/7
11/79
【例】计算两整数的最大值
Input
• num1 • num2
Example:
!(c>a)
! ( 15 > 2 ) !(1) 0
a2 b5 c 15 d 17
2020/5/7
17/79
复合表达式(Compound Expression) 的值
Example:
(a >= 1) && (b == 5)
( 2 >= 1 ) && ( b == 5 ) 1 && ( b == 5 ) 1 && ( 5 == 5 ) 1 && 1 1
2020/5/7
10/79
算法的概念及其描述方法
面向对象程序 = 对象 + 消息
面向过程的程序 = 数据结构 + 算法
计算机中的算法( Algorithm )
–为解决一个具体问题而采取的确定的有限的操作步
骤,仅指计算机能执行的算法
– A specific and step-by-step set of instructions for
a2 b5
1
c 15
d 17
2020/5/7
20/79
复合表达式(Compound Expression) 的值
Example:
! ( ( a < b ) || ( c > d ) )
! ( ( 2 < 5 ) || ( c > d ) ) ! ( 1 || ( c > d ) ) ! 1 0
2.2 准备一些薯片 2.3 冲一杯咖啡
相关文档
最新文档