第3章 分支结构程序设计

合集下载

第3章 结构化程序设计

第3章  结构化程序设计

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

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

编程语言基础-C语言 第3章 分支程序设计

编程语言基础-C语言  第3章 分支程序设计

③ 假设A和B是两个表达式,下面对逻辑运 算进行说明。 1) A && B 若A、B均为真, 则“A && B”值为真,否则为 假。 2) A || B 若A、B均为假, 则“A || B值”为假,否则为真。 3) ! A 若A为真, 则 “!A”为假;否则为真。
看下面的例子:
1.
( 3 < 2 ) && ( 7 > 5 ) 值:0 只有 && 右面的子表达式为真 ( 3 < 2 ) || ( 7 > 5 ) 值:1 只要求有一个子表达式为真 !(3<2) 子表达式为假。 值:1
运行结果: 1. 请输入一个正 整数:36↙ Yes! 2. 请输入一个正 整数:15↙ No!
3.2.3 if语句的嵌套

一般形式是: if(表达式1) 语句1; else if(表达式2) 语句2; else if (表达式3) 语句3; else 语句4;
执行过程如图3-4所示。
表达式 1 假 表达式 2 假
}
3.4 分支程序设计应用实例

例3-7: 从键盘输入二个整数,输出其中最大者。 main( ) { int a, b, max; printf("请输入二个整数:"); scanf("%d %d", &a, &b ); if ( a > b ) max = a; else max = b; printf("二者中最大值为:%d", max ); getch( ); 运行结果: } 17 31↙ 二者中最大值为:31
第3章 分支程序设计
3.1 关系表达式和逻辑表达式

实验三---分支结构程序设计实验报告-

实验三---分支结构程序设计实验报告-

XXX大学软件类实验报告
课程名称:C语言程序设计学号:
姓名:
班级:
指导教师:
开课学期:
学院:
XXX大学教务处
4.switch语句。

四、实验过程及内容:(运行结果请抓图到对应题目的下方)
1. 先分析以下程序,写出运行结果,再上机检验。

实验结果:
2.先分析以下程序,写出运行结果,再上机检验。

实验结果:
3.先分析以下程序,写出运行结果,再上机检验。

实验结果:
4. 程序改错题。

以下程序的功能是将a、b、c三个数从小到大进行排序,即使得a≤b≤c.。

程序中有一些错误,试将其改正并上机验证。

实验结果:
5. 程序填空题。

以下程序的功能是:从键盘接收一个字符,如果是小写英文字母,则将其转换为相应的大写字母;如果是大写英文字母,则将其转换为相应的小写字母;如果是其他字符,则不做转换。

填空将程序补充完整并上机验证。

实验结果:
6. 编程题。

根据以下分段函数计算y的值,x的值由键盘输入。

保留两位小数
输入格式:-2
输出格式:y=-2.00
实验代码:
实验结果:
7.输入一个正整数作为年份,编程判断该年是否为闰年。

若是输出“Yes”,否则输出“No”。


示:能被4整除,但不能被100整除的年份;或者能被400整除的年份。

实验代码:
实验结果:。

C语言-第3章分支结构教学案

C语言-第3章分支结构教学案

第3章 分支结构程序设计(选择结构)1、掌握if 、if-else 、if 的嵌套语句的语法结构及编程语句的语法结构及编程 123.2.1 单分支if 语句的使用学习目标:1、理解选择结构的概念和特点;2、掌握单分支if 语句的语法结构、执行过程和基本用法,学会正确书写if 语句; 4、能正确阅读if 语句程序,会使用if 语句编写、调试并运行程序。

课前准备:预习P30-32(预习后,将学案上知识点在课本上做记号,并完成相应预习题) 课时分配:2课时 活动课堂活动一、发现问题(目标——了解分支结构的意义)实例:从键盘上输入一个数,求这个数的平方根。

算法:发现问题:活动二、解决问题(目标——掌握分支结构) 思考:从键盘输入一个数,若为正数和0则 求其平方根,否则不予处理。

算法:活动三、预习交流(1 ·语句中a>b ·if 每行的结尾,分支中各语句结尾均有 (符号),但 后没有。

·在(2)(3)两语句段中的不同处画上横线,语句(2)中的c=a+b; (属于/不属于)if 分支。

活动五:观察思考(目标——掌握if 的执行流程)1、观察下列程序的执行,口述程序的执行过程,画出程序的流程图: 例1:#include <math.h>#include <stdio.h>main(){float x,y;clrscr();scanf("%f",&x);if (x>=0){y=sqrt(x);printf("%.2f",y);}}流程图:4、说明:例:表达式 -3+‘d’为________表达式,值为______,作条件判断结果为___________ 表达式 a=0 为__________表达式,值为_______,作条件判断结果为__________ 表达式 a=5 为__________表达式,值为________,作条件判断结果为_________ 表达式a>4为____________表达式,若a=5 则结果为_________表达式(a>0)&&(a%2==0)为________表达式,若结果为5 则结果为__________活动六、尝试学习(目标—if语句的初步应用)编程:输入一个学生成绩score,如果成绩大于60,则显示pass,否则不显示程序:流程图:活动七、合作探究、拓展应用(目标—if语句的应用)1、阅读下列程序,写出运行结果,画出程序的流程图:main() Array {int a,b;scanf("%d%d",&a,&b);if (a<b) a=b;printf("%d",a);}执行:·若输入4 5,则输出:________________若输入5 4,则输出:________________·程序的功能是:______________________。

C语言程序设计(第3版)何钦铭 颜 晖 第3章 分支结构

C语言程序设计(第3版)何钦铭 颜 晖 第3章  分支结构

第3章分支结构【练习 3-1】例 3-4 中使用 else-if 语句求解多分段函数,为了检查 else-if 语句的三个分支是否正确,已经设计了三组测试用例,请问还需要增加测试用例吗?为什么?如果要增加,请给出具体的测试用例并运行程序。

解答:最好再增加两组测试用例,因为尚未对分段函数参数的边界值进行测试。

可再给出 x=0和 x=15 时的两种情况。

【练习 3-2】计算符号函数的值:输入一个整数 x,计算并输出下列分段函数sign(x)的值。

-1 x<0y=sign(x)= 0 x=01 x>0解答:#include <stdio.h>int main(void){int x, y;printf("Enter x: " );scanf("%d",&x);if(x>0) y=1;else if (x==0) y=0;else y=-1;printf("sign( %d ) = %d\n",x,y);return 0;}【练习 3-3】统计学生平均成绩与及格人数:输入一个正整数 n,再输入 n 个学生的成绩,计算平均成绩,并统计所有及格学生的人数。

试编写相应程序。

解答:# include <stdio.h>int main(void){int count, i, n;double grade, total;printf("Enter n: ");scanf("%d", &n);total = 0;count = 0;for(i = 1; i <= n; i++){printf("Enter grade #%d: ", i);scanf ("%lf", &grade);total = total + grade;if(grade >= 60) count++;}printf("Grade average = %.2f\n", total / n);printf("Number of pass = %d\n", count);return 0;}【练习 3-4】统计字符:输入 10 个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

第3章 分支结构

第3章 分支结构

使用if-else语句 使用 语句
判断学生张三的成绩是否比学生李四的高? 判断学生张三的成绩是否比学生李四的高?
Scanner input = new Scanner(System.in); System.out.print("输入学生张三成绩 "); 输入学生张三成绩: 输入学生张三成绩 int score1 = input.nextInt(); System.out.print("输入学生李四成绩 "); 输入学生李四成绩: 输入学生李四成绩 int score2 = input.nextInt(); if(score1>score2) { System.out.println( "张三成绩比李四高 " ); 张三成绩比李四高! 张三成绩比李四高 } else{ System.out.println("张三成绩不比李四高 " ); 张三成绩不比李四高! 张三成绩不比李四高 }
使用else-if语句,实现对学生成绩的等级评定
int score = input.nextInt(); //考试成绩 考试成绩 if ( score >= 90 ) { System.out.println("优秀"); } else if (score >= 80 ) { System.out.println("良好"); } else if (score >= 70 ) { System.out.println ("中等"); } else if (score>=60){ System.out.println ("及格"); } else { System.out.println("不及格"); }

Luogu深入浅出程序设计竞赛题解目录

Luogu深入浅出程序设计竞赛题解目录

Luogu深⼊浅出程序设计竞赛题解⽬录第⼀部分语⾔⼊门第⼀章简简单单写程序第⼆章顺序结构程序设计例题P5703 红 例5P5704 红 例6P5705 红 例71P5706 红 例8P1425 红 例10P3954 红 例11(NOIP 2017 PJ T1)P5707 橙 例12习题P5708 红 习2第三章分⽀结构程序设计例题P5710 红 例1P5711 红 例2P5712 红 例3P5713 红 例5P5714 红 例7P5715 红 例8P5716 红 例9P1085 红 例10(NOIP 2004 PJ T1)P1909 红 例11(NOIP 2016 PJ T1)P1055 橙 例12(NOIP 2008 PJ T1)习题P1422 红 习4P1424 红 习5P1888 红 习6P1046 红 习7(NOIP 2005 PJ)P5717 橙 习8P4414 红 习9(COCI 2006)第四章循环结构程序设计例题P5718 红 例2P5719 红 例3P5720 红 例4P5721 红 例6P1980 红 例8P1035 红 例9(NOIP 2002 PJ)P2669 红 例10(NOIP 2015 PJ T1)P5722 红 例11P5723 橙 例13习题P1307 红 习3(NOIP 2011 PJ T1)P1720 红 习4P5724 红 习5P1420 红 习6P1075 红 习7(NOIP 2012 PJ T1)P5725 红 习8P5726 橙 习9P4956 红 习10(COCI 2017)P1089 红 习11(NOIP 2004 TG T1)第五章数组与数据批量储存习题第六章字符串与⽂件操作第七章函数与结构体例题习题第⼆部分初涉算法第⼋章模拟与⾼精度例题习题第九章排序例题习题第⼗章暴⼒枚举例题习题第⼗⼀章递推与递归例题习题第⼗⼆章贪⼼例题习题另⼀篇题解:第⼗三章⼆分查找与⼆分答案例题习题第⼗四章搜索例题习题第三部分简单数据结构第⼗五章线性表例题习题第⼗六章⼆叉树例题习题第⼗七章集合例题习题第⼗⼋章图的基本应⽤例题习题第四部分基础数学与数论后⾯的讲解居多。

2009第三章 C语言语句与结构化程序的三种基本结构

2009第三章 C语言语句与结构化程序的三种基本结构

3.2.1 表达式语句
赋值表达式语句的一般格式: <变量名> = <表达式>; 其中 “=”是赋值号, 其意义是将赋值号右边表 达式的值赋到赋值号左边的变量中去。 如: x = 5; 表示将5赋给变量x x = x+20;表示将x的内容+20再赋给x
3.2.2 数据的输出
C语言的输入和输出是通过调用I/O函数来完成 的,常用的有三对:
2. %s格式符和附加的格式说明符“m .n ”一起
使用, 其中“.n”这个附加的格式说明符是使对
输出的字符串截取n位字符。
3.2.2 数据的输出
例如: main() { printf(”%3s,%7.2s,%.4s,%- 5.3s\n”,
“china”,”china”,”china”,”china”),
3.2.3 数据的输入
scanf()函数
用于接受键盘输入的各种类型的多个数据。 scanf (格式控制字符串, 变量地址表列) ; 在scanf()函数中格式控制字符串的含义与printf() 函数中略有不同(参见P64表3.3) 输入的格式说明字符有: 格式控制问题 %d %o %x %c %s %f %e
3.2.3 数据的输入
例如:关于格式说明符的使用的例子.
?
P66 4、scanf()函数在使用时应该 注意的问题+例3.7
输入:12345678901234 输出:1 , 234 , 789012 ,34.000000 输入:12345678901234 输出: , 12 , 345.000000
3.2.3 数据的输入
getchar( )函数
函数功能:从键盘读取用户输入的一个字符, 并 将该字符的ASCII码值作为函数返回值。 注: 用户在输入字符后, 再按回车键, 输入的内 容才能被getchar()函数处理。

Python程序设计第3章+程序控制结构

Python程序设计第3章+程序控制结构

3.1 程序的基本结构
图3-1 流程图的7种基本元素
3.2 顺序结构
顺序结构是程序的基础,是程序设计中最简单的,只要按照解决问题的 顺序写出相应的语句就可以。它的执行从上而下,依次执行,如图3-2所示。
图3-2 顺序结构的流程图
【例3.1】计算军犬速度
军犬的耐力是非常有名的。有关资料 显示,第一次世界大战期间为传达命令, 一只军犬50分钟跑完了21.7km的路程。算 一算,这只军犬平均每分跑多少米?
3.5 实例:控制结构灵活运用
3.5.2 猜数字游戏
【例3.7】编写猜数字游戏程序。
#猜数字游戏 import random x=random.randint(1,10) for i in range(1,4):
m=eval(input("请输入一个整数:")) if x == m:
print("恭喜,猜对了,一共猜了{}次".format(i)) break elif m<x: print("猜小了") else: print("猜大了") if i == 3: print("游戏结束")
根据会员情况,输出最后应付的金额。
#不同消费者买单3 #会员编号(2:金卡会员,1:普通会员,其他:非会员) #不同的会员消费者买单 consume=eval(input(“请输入消费额:”)) flag=int(input(“请输入会员编号:”)) if flag == 2:
consume *= 0.9 elif flag ==1:
consume *= 0.95 else:
consume *= 0.99 print("用户应付费: {:.2f}".format(consume))

C语言分支结构程序设计

C语言分支结构程序设计

3.1 算法与基本程序结构
3.1.1 算法简介
1.算法的定义
算法是一个有限规则的集合,其中的规则描述了解决某个特 定问题的运算序列,也就是为解决一个具体问题而采取的确 定的有限操作步骤 .
广义地说,为解决一个问题而采取的方法和步骤,就称 为“算法”。
对同一个问题,可有不同的解题方法和步骤
例: 求
小结:

一个结构化的算法是由一些基本结构顺序组成 的。在基本结构之间不存在向前或向后的跳转, 流程的转移只存在于一个基本结构范围之内(如 循环中流程的跳转);一 个非结构化的算法可 以用一个等价的结构化算法代替,其功能不变 。 如果一个算法不能分解为若干个基本结构,则 它必然不是一个结构化的算法。
2.传统流程图描述
美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符号:
起止框
判断框
处理框
输入/输出框
注释框
流向线
连接点
开始 读入n Y 提示错误信 息
n< 0? N
result=1, i=1 result=result*i i=i+1 i>n? Y 输出result 结束 N
说明:
关系运算符的优先级低于算术运算符 关系运算符的优先级高于赋值运算符
3.关系表达式
• 用关系运算符将两个表达式(可以是算术表达式或 关系表达式,逻辑表达式,赋值表达式,字符表达式) 接起来的式子,称关系表达式
C语言中没有专用 的逻辑值,1代表 例:a>b,a+b>b+c,(a=3)>(b=5),‟a‟<„b‟,(a>b)>(b<c) 真,0代表假

C语言程序设计基础讲解PPT第3章(第二讲)

C语言程序设计基础讲解PPT第3章(第二讲)

14
与 哪 个 if 配 对 ? ⑶ if (c<=100) if (c>=50) printf("50<=c<=100\n"); else printf("c<50\n")
2019/1/8
再例如:
if(a>b) if(a>c) if(a>d) m=1; else m=2; else m=3; 问题:哪一个 else 和哪一个 if 相匹配?
24
2019/1/8
注意:

25


switch语句的书写格式:语句体本身必须用花括 号括起;case和default后面如果有多条语句, 则可以不必使用花括号;case和常量表达式之 间必须有空格;default可以写在语句体的任何 位置,也可以省略不写 break语句可以改变case的语句标号作用,终止 后续case语句序列的执行。 switch语句和break 语句结合,可以实现程序的选择控制(break语 句还可以在循环语句中使用) 允许switch嵌套使用,但同一个switch语句中, 任意两个case的常量表达式值不能相同。
2019/1/8
程序:
#include "stdio.h" main( ) { char ch; ch=getchar( ); if (ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch ); } 可使用条件表达式代替
程序运行情况如下: putchar(ch>='A' && ch<='Z' ? ch+32:ch); G putchar (' \n') g

3《分支结构程序设计》核心素养目标教学设计、教材分析与教学反思滇人版初中信息技术八年级第12册

3《分支结构程序设计》核心素养目标教学设计、教材分析与教学反思滇人版初中信息技术八年级第12册

《分支结构程序设计》教学设计方案一、教材内容分析本节课是在学生已经掌握顺序结构程序设计的基础上,进一步学习分支结构程序设计。

通过编写判断平年或闰年的程序,学生将学习if、if-else语句的使用,理解关系表达式和逻辑表达式的含义及运算结果,掌握字符串的索引操作。

这一内容不仅是对前面知识的巩固和拓展,更是为学生后续学习循环结构打下基础。

二、核心素养目标1.培养学生运用分支结构解决实际问题的能力,提升逻辑思维能力。

2.提高学生编写和理解条件语句的能力,加深对关系表达式和逻辑表达式的理解。

3.增强学生的编程实践能力,掌握基本的程序调试技巧。

三、教学重难点重点:掌握if、if-else语句的语法和使用方法,理解关系表达式和逻辑表达式的含义。

难点:根据实际问题编写正确的条件判断语句,处理复杂的逻辑关系。

四、教学过程(一)导入新课教师:同学们,我们已经学习了顺序结构程序设计,那么当程序需要根据不同条件执行不同操作时,我们应该怎么办呢?学生:使用分支结构。

教师:非常好!今天我们就来学习分支结构程序设计。

首先,我们来看一个实际问题:如何判断一个年份是平年还是闰年?(二)新课讲解1.分支结构基本概念教师:同学们,首先我们来了解一下什么是分支结构。

想象一下,你在回家的路上遇到了一个岔路口,这时候你需要根据路标或者自己的判断来决定走哪条路。

同样,在程序中,当需要根据不同的条件执行不同的操作时,我们就需要使用分支结构。

(教师在黑板上画出简单的流程图,展示分支结构的基本形式)教师:大家看,这就是一个基本的分支结构图。

它有一个起点,然后根据条件判断有两个或多个可能的执行路径。

在Python中,我们使用if、if-else语句来实现这种结构。

(教师在PPT上展示if、if-else语句的基本语法)教师:比如,如果我们想要判断一个数是否大于10,就可以这样写:python复制代码num = 15if num > 10:print("这个数大于10")如果num的值大于10,那么就会执行print语句,输出“这个数大于10”。

【实验指导书】实验3:分支结构程序设计

【实验指导书】实验3:分支结构程序设计

实验三:分支结构程序设计一、实验目的:1. 熟练掌握关系表达式和逻辑表达式的使用;2. 熟练掌握用嵌套的if语句和switch语句实现多分支结构程序设计;3. 熟练掌握switch语句中break语句的作用;4. 掌握简单的调试程序方法,包括:单步调试和运行到光标。

二、实验要求:1.编写程序,计算分支函数。

要求:输入为任意实数,输出结果保留小数点后2位。

输入输出示例:Enter x:227.00提示:实现x n可以标准库函数pow(x,n),此数学函数已在头文件math.h中说明。

2.编写程序。

根据一个年份,判断是否是闰年。

要求:输入为一个整数,表示一个年份;输出:如果是闰年,输出"Y es",否则输出"No"。

输出单独占一行。

输入输出示例:Enter year:2012Yes3. 编写程序。

给你三个正整数,判断用这三个整数做边长是否能构成一个三角形。

要求:输入为三个正整数,中间有一个空格隔开;输出:如果能构成三角形,输出"Yes",否则输出"No"。

提示:在一个三角形中,任意两边之和大于第三边。

输入输出示例:3 4 5Yes4.输入五级制成绩(A~E),输出相应的百分制(0~100)区间。

要求用switch语句。

五级制对应的百分制成绩区间为:A(90~100)、B(80~89)、C(70~79)、D((60~69))、E(0~59)。

输入输出示例:Input Grade:BB对应的百分制成绩区间是80~895.编写程序,输入月薪salary,输出应交的个人所得税tax(保留2位小数)。

按照2011年开始实行的新的个人所得税法,计算公式为:tax=rate*(salary - 3500)- deduction当salary ≤3500时,rate = 0、deduction = 0;当3500 <salary ≤5000时,rate = 3%、deduction = 0;当5000 <salary ≤8000时,rate = 10%、deduction = 105;当8000 <salary ≤12500时,rate = 20%、deduction = 555;当12500 <salary ≤38500时,rate = 25%、deduction = 1005;当38500 <salary ≤58500时,rate = 30%、deduction = 2755;当58500 <salary ≤83500时,rate = 35%、deduction = 5505;当83500 <salary时,rate = 45%、deduction = 13505。

C语言第3章

C语言第3章

3.3.3 if语句的嵌套
注意: 1.else子句不能作为语句单独使用,它必须与if配对使用。 2.为使程序结构清晰、层次分明,常常采用程序行缩进的书 写格式,if 和其对应的else写在一列上。但,书写格式不能 代替逻辑结构。 3.if 和 else 的配对关系。一个 else 总是与其上面距它最近 的,并且没有其它 else 与其配对的 if 相配对。
3.2 关系运算和逻辑运算
3.2.1 关系运算
运算符 含义 优先级 < 小于 <= 小于等于 6 > 大于 >= == != 大于等于 等于 不等于 7
3.2.2 逻辑运算
运算符 含义 优先级 ! 逻辑非 2 && 逻辑与 11 || 逻辑或 12
关系表达式
关系表达式是使用关系运算符将两个表达式(算术表达式,关系表达式, 逻辑表达式,赋值表达式等)连接起来的式子。 关系表达式的值:关系表达式成立,即为“真”,C语言中用1表示; 关系表达式不成立,即为“假”,C语言中用0表示。 对1.0/3.0*3.0==1.0,计算机判 为假改写为:fabs(1.0/3.0*3.0字符比较按ASCII码进比较 1.0)<1e-5; 对浮点数判断是否相等时,由于计算机存储的误差,会出现错误的结果。 应避免对两个实数表达式作“相等”或“不相等”的判别。 例:表达式5>2>7>8在数学上是不允许的。在C语言中是允许的,按自左而 右求解。5>2值为1;1>7值为0;0>8值为0。表达式的值为0。
例:a&&b&&c :a为真才判别b,a和b同时为真才判别c a||b||c:只要a为真,就不再判断b和c 例:(m=a>b)&&(n=c>d) 当a=1,b=2,c=3,d=4时,m=0,n维持原值

等考二级python程序的控制结构

等考二级python程序的控制结构

多分支结构: if-elif-else语句
Python的if-elif-else描述多分支结构,语句格式 如下:
if <条件1>: <语句块1>
elif <条件2>: <语句块2>
... else:
<语句块N>
多分支结构: if-elif-else语句
多分支结构通常用于判断同一个条件或一类条件的 多个执行路径。要注意,Python会按照多分支结构 的代码顺序依次评估判断条件,寻找并执行第一个 结果为True条件对应的语句块,当前语句块执行后 跳过整个if-elif-else结构。
无限循环: while
1 s, idx = "PY", 0
2 while idx < len(s):
3
print("循环执行中: " + s[idx])
4
idx += 1
5 else:
6
s = "循环正常结束"
7 print(s)
>>> 循环执行中: P 循环执行中: Y 循环正常结束
循环控制: break和continue
单分支结构: if语句
1 # 判断用户输入数字的奇偶性 2 s = eval(input("请输出一个整数:"))
3 if s % 2 == 0:
4
print("这是个偶数")
5 print("输入数字是:", s)
<条件>是一个或多个条件,多个条件间采用and或or进 行逻辑组合。and表示多个条件“与”的关系,or表示 多个条件“或”的关系
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

执行过程 执行过程 首先计算switch后面表达式的值,然后与 计算表达式 第一个case的“常量”进行比较,若不 (设值为val) 相等,则跳过其下的语句组,再与下一 否 否 否 个case的“常量”进行比较;若与某一 常量1与 常量2与 常量n与 val相同? val相同? val相同? 个case的“常量”相等,则从其下的语 是 句组开始,依次向下执行各语句组的语 是 是 语句组1 句,直至遇到一个强制中断语句break或 语句组2 语句组2 语句组3 语句组3 执行完最后一个语句组语句为止。当所 „„„ „„„ 有case都不符合要求时,执行default下 语句组n 语句组n 语句组n 语句组n+1 语句组n+1 语句组n+1 语句组n+1 的语句组语句。一般格式中的“default:” 及其语句组允许缺省。
小于
小于等于 等于 不等于
ave<90
ave<=90 ave==90 ave!=90
3.1.2关系表达式
1.关系运算符
C语言程序设计-理论、方法与实践 张磊编著 清华大学出版社
3.1.3 if语句
if语句的一般形式
if语句的简单形式
if语句的嵌套结构 if-else if结构
3.1.3 if语句
3.1.3 if语句
3.1.1判断优等生程序
例3-1 输入一个学生的两门课的成绩, 若平均成绩不低于90分,则显示“优 等生”,否则显示“要加油啊!”。 1.程序 #include<stdio.h> int main() { int a1,a2,ave; printf("输入两门课的成绩:"); scanf("%d,%d",&a1,&a2); ave=(a1+a2)/2; if(ave>=90) /* 分支控制 */ printf("优等生!\n"); else printf("要加油啊!\n"); return 0; } 2.程序解析 程序中的if-else命令用于实现分支控 制,分支处理的条件是“ave>=90”。当 ave>=90成立时,执行语句“printf(”优 等生!\n“);”,输出字符串“优等生!”;否 则,执行语句“printf(”要加油啊!\n“);”, 输出字符串“要加油啊!”。 第一次执行结果 输入两门课的成绩:88,96 优等生! 第二次执行结果 输入两门课的成绩:77,85 要加油啊!
if 表达式1 真 else if 表达式2 else if else if 表达式4 真 语句组1 语句组2 语句组3 语句组4 语句组5 else
if(表达式1) {语句组1} else if(表达式2) {语句组2} else if(表达式3) {语句组3} . . . else if(表达式n) {语句组n} else {语句组n+1}
3.1.3 if语句--if语句的简单形式
结构 if(表达式) {语句组}
执行过程
若表达式的值非0(即真), 则执行{语句 组},然后继续执行if语句的下一个语句; 否则,不执行{语句组},而直接执行{语句 组}之下的语句,即if语句的下一个语句。 即:该if语句的功能就是根据条件(表达 式的值),决定是否执行{语句组}。
对于给定的年份year,若该逻辑表达式的值为1,则为闰年。
3.3 用switch语句实现分支控制
switch语句是专门用于多路分支选择的语句,适用于if-else if式的结构。
switch语句格式
switch(表达式) { case 常量1: 语句组1 case 常量2: 语句组2 ┇ case 常量n: 语句组n default: 语句组n+1 }
3.2.2 逻辑表达式
3.逻辑运算符的优先级和结合性
⑴ !高于&& ,&&高于||。 ⑵ !高于算术运算符,&&、||低于关系运算符。 ⑶ &&、||是左结合的,!是右结合的。
4.逻辑表达式的值 逻辑表达式的值是一个逻辑值。
a 真 真 假 假 b 真 假 真 假 !a 假 假 真 真 a&&b 真 假 假 假 a||b 真 真 真 假
3.1.3 if语句--if语句的嵌套结构
当一个if语句的{语句组}内又使用了if语句时,就形成了if语句的嵌 套结构。
if(表达式1) { 语句组1 if(表达式2) {语句组11} else {语句组12} } else { 语句组2 } } } else { 语句组2 if(表达式2) {语句组21} else {语句组22} if(表达式1) { 语句组1
结束
3.2 复合条件的分支程序
3.2.1 使用新标准的优等生程序 3.2.2 逻辑表达式
3.2.1 使用新标准的优等生程序
例3-9 输入一个学生的两门课的成绩,若每门课的成绩都不低于90 分,则显示“优等生”,否则显示“要加油啊!”。 #include<stdio.h> void main() { int a1,a2; printf("输入课程成绩:"); scanf("%d,%d",&a1,&a2); if(a1>=90&&a2>=90) printf("优等生!\n"); else printf("要加油啊!\n"); return 0; } 程序解析
3.1.3 if语句--
#include<stdio.h> int main() { if语句的嵌套结构 int a1,a2,ave; printf("输入两门课的成绩:"); 例3-6 输入一个学生两门课的成绩,若平均成绩小于0,则显示“数 scanf("%d,%d",&a1,&a2); ave=(a1+a2)/2; 据错误!”;否则,若平均成绩不低于90分,则显示“优等生”, 否则显示“要加油啊!”。 if(ave<0) printf("数据错误!\n"); 算法设计 else 开始 if(ave>=90) 根据平均成绩的计算结果,将有两个大的分支: printf("优等生!\n"); 分支一:平均成绩小于0,显示“数据错误!”; 输入数据 else 分支二:平均成绩不小于0,进一步进行小分支处理。 printf("要加油啊!\n"); return 0; 计算平均成绩ave }
1.if1 语句组2 0
else
{语句组2} 其执行过程
如果表达式的值为非0, 则执行“语句 组1”,然后执行紧接“语句组2”之后的 语句;否则,跳过{语句组1}而执行 {语句组2},然后继续向下执行。
3.1.3 if语句--if语句的一般形式
C语言程序设计 第3章 分支结构程序设计
第3章 分支结构程序设计
3.1 简单条件的分支程序
3.2 复合条件的分支程序
3.3 用switch语句实现分支控制 3.4 goto语句 3.5 条件运算 3.6 分支结构应用举例
3.1 简单条件的分支程序
3.1.1判断优等生程序 3.1.2关系表达式
3.1.3 if语句--if语句的简单形式
例3-5 输入两个整数,输出其中的最大数。 ⑴ 算法设计
开始
输入x,y
max=x
max<y? 真 max=y

输出max
开始
⑵ 程序实现 #include<stdio.h> int main() { int x,y,max; printf("Input x,y: "); scanf("%d,%d",&x,&y); max=x; if(max<y) max=y; printf("MAX=%d\n",max); return 0; }
3.1.3 if语句--if语句的简单形式
例3-4 输入一个整数x,若是偶数,则输出它。 ⑴ 算法设计
开始
输入x
x%2==0? 真 输出x

结束
⑵ 程序实现 #include<stdio.h> int main() { int x; printf("Input x: "); scanf("%d",&x); if(x%2==0) printf("%d\n",x); return 0; }
逻辑运算符 && || 功能 两个条件都要满足时,用“&&”运算 两个条件只需要满足其一时,用“||”运算

要否第一个条件时,用“!”运算
2.逻辑表达式 将关系表达式用逻辑运算符连接起来构成的式子称为逻辑表达式。 a>b&&a>c 数学不等式(x+6)≥y>(x-3) 对应的的逻辑表达式如下: y<=(x+6)&&y>(x-3)
表达式 非0 语句组
0
3.1.3 if语句--if语句的简单形式
例3-3 输入一个学生两门课的成绩,若平均成绩不低于90分,则显示 “优等生”。 ⑵ 程序实现 ⑴ 算法设计 #include<stdio.h> 开始 int main() 输入数据 { int a1,a2,ave; 计算平均成绩ave printf(“输入成绩,数据之间用“,”分隔:"); scanf("%d,%d",&a1,&a2); 假 ave>=90? ave=(a1+a2)/2; 真 if(ave>=90) 输出:优等生! printf("优等生!\n"); return 0; 结束 }
相关文档
最新文档