C程序设计内容与例题讲解 -- 第四章--选择结构程序设计(第五版)谭浩强

简介: C程序设计内容与例题讲解 -- 第四章--选择结构程序设计(第五版)谭浩强

前言:在第三章我们介绍了顺序结构程序设计。在顺序结构中,各个语句是按自上而下的顺序执行的,执行完上一个语句就自动执行下一个语句,是无条件的,不必做任何判断。是这最简单的程序结构。实际上,在很多情况下,需要根据某个条件是否满足来决定是否执行指定的操作任务。

4.1 选择结构和条件判断

在现实生活中需要进行判断和选择的情况是很多的。如:从北京出发上高速公路,到一个岔路口,有两个出口,一个是去上海方向,另一个是沈阳方向。驾车者到此处必须进行判断,根据自己的目的地,从二者中选择一条路径。如下图

C语言有两种选择语句:

  1. if语句,用来实现两个分支的选择结构。
  2. switch语句,用来实现多分支的选择结构。

当然我们看例题来帮助我们来理解这些语句

例题:找出比较俩个数中的较大值

int main()
{
  int a = 0;
  int b = 0;
  scanf("%d %d", &a, &b);
  if (a > b)
  {
    printf("较大值是a = %d\n", a);
  }
  else
  {
    printf("较大值是b = %d\n", b);
  }
  return 0;
}

运行结果:

*

4.2 用if语句实现选择结构

从刚刚的例子我们不难看出,在C语言中选择结构主要是用if语句实现的。为了更进一步了解if语句的应用,下面再举两个简单的例子。

例题1:输入两个数,按由小到大的顺序输出这两个数。

int main()
{
  int a = 0;
  int b = 0;
  scanf("%d%d", &a, &b);
  if (a > b)
  {
    printf("%d %d", a, b);
  }
  else
  {
    printf("%d %d", b, a);
  }
  return 0;
}

运行结果:

例题2:输入3个数a,b,c按要求由小到大输出。

int main()
{
  int a = 0;
  int b = 0;
  int c = 0;
  int m = 0;
  scanf("%d%d%d", &a, &b,&c);
  //从小到大输出
  if (a > b)
  {
    m = a;
    a = b;
    b = m;
  }
  if (a > c)
  {
    m = a;
    a = c;
    c = m;
  }
  if (b > c)
  {
    m = b;
    b = c;
    c = m;
  }
  printf("%d %d %d \n", a, b, c);
  return 0;
}

运行结果:

4.2.2 if语句的一般形式

通过上面3个简单的例子,可以初步知道怎样使用if语句去实现选择结构。

if语句的一般形式如下:

if (表达式) 语句1
[ else 语句2]

根据if语句的一般形式,if语句可以写成不同的形式,最常用的由以下3种形式:

4.3 关系运算符和关系表达式

在C语言中,比较符(或称比较运算符)称为关系运算符。

C语言提供了6种关系运算符:

① < (小于)

② <= (小于等于)

③ > (大于)

④ >= (大于或等于)

⑤ == (等于等于)

⑥ !=(不等于)

4.3.2 关系表达式

用关系运算符将两个数值或者数值表达式连接起来的式子,称为关系表达式。例如:a > b, a + b > b + c, (a = 3) > (b = 5)

4.4 逻辑运算符和逻辑表达式

运算符 含义
&& 逻辑与(AND),a&&b如果a和b都为真,结果为真,否则为假
! 逻辑非!a 如果a为假则!a为真,如果a为真,则!a为假
|| 逻辑或 a||b

4.5 条件运算符与条件表达式

条件表达式的一般形式为:

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

他的执行过程如下图所示:

例题:输入一个字符,判别它是否为大写字母,如果是,将它转成小写字母,如果不是,不转换。然后输出最后得到的字符。

int main()
{
  char ch;
  scanf("%c", &ch);
  ch = (ch >= 'A' && ch <= 'Z') ? (ch + 32) : ch;
  printf("%c\n", ch);
  return 0;
}

运行结果:

好了今天的内容就讲到这里了,如果有讲的不好的地方希望各位多多指出!谢谢各位观看


相关文章
|
2月前
|
存储 移动开发 C语言
# C程序设计内容与例题讲解 -- 第三章第一部分(第五版)谭浩强
# C程序设计内容与例题讲解 -- 第三章第一部分(第五版)谭浩强
|
2月前
|
C语言 数据格式
C程序设计内容与例题讲解 -- 第三章第三部分(第五版)谭浩强
C程序设计内容与例题讲解 -- 第三章第三部分(第五版)谭浩强
|
2月前
|
存储 C语言
C程序设计内容与例题讲解 -- 第三章第二部分(第五版)谭浩强
C程序设计内容与例题讲解 -- 第三章第二部分(第五版)谭浩强
|
2月前
|
机器学习/深度学习 人工智能 C语言
【c语言基础题】— —第五版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第五版,可当作日常练习和期末复习,有奇效哟!
43 1
|
7月前
|
算法 C语言 C++
从C语言的使用转换到C++(上篇)——刷题、竞赛篇
从C语言的使用转换到C++(上篇)——刷题、竞赛篇
225 0
|
2月前
|
程序员 C语言 CDN
【c语言基础题】— —第三版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第三版,可当作日常练习和期末复习,有奇效哟!
80 0
|
2月前
|
C语言
C程序设计内容与例题讲解 -- 第四章--选择结构程序设计第二部分(第五版)谭浩强
C程序设计内容与例题讲解 -- 第四章--选择结构程序设计第二部分(第五版)谭浩强
|
2月前
|
算法 调度
C程序设计内容与例题讲解 -- 第二章(第五版)谭浩强
C程序设计内容与例题讲解 -- 第二章(第五版)谭浩强
|
2月前
|
自然语言处理 Java C#
C程序设计内容与例题讲解 -- 第一章(第五版)谭浩强
C程序设计内容与例题讲解 -- 第一章(第五版)谭浩强
|
2月前
|
C语言 wax
【c语言基础题】— —第四版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第四版,可当作日常练习和期末复习,有奇效哟!
90 0