选择结构就是根据给定的判定条件,判断结果,并根据判断的结果来控制程序的流程
二、选择结构的三种情况
选择结构也称为分支结构,可以分为三种情况
1.单分支选择结构(Single Selection)
1)面临的选择是:要么执行一个操作,要么跳过它
a)根据苹果的质量好坏决定买或者不买
b)根据应聘的表现,单位决定录用还是不录用
2.双分支选择结构(Double Selection)
1)面临的选择是:在两个不同的操作中选择其中的一个来执行
a) 根据苹果的质量好坏决定买多少:多买还是少买
b) 公司根据你的业绩,决定给你发多少奖金:多发还是少发
3.多分支选择结构(Multiple Selection)
1)面临的选择是:2种以上的选择(需要连续执行多个条件判断)
a)高考分批次录取,根据考生填写的多个志愿依次进行录取
b)最想去或最有可能录取的学校和专业通常写在前面,为什么呢?
流程图如下
三、选择结构实例
选择结构实例1:计算机两个数的最大值
1.理解问题
2.制定计划
重点我们来关注,怎么比较a和b的大小,将较大的数存入max
1.利用单分支结构
2.利用双分支结构

四、RAPTOR之选择结构及Raptor中的关系和逻辑运算符
我们的程序对吗?那就是三角形输入的是任意的三个边的数值,那么这三个数值到底能不能够成一个三角形呢?那如果不是三角形的话,我们那样求肯定是不对,也只有能够成三角形我们才能用三角形的公式去求面积。这里就涉及到了分支结构也就是选择结构。
分支结构(selection)核心
1.可以按条件判断,分流执行
2.同条件语句判断别True和False

如上图所示,分支结构的条件一般是由关系运算符和逻辑运算符,用于选择和循环中的条件。
这里的关系运算符也就是判断出关系表达式是否成立,如里成立表达式的值为真,否则为假。逻辑运算符有and、or、not也就是与或非。and(与)就是几个条件共同都满足才行,一个不满足就为假;or(或)就是几个条件有一个满足就行,只有都不满足时是假,not(非)是非真即假,非假即真。关于关系运算符及逻辑运算符这里先做理解,在下个月课程中的运算符一章会做详细讲解。
知道了这些那么我们的求三角形面积的流程图就应该变化为
三角形必须满足三角形的任意两边和应该大于第三边的和;所以输入三条边a、b、c,首先判断任意两边是否大于第三边,当任意两边都大于第三边时,才算是三角形;否则就不构成在三角形。所以条件中应该是一个and的关系,那么我们的Raptor图就应该修改如下:

如上图所示,先在输入a、b、c三边后先来判断能否够成三角形。先画出选择结构,条件在写的时候,因为三个条件必须同时满足,所以这里用and连接,and前后要加空格。
当条件满足那么就是构成三角形,就应该走yes分支,也就是求面积输出,这时可以直接选中图上条件下的三个框,直接拖动到yes分支上即可,最后在no分支上输出不构成三角形即可如下图
执行效果如下图
1:如果输入是1,2,3则不构成三角形,输出不构成三角形。
2:如果输入3,4,5则构成三角形,输出三角形的面积。
五、用Raptor实现简单的选择结构
利用Raptor来实现案例:输入两个数,输出大值
已知解决问题的流程图方式如下:可以是单分支,也可以是双分支
这里用方法一来实现Raptor图的解决办法
过程如下:
第一步:先根据流程图绘制Raptor图:如下
这里会出现一个错误:max can only appear on right side of assignment
意思是:max只能出现在赋值的右边。
这是因为max在Raptor里默认是一个函数,所以出错,这里你只要改个变量名称即可,如max1。
六、用Raptor实现选择结构的嵌套
解决上述问题,首先我们先绘制出流程图:如下
如上图,流程图中可用max,Raptor中要注意绘制Raptor图如下:
七、if语句的三大形式
程序设计语言中选择结构一般有两大语法:一是if语句;二是switch语句。首先我们来学习下if语句,if翻译成中文是如果的意思,现在让你以汉语“如果”造句,你会想到什么呢?如果———就———否则———。
1.单分支语句if
(1)格式
if(表达式)
语句;
如果表达式为真(成立),则只执行语句;否则什么都不做。
注:if后面只有一条语句是,可以不用{},多条语句时一定要加{};所以建议初学者if()后紧接{}。
(2)如下代码,输入一个大于10的数则显示出来,不大于10就不做

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{int num;printf("请输入一个数:");scanf("%d",&num);if(num>10)printf("你输入的数比10大\n");
}

2.双分支语句if-else
(1)格式
if(表达式)
语句1;
else
语句2;
如果表达式为真(成立),则只执行语句1;否则执行语句2。
注:if后面语句1只有一条语句是,可以不用{},多条语句时一定要加{}; else和if一样,只有一条语句时,可以不用{},多条语句时一定要加{};所以建议初学者if()后接{}再接else再接 {}。
(2)如下代码,输入一个大于10的数则显示比10大,不大于10就输出不比10大

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{int num;printf("请输入一个数:");scanf("%d",&num);if(num>10)
printf("你输入的数比10大\n");
else
printf(你输入的数不比10大\n");
}

3.多分支语句if—else if
(1)格式
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
如果表达式1为真(成立),则只执行语句1;否则再次判断表达式2,如果表达式2为真(成立),则执行语句2,否则执行语句3。
注:if—else if与if—else一样,当if后只有一条语句可以不加{},多条必须加{};else后只有一条语句可以不加{},多条必须加{}。
(2)如下代码,输入一个的数,判断是大于10还是等于10还是小于10。

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{int num;printf("请输入一个数:");scanf("%d",&num);if(num>10)
printf("你输入的数比10大\n");
else if(num==10)
printf("你输入的数等于10\n");
else
printf("你输入的数小于10\n");
}

4.if语句三大形式的比较
if语句三大形式,依据于不同的条件判断,从上面的分析及代码执行过程中,其实我们也能看出单if其实就是单分支,成立就执行不成立不执行;而if—else 我们也能看出它属于双分支,两条路,成立走一条,不成立走另一条,也就是根据条件选择其一走;而if—else if则是属于多分支,可以有三条以上的路,只是在走每一条路之前先判断相关表达式,如果成立就走相应的路,不成立继续判断第2表达式,再判断,依次类推,直到确定要走那一条(或者都不成立都不走,也就最后没有else)。所以,写程序选择照应的语法,会让你学起来很简单。记住语句格式也是很关键的呀!
5.if语句的灵活应用
试比较如下两段代码:试说下它们的区别;《输入两个数,比较大小

(1)/*单if实现*/
#include "stdio.h"
void main()
{int m,n;printf("请输入两个数:");scanf("%d%d",&m,&n);if(m>n){printf("第1个数大于第2个数\n");}if(n>m){printf("第2个数大于第1个数\n");}if(m==n){printf("第1个数等于第2个数\n");}
}
(2)/* if--else if实现 */
#include "stdio.h"
void main()
{int m,n;printf("请输入两个数:");scanf("%d%d",&m,&n);if(m>n){printf("第1个数大于第2个数\n");}else if(n>m){printf("第2个数大于第1个数\n");}else if(m==n){printf("第1个数等于第2个数\n");}
}

通过以上案例说明,if—else或if—else if都可以转换成多个单if语句。但是在写程序时还是双分支选择if—else ,多分支选if—else if

C语言选择结构--RAPTOR算法及if语句相关推荐

  1. c语言选择结构程序设计实验报告6,c语言-选择结构程序设计实验报告4.doc

    c语言-选择结构程序设计实验报告4.doc 实验报告 实验题目:选择结构程序设计 实验目的: 了解C语言表示逻辑量的方法(以0代表"假"以非0代表"真"). 学 ...

  2. c语言选择结构程序设计笔记,C语言选择结构程序设计.ppt

    <C语言选择结构程序设计.ppt>由会员分享,可在线阅读,更多相关<C语言选择结构程序设计.ppt(32页珍藏版)>请在人人文库网上搜索. 1.选择结构程序设计,关系运算符和关 ...

  3. c语言 结构作用是什么,C语言选择结构知识点

    C语言选择结构知识点 C语言是一个有结构化程序设计.具有变量作用域(variable scope)以及递归功能的过程式语言.以下是小编为大家搜索整理的C语言选择结构知识点, 希望能给大家带来帮助!更多 ...

  4. c语言 教学目标,c语言选择结构程序设计教学目标

    c语言选择结构程序设计教学目标 <选择结构程序设计>教学目标 能力要求: a) 能够使用 if 语句编写条件选择程序 b) 能够使用嵌套 if 语句和 switch 语句编写多分支选择结构 ...

  5. c语言选择结构作用,c语言选择结构程序设计教案

    <c语言选择结构程序设计教案>由会员分享,可在线阅读,更多相关<c语言选择结构程序设计教案(16页珍藏版)>请在人人文库网上搜索. 1.选择结构程序设计(一)说明内容1关系运算 ...

  6. c语言结构 形式,c语言选择结构(c语言选择结构三种形式)

    设a.b和c都是int型变量,且a=3,b=4,c=5,则表达式 !((a 优先级是这样的 () ! < && || 所以对于!((a (1&. 主要选择结构有:if 最 ...

  7. c语言选择结构选最小值,c语言选择结构试题带答案

    <c语言选择结构试题带答案>由会员分享,可在线阅读,更多相关<c语言选择结构试题带答案(15页珍藏版)>请在人人文库网上搜索. 1.一. 选择题1. 以下非法的赋值语句是A: ...

  8. C语言选择结构程序设计练习题-华氏温度转换成摄氏温度

    原文地址:嗨客网 C语言选择结构程序设计练习题 描述 给出一个场景,和一个计算公式,根据公式将输入的华氏温度转换成摄氏温度.(谭浩强 C 语言 第三版 89 页第 4.9 题 ) 题目 输入一个华氏温 ...

  9. c语言选择结构程序设计报告,C语言学习与总结---第四章:选择结构程序设计

    选择结构程序设计 4.1 if语句 4.2 关系运算符和关系表达式 4.2.1 关系运算符 4.2.2 关系表达式 4.3 逻辑运算符和逻辑表达式 4.3.1 逻辑运算符 4.3.2 逻辑表达式 4. ...

最新文章

  1. SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...
  2. linux 设置代理 安装jdk mysql tomcat redis hadoop
  3. MyBatis 的这些坑你有踩过吗?
  4. 两个Fragment之间如何传递数据
  5. 多线程编程之二——MFC中的多线程开发
  6. python mysql 2002_python MySQLdb连接mysql失败 2002, Can't connect to loca
  7. Python:print用法大全
  8. linux服务器_Linux 服务器为什么被黑?
  9. k8s之创建etcd集群
  10. python彩票预测算法软件_python用遗传算法 神经网络 模糊逻辑控制算法对彩票乐透数据进行预测...
  11. Java SSM 商户管理系统 客户管理 库存管理 销售报表 项目源码
  12. 获取Dell,Lenovo电脑的保修期
  13. 物业公众号推文范例_如何运营社区物业微信公众号
  14. Winodws update auto update client(wuauclt)
  15. 99美金和299美金的开发者证书的区别
  16. php m3u8cms,苹果cms V8和V10整合Dplayer播放器插件支持mp4和m3u8格式播放
  17. 北京科技大学计算机组成原理,北京科技大学二十套计算机组成原理题库及答案...
  18. redis---incr命令
  19. 二进制部署 单Master Kubernetes-v1.14.1集群
  20. 2.1.2 Android刘海屏适配

热门文章

  1. 40 - xml文档与字典之间的互相转换
  2. 微信公众平台升级9大高级接口功能解读
  3. 双十一好物推荐:2022年好用的数码好物分享
  4. 编码的奥秘:二进制数
  5. 令执法机构头疼的“虚拟货币犯罪”,为何链上天眼能“行”
  6. latex 正文设置为双栏,图片如何占两栏
  7. html 井号 转义,url中出现井号(#)的问题
  8. 高德地图获取手机定位
  9. Hyperledger Indy项目(开源去中心化身份平台)、去中心化身份(DID)、分布式数字身份项目
  10. 华为交换机vlan配置举例_华为交换机配置VLAN和VLANif