当前课程知识点:C语言程序设计基础 >  2.选择结构程序设计 >  2.3 实现分支结构的语句 >  html

返回《C语言程序设计基础》慕课在线视频课程列表

html资料文件与下载

html

IF语句

if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。

if语句的三种形式

1.       第一种形式为基本形式:if

    if(表达式) 语句

其语义是:如果表达式的值为真,则执行其后的语句, 否则不执行该语句。

例:求两个数中较大数

main(){

    int a,b,max;

    printf("\n input two numbers:   ");

    scanf("%d%d",&a,&b);

    max=a;

    if (max<b) max=b;

    printf("max=%d",max);

}

第二种形式为: if-else

if(表达式) 

          语句1; 

        else 

          语句2;

 其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。

例求两个数中较大数

  main()

{ int a, b;

    printf("input two numbers:     ");

    scanf("%d%d",&a,&b);

    if(a>b)

      printf("max=%d\n",a);

    else

      printf("max=%d\n",b);

}

   第三种形式为if-else-if形式

前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:

if(表达式1)

        语句1;

    else  if(表达式2) 

        语句2;

    else  if(表达式3) 

        语句3;

         

    else  if(表达式m) 

        语句m;

    else

        语句n;

其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。

  if语句的嵌套

if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。

其一般形式可表示如下:

    if(表达式) 

        if语句; 

或者为

        if(表达式) 

           if语句; 

        else 

           if语句;

在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。

例如:

    if(表达式1)

        if(表达式2)

            语句1;

        else

语句2;

其中的else究竟是与哪一个if配对呢?

应该理解为:

   if(表达式1)

        if(表达式2)

           语句1;

      else

           语句2;

还是应理解为:

    if(表达式1)

        if(表达式2)

            语句1;

    else

        语句2;

为了避免这种二义性,C语言规定,else 总是与它前面最近的if配对,因此对上述例子应按前一种情况理解。

条件运算符和条件表达式

    如果在条件语句中,只执行单个的赋值语句时, 常可使用条件表达式来实现。不但使程序简洁,也提高了运行效率。

条件运算符为?和:,它是一个三目运算符,即有三个参与运算的量。

由条件运算符组成条件表达式的一般形式为:

    表达式1?  表达式2: 表达式3

其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值。

条件表达式通常用于赋值语句之中。

SWITCH语句

C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:

    switch(表达式){ 

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

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

         

        case常量表达式n:  语句n;

        default        :  语句n+1;

        }

    其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

在使用switch语句时还应注意以下几点:

1)       case后的各常量表达式的值不能相同,否则会出现错误。

2)       case后,允许有多个语句,可以不用{}括起来。

3)       case和default子句的先后顺序可以变动,而不会影响程序执行结果。

4)       default子句可以省略不用。

下一节:3.1 循环控制结构

返回《C语言程序设计基础》慕课在线视频列表

C语言程序设计基础课程列表:

1.顺序结构程序设计

-1.1 C语言概述

--1.1 C语言概述

--html

-1.顺序结构程序设计--1.1 C语言概述

-1.2 C语言中的数据类型

--1.2 C语言中的数据类型

--html

-1.2 C语言中的数据类型--作业

-1.3 运算符和表达式

--1.3 运算符和表达式

--html

--html

-1.3 运算符和表达式--作业

-1.4键盘输入和屏幕输出

--1.4键盘输入和屏幕输出

--html

-1.4键盘输入和屏幕输出--作业

2.选择结构程序设计

-2.1 算法

--2.1 算法

--html

-2.1 算法--作业

-2.2 关系运算符与逻辑运算符

--2.2 关系运算符与逻辑运算符

--html

-2.2 关系运算符与逻辑运算符--作业

-2.3 实现分支结构的语句

--2.3 实现分支结构的语句

--html

-2.3 实现分支结构的语句--作业

-随堂测验--作业

3.循环结构程序设计

-3.1 循环控制结构

--3.1 循环控制结构

--html

-3.循环结构程序设计--3.1 循环控制结构

-3.2 流程的转移以及循环嵌套

--3.2 流程的转移以及循环嵌套

--html

-3.循环结构程序设计--3.2 流程的转移以及循环嵌套

-3.3 计数、条件控制的循环

--3.3 计数、条件控制的循环

-3.循环结构程序设计--3.3 计数、条件控制的循环

-本章测试--作业

4.数组

-4.1 一维数组的定义及引用

-- 一维数组的定义及引用

--html

-4.1 一维数组的定义及引用--作业

-4.2 二维数组的定义及引用

--Video

--html

-4.2 二维数组的定义及引用--作业

-4.3 字符数组

--Video

--html

-4.3 字符数组--作业

-本章测试--作业

5.函数

-5.1 函数的定义、调用

--Video

--html

-5.1 函数的定义、调用--作业

-5.2 函数嵌套调用和递归调用

--5.2 函数嵌套调用和递归调用

--html

-5.2 函数嵌套调用和递归调用--作业

-5.3 变量的时间空间

--5.3 变量的时间空间

--html

-5.3 变量的时间空间--作业

-期中考试--作业

-本章测试--作业

6.指针

-6.1 指针的概念

--指针的概念

--html

-6.1 指针的概念--作业

-6.2 指针的应用

--6.2 指针的应用

--html

-6.2 指针的应用--作业

-本章测试--作业

7.结构体与共用体

-7.1 结构体

--Video

--html

-7.1 结构体--作业

-7.2 共用体

--7.2 共用体

-7.2 共用体--作业

8.文件

-8.1 文件的指针

--8.1 文件的指针

-8.1 文件的指针--作业

-8.2 文件的读写

--8.2 文件的读写

-8.2 文件的读写--作业

9.综合实例

-9..1综合实例

--综合实例

-9..1综合实例--作业

html笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。