C语言入门6-选择结构--f语句-switch
一、 什么是选择结构?
选择结构,也称为分支结构!!
选择结构就是根据 给定的判定条件,判断结果,
并根据 判断的结果 来控制程序的流程
(流程图中, 菱形框 是有来判断的 ,这节课 我们就用到 菱形框)
二、 选择结构的 三种情况
选择结构也称为分支结构,可以分为三种情况
单分支选择结构 if
面临的选择是:要么执行一个操作,要么跳过它
双分支选择结构 if else
面临的选择是:在两个不同的操作中选择其中的一个来执行
多分支选择结构 if else if 、 switch
面临的选择是:2种以上的选择(需要连续执行多个条件判断)
Break 不是switch 专有语句,if 里面也可以使用。
在讲注意事项之前大家先在机器敲下下面的三段代码:
(1) case与后边常量表达式之间必须有 空格。
举例子: Case1; case 1;
(2) 有无break都行,一般都有,作用是跳出switch.
case是入口 break是出口
(3) default是缺省值,可有可无,意思是除case 后所有情况(值)下的其它情况(值)。
default,可有可无,顺序无所谓!!!!
(4) 各case和default可以任意互换位置,并不影响程序和逻辑的正常运行。
(5) case后边的常量表达式不能出现同一个值,否则程序报错!!!
(6) switch 后边的 表达式 可以是任意表达式,但是结果只能是整型 或单字符型。
(7) case 后边可以是 任意常量表达式, 但是结果只能是整型或单字符型。(+—*/)
三、 RAPTOR之选择结构及Raptor中的关系和逻辑运算符
分支结构(selection)
1.可以按条件判断,分流执行
2.同条件语句判断别True和False
选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。
四、 选择结构有三种,对应的代码是 什么样的??
程序设计语言中
选择结构 一般有两大语法: 一是if语句; 二是switch语句。
首先我们来学习下if语句, if翻译成中文是 如果的意思,
现在让你以汉语“如果”造句,你会想到什么呢?
如果———就———否则———。
If ( 判断条件/ 表达式 )
{
}
if表达式 一般为 逻辑表达式 或 关系表达式(判断的是某个区域),也可以是常量表达式,但是比较少,
判断条件的结果只有”真”或”假”。
判断的值:真1 假 0;
逻辑值 只能用 0和1来表示!!!!!
结果 可以用 真和假来表示!!!
- 1. 单分支语句 if
(1) 格式
If (表达式)
{
执行语句;
}
如果表达式为真(成立),则执行语句,否则什么都不做。
注意:
if后面只有一条语句时,可以不用 { },
多条语句时一定要加 { };
但是 建议初学者if( ) 后紧接{ }。
****小括号后面 不加分号!!!
****大括号后面 不加分号!!!
- 2. 双分支语句 if-else
(1) 格式
if(表达式)
{ 语句1;}
else
{ 语句2;}
如果表达式为真(成立),则只执行语句1;否则执行语句2。
注:if后面语句1只有一条语句时,可以不用{ },多条语句时一定要加{ };
If else和if一样,只有一条语句时,可以不用{ },多条语句时一定要加{ };
所以建议 初学者if( )后接{}再接else再接 { }。
- 3. 多分支语句 if — else if
(1) 格式
if(表达式1)
{
语句1;
}
else if (表达式2)
{
语句2;
}
else
{
语句3;
} //语句1 2 3 是可以加上{}
如果表达式1为真(成立),则只执行语句1;
否则再次判断表达式2,
如果表达式2为真(成立),则执行语句2,否则执行语句3。
注:if—else if 与if—else一样,
当if后只有一条语句可以不加{ },多条必须加{ };
else后只有一条语句可以不加{ },多条必须加{ }。
******* else语句需与前面最接近它的, 且没有和其它else语句配对的 if 语句配对
- 4. if语句三大形式的比较
典型题目:else_语句需与前面最接近它的if语句进行配对。
- 5. if语句的灵活应用
通过以上案例说明,if—else或if—else if都可以转换成多个单if语句。
但是在写程序时还是双分支选择if—else ,多分支选if—else if.
算法—选择结构switch
一、 switch的思想及意义:
选择结构一般有两大语法: 一是if语句;(昨天的任务) 二是switch语句。
程序设计中选择结构的第二大语句就是:switch语句。
switch和if—else if一样都可以做多分支选择,
switch语句的思想 是把程序所有可能出现的值 的情况,列出一个情况表,
switch语句之所以被称为开关语句,
二、 switch与if比较
switch语句又称开关语句,是选择结构的一种语法。
switch语句与if语句相比较,一般指的是if语句的第三大形式if—else if,也就是我分支语句的比较。
- 1. 代码的易读性及全面性
(1) switch 语句写出的程序,可读性非常好,整体流程看起来清晰明确。
(2) if语句适应性非常强,可以处理的情况与switch比较要更加全面。
比如说字符串比较就只能用if语句。
- 2. 代码的值的判断
(1) if表达式一般为逻辑表达式或关系表达式(判断的是某个区域,这里可以是任意表达式),也可以是常量表达式,但是比较少,判断条件的结果只有”真”或”假”。
(2) switch后的表达式可以是任意表达式,主要是某些情况下的某种情况的判断
(判断的是某个值),表达式的条件的结果可以根据输入或特定情况有n多种值,根据各值选择分支。
- 3. 分支的多少
(1) if一般应用于情况比较特殊的逻辑判断,或者情况很少的选择判断。
(2) switch一般应用于条件判断简单,但是分支很多的情况中使用。
- 4. switch的独有优点
(1) switch相对if来说,还有if比不了的优点就是在选择分支较多时,switch...case结构会生成跳转表,根据变量的取值跳转到合适的分支用switch...case结构会提高程序的效率
**************
- 5. 所有的switch语句都可以被if—else if替换,但是反过来则不一定。
三、 switch语句的应用
srwitch是开关的意思,所以有的书籍上也把它称为开关语句。switch语句主要用于选择结构多分支的情况下。
- 1. switch语句的一般格式。
switch(表达式)
{
case 常量表达式1:语句1; break;
case 常量表达式2:语句2; break;
... ...
default:语句;
}
switch的执行过程是判断表达式的值与case后常量表达式的值哪个相等,执行相应的语句后跳出switch.
- 2. switch语句的注意事项
Break 不是switch 专有语句,if 里面也可以使用。
在讲注意事项之前大家先在机器敲下下面的三段代码:
(8) case与后边常量表达式之间必须有 空格。
举例子: Case1; case 1;
(9) 有无break都行,一般都有,作用是跳出switch.
case是入口 break是出口
(10)default是缺省值,可有可无,意思是除case 后所有情况(值)下的其它情况(值)。
default,可有可无,顺序无所谓!!!!
(11)各case和default可以任意互换位置,并不影响程序和逻辑的正常运行。
(12) case后边的常量表达式不能出现同一个值,否则程序报错!!!
(13)switch 后边的 表达式 可以是任意表达式,但是结果只能是整型 或单字符型。
(14)case 后边可以是 任意常量表达式, 但是结果只能是整型或单字符型。(+—*/)
(15) 多个case可以执行同一组语句; 其实就是1的重复,无break继续向下,直到碰到break.
执行以下代码,运行查看效果
不是逐条匹配的!!!!
三个案例是:详细讲解 switch break
- 3. switch语句的不足
switch语句的不足在于只能进行某个值的判断,如果是某个区域如输入一个数a>90时做什么或者输入电影名称,查看电影简介,这时就只能用if—else if了。
猜数字代码(猜错会关机哦)
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "stdlib.h"
int main()
{
int a,b,sum;
sum=;
srand((unsigned)time(NULL));
a=rand()%;
printf("猜一猜,猜错会关机的哦\n");
printf("请输入数字\n");
while()
{
sum--;
scanf("%d",&b);
printf("%d",a);
if(b>a)
printf("大了,还剩下%d次机会,请继续\n",sum);
if(b<a)
printf("小了,还剩下%d次机会,请继续\n",sum);
if(b==a)
{
printf("恭喜你,答对了!\n");
break; }
if(sum==)
{
printf("没有机会了,系统将在60秒内关机\n");
system("shutdown -s -t 50");
break; } }
system("pause");
return ; }
C语言入门6-选择结构--f语句-switch的更多相关文章
- Golang的选择结构-if语句
Golang的选择结构-if语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ()登录Q ...
- 选择结构if语句和switch语句的区别
------- android培训.java培训.期待与您交流! ---------- 1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if( ...
- 选择结构if、switch
选择结构if.switch 一.if三种形式 if if-else 3.if -else if -else 二.switch 针对某个表达式的值做出判断,成为决定执行代码块 switch 语句特点: ...
- 程序选择结构if和switch的定义以及使用方法
什么是if选择结构 if选择结构是根据条件判断之后在做处理 基本的if选择结构的语法 if(条件){//条件为真则执行代码1,否则不执行 //代码块1 } if-else选择结构 为什么使 ...
- 【C语言】-选择结构-if语句
if语句:也可称条件语句,是根据所给定条件的值是真还是假决定执行不同的分支. if语句有单分支.双分支.多分支以及if语句的嵌套等多种形式. 单分支if语句: if (条件表达式) { 语句组1; } ...
- 03-03 java 顺序语句结构,选择结构if语句
顺序结构: /* 流程控制语句:可以控制程序的执行流程. 分类: 顺序结构 选择结构 循环结构 顺序结构: 从上往下,依次执行. */ class ShunXuJieGouDemo { public ...
- 练习-用if语句替换三元运算符和选择结构-标准的switch语句
if语句和三元运算符的互换 在某些简单的应用中,if语句是可以和三元运算符互换使用的 public static void main(String[] args) { int a = 10; int ...
- [C语言入门笔记]分支结构与数组
分支结构与数组 什么是分支结构? 分支结构是用户或者程序可以选择下一步执行哪个语句 分支结构有哪些? If If Else If Else If Switch 在初学者的学习过程中第一种和第二种比较普 ...
- F#语言入门之什么是F#语言
F#是一种函数式编程语言,可以轻松编写正确且可维护的代码. F#编程主要涉及定义类型推断和自动泛化的类型和函数. 这使您可以将焦点保留在问题域上并操纵其数据,而不是编程的细节. open System ...
随机推荐
- Qt设置窗体的透明度: setWindowOpacity
在Qt中,设置窗体透明度的函数有:void setWindowOpacity(qreal level) 特性: 透明度的有效范围从1.0(完全不透明)到0.0(完全透明的). 默认情况下,此属 ...
- java集合框架collection(3)Set、List和Map
Set.List和Map是java collection中最常用的三种数据结构. Set是集合,不允许有重复的元素,List是动态数组实现的列表,有序可重复,Map是key-value的键值对,用于快 ...
- Docker最全教程之使用Node.js搭建团队技术文档站(二十三)
前言 各种编程语言均有其优势和生态,有兴趣的朋友完全可以涉猎多门语言.在平常的工作之中,也可以尝试选择相对适合的编程语言来完成相关的工作. 在团队技术文档站搭建这块,笔者尝试了许多框架,最终还是选择了 ...
- Centos 7 防火墙 firewalld 简单使用说明
1.firewalld简介 firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务:第二个就是加入了防火墙的“zone”概念 2.firewalld命令行界面管 ...
- 打印第二列为oldboy的第一列内容(awk,grep,sed用法)
[root@goldtest ~]# cat ip.log 10.0.0.1 oldboy 10.0.0.2 oldgirl 10.0.0.4 tingting 10.0.0.4 oldboy old ...
- Java打印实心、空心的三角形和菱形
1.实心三角形 代码: import java.util.Scanner; public class Test { public static void main(String[] args) { i ...
- .NET平台简介
前言: 看到一个名词:搜商(SQ),还挺有趣.讲的是在互联网时代,怎么能够快速找到自己所需信息或资源,成为一种能力,并将其提升到类似智商.情商的概念.在以后工作过程中,尽量提高自己获取.辨别.处理信息 ...
- Mybatis_three
延迟加载 实现多对一的延迟加载(association) 例如下面的:有很多个账户信息(招商\工商\农商)是属于一个用户人的 [需求] 查询账户(Account)信息并且关联查询用户(User)信息. ...
- Ajax出现error常见情况(详细版)-火狐浏览器(Firefox)兼容性问题
作为一个程序员,遇到兼容性问题真的很苦恼,尤其是对我这种前端小菜鸡来说遇到了甚是凄惨.一般来说兼容性问题出现率Chrome < IE < Firefox (╯°Д°)╯︵┴┴ . 言归正 ...
- python 基本数据类型之字符串功能
字符串常用功能: # name.upper() #全部大写变小写 # name.lower() #全部小写变大写 # name.split() #分割 # name.find() #找到指定子序列的索 ...