小白的C程序设计(5)

这是第五篇,我准备记一下“选择结构程序设计”的笔记。
众所周知,在很多情况下,我们需要根据某个条件是否满足来决定是否执行指定的操作任务,或者我们需要从给定的多种操作选择其一,选择结构就可以解决这样的问题。

一.if 语句的选择结构及其嵌套
1.
if(表达式)语句1

if(表达式)
语句1
else
语句2
3.
if (表达式1) 语句1
else if(表达式2) 语句2
else if(表达式3) 语句3
… …
else if (表达式m) 语句m
else 语句m+1

这个形式下的 if 语句拥有“内嵌语句”,每个内嵌语句的末尾都要有分号。
在系统对 if 语句编译时,如果发现出现分号,还会检查其后有无 else ,如果没有,就认为整个 if 语句结束,如果有。则把 else 子句作为 if 语句的一部分;else 语句不能单独使用。
4.
if()
if() 语句1
else 语句2
else
if() 语句3
else 语句4

在这里要注意配对关系,else 总是与它上面最近的未配对的 if 配对。因此为了使程序清晰易读,最好采用锯齿形的缩进形式。

二.switch 多分支选择结构
当分支较多时,比如说成绩分类,使用嵌套的 if 语句会使程序冗长而且可读性降低,这时我们可以使用 switch 语句直接处理多分支选择。

#include<stdio.h>
int main ()
{
  char grade;
  scanf("%c",&grade);
  printf("Your score:");
  switch(grade)
    {
    case 'A':printf("85~100\n");break;
    case 'B':printf("70~84\n");break;
    case 'C':printf("60~69\n");break;
    case 'D':printf("<60\n");break;
    default:printf("输入了错误数据!\n");
    }
  return 0;
  }

switch(表达式)
{
case 常量1 : 语句1
case 常量2 : 语句2
… … …
case 常量n : 语句n
default : 语句n+1
}
switch 表达式值的类型应为整数类型(包括字符型)。
switch 下面的花括号内是一个复合语句,在执行时,先计算 switch 后面的“表达式”的值,然后将它与各 case 标号比较,如果与某一个 case 标号中的常量相同,流程就转到此 case 标号后面的语句;如果没有与 switch 表达式相匹配的 case 常量,流程就转去执行 default 标号后面的语句,若没有 default 标号,此时还没有与 switch 相匹配的 case 常量。则不执行任何语句,流程转到 switch 语句的下一个语句。
case 标号出现的次序不影响执行结果,但每一个 case 常量必须互不相同。
一般情况下,在执行一个case子句后,应当用 break 语句使流程跳出 switch 结构,这样就可以终止 switch 语句的执行。

#include <stdio.h>
int main ()
{
void action 1 (int t,int t),action 2 (int,int);//函数声明
char ch;
int a=15,b=23;
ch=getchar()
switch(ch)
  {
  case 'a':
  case 'A':action 1(a,b);break;
  case 'b':
  case 'B':action 2(a,b);break;
    ......
  default:putchar('\a');
  }
 return 0;
 }

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值