一、     什么是选择结构?

选择结构,也称为分支结构!!

选择结构就是根据    给定的判定条件,判断结果,

并根据  判断的结果   来控制程序的流程

(流程图中,   菱形框 是有来判断的 ,这节课 我们就用到 菱形框)

二、     选择结构的   三种情况

选择结构也称为分支结构,可以分为三种情况

单分支选择结构   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. 1.        单分支语句   if

(1)   格式

If  (表达式)

{

执行语句;

}

如果表达式为真(成立),则执行语句,否则什么都不做。

注意:

if后面只有一条语句时,可以不用  {  },

多条语句时一定要加    {  };

但是  建议初学者if(  )  后紧接{     }。

****小括号后面    不加分号!!!

****大括号后面    不加分号!!!

 

  1. 2.        双分支语句   if-else

(1) 格式

if(表达式)

{ 语句1;}

else

{ 语句2;}

如果表达式为真(成立),则只执行语句1;否则执行语句2。

注:if后面语句1只有一条语句时,可以不用{ },多条语句时一定要加{ };

If   else和if一样,只有一条语句时,可以不用{ },多条语句时一定要加{ };

所以建议   初学者if(   )后接{}再接else再接 {  }。

  1. 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  语句配对

  1. 4.       if语句三大形式的比较

典型题目:else_语句需与前面最接近它的if语句进行配对。

  1. 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.       代码的易读性及全面性

(1)      switch 语句写出的程序,可读性非常好,整体流程看起来清晰明确。

(2)      if语句适应性非常强,可以处理的情况与switch比较要更加全面。

比如说字符串比较就只能用if语句。

  1. 2.       代码的值的判断

(1)      if表达式一般为逻辑表达式或关系表达式(判断的是某个区域,这里可以是任意表达式),也可以是常量表达式,但是比较少,判断条件的结果只有”真”或”假”。

(2)        switch后的表达式可以是任意表达式,主要是某些情况下的某种情况的判断

(判断的是某个值),表达式的条件的结果可以根据输入或特定情况有n多种值,根据各值选择分支。

  1. 3.       分支的多少

(1)      if一般应用于情况比较特殊的逻辑判断,或者情况很少的选择判断。

(2)        switch一般应用于条件判断简单,但是分支很多的情况中使用。

  1. 4.       switch的独有优点

(1)      switch相对if来说,还有if比不了的优点就是在选择分支较多时,switch...case结构会生成跳转表,根据变量的取值跳转到合适的分支用switch...case结构会提高程序的效率

**************

  1. 5.       所有的switch语句都可以被if—else  if替换,但是反过来则不一定。

三、          switch语句的应用

srwitch是开关的意思,所以有的书籍上也把它称为开关语句。switch语句主要用于选择结构多分支的情况下。

  1. 1.       switch语句的一般格式。

switch(表达式)

{

case 常量表达式1:语句1; break;

case 常量表达式2:语句2; break;

... ...

default:语句;

}

switch的执行过程是判断表达式的值与case后常量表达式的值哪个相等,执行相应的语句后跳出switch.

  1. 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

  1. 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的更多相关文章

  1. Golang的选择结构-if语句

    Golang的选择结构-if语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.选择语句应用场景概述 选择结构也称为条件判断,生活中关于判断的场景也非常的多,比如: ()登录Q ...

  2. 选择结构if语句和switch语句的区别

    ------- android培训.java培训.期待与您交流! ---------- 1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if( ...

  3. 选择结构if、switch

    选择结构if.switch 一.if三种形式 if if-else 3.if -else if -else 二.switch 针对某个表达式的值做出判断,成为决定执行代码块 switch 语句特点: ...

  4. 程序选择结构if和switch的定义以及使用方法

       什么是if选择结构 if选择结构是根据条件判断之后在做处理 基本的if选择结构的语法 if(条件){//条件为真则执行代码1,否则不执行  //代码块1 }   if-else选择结构 为什么使 ...

  5. 【C语言】-选择结构-if语句

    if语句:也可称条件语句,是根据所给定条件的值是真还是假决定执行不同的分支. if语句有单分支.双分支.多分支以及if语句的嵌套等多种形式. 单分支if语句: if (条件表达式) { 语句组1; } ...

  6. 03-03 java 顺序语句结构,选择结构if语句

    顺序结构: /* 流程控制语句:可以控制程序的执行流程. 分类: 顺序结构 选择结构 循环结构 顺序结构: 从上往下,依次执行. */ class ShunXuJieGouDemo { public ...

  7. 练习-用if语句替换三元运算符和选择结构-标准的switch语句

    if语句和三元运算符的互换 在某些简单的应用中,if语句是可以和三元运算符互换使用的 public static void main(String[] args) { int a = 10; int ...

  8. [C语言入门笔记]分支结构与数组

    分支结构与数组 什么是分支结构? 分支结构是用户或者程序可以选择下一步执行哪个语句 分支结构有哪些? If If Else If Else If Switch 在初学者的学习过程中第一种和第二种比较普 ...

  9. F#语言入门之什么是F#语言

    F#是一种函数式编程语言,可以轻松编写正确且可维护的代码. F#编程主要涉及定义类型推断和自动泛化的类型和函数. 这使您可以将焦点保留在问题域上并操纵其数据,而不是编程的细节. open System ...

随机推荐

  1. Qt设置窗体的透明度: setWindowOpacity

    在Qt中,设置窗体透明度的函数有:void   setWindowOpacity(qreal level)   特性: 透明度的有效范围从1.0(完全不透明)到0.0(完全透明的). 默认情况下,此属 ...

  2. java集合框架collection(3)Set、List和Map

    Set.List和Map是java collection中最常用的三种数据结构. Set是集合,不允许有重复的元素,List是动态数组实现的列表,有序可重复,Map是key-value的键值对,用于快 ...

  3. Docker最全教程之使用Node.js搭建团队技术文档站(二十三)

    前言 各种编程语言均有其优势和生态,有兴趣的朋友完全可以涉猎多门语言.在平常的工作之中,也可以尝试选择相对适合的编程语言来完成相关的工作. 在团队技术文档站搭建这块,笔者尝试了许多框架,最终还是选择了 ...

  4. Centos 7 防火墙 firewalld 简单使用说明

    1.firewalld简介 firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务:第二个就是加入了防火墙的“zone”概念   2.firewalld命令行界面管 ...

  5. 打印第二列为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 ...

  6. Java打印实心、空心的三角形和菱形

    1.实心三角形 代码: import java.util.Scanner; public class Test { public static void main(String[] args) { i ...

  7. .NET平台简介

    前言: 看到一个名词:搜商(SQ),还挺有趣.讲的是在互联网时代,怎么能够快速找到自己所需信息或资源,成为一种能力,并将其提升到类似智商.情商的概念.在以后工作过程中,尽量提高自己获取.辨别.处理信息 ...

  8. Mybatis_three

    延迟加载 实现多对一的延迟加载(association) 例如下面的:有很多个账户信息(招商\工商\农商)是属于一个用户人的 [需求] 查询账户(Account)信息并且关联查询用户(User)信息. ...

  9. Ajax出现error常见情况(详细版)-火狐浏览器(Firefox)兼容性问题

    作为一个程序员,遇到兼容性问题真的很苦恼,尤其是对我这种前端小菜鸡来说遇到了甚是凄惨.一般来说兼容性问题出现率Chrome < IE < Firefox  (╯°Д°)╯︵┴┴ . 言归正 ...

  10. python 基本数据类型之字符串功能

    字符串常用功能: # name.upper() #全部大写变小写 # name.lower() #全部小写变大写 # name.split() #分割 # name.find() #找到指定子序列的索 ...