选择结构程序设计

一、C语言中有两种选择语句:

(1)if 语句,用来实现两个分支的选择结构。

(2)switch 语句,用来实现多分支的选择结构。

二、用if语句实现选择结构

例如程序

#include <stdio.h>
int main()
 {
   float a,b,t;
   scanf("%f,%f",&a,&b);
   if(a>b)
     {
 //将a、b的值互换
       t=a;
       a=b;
       b=t;
     }
   printf("%5.2f,%5.2f\n",a,b);
   return 0;
 }

在此程序中,对a和b两个变量进行 if 判断,如果a大于b,两值互换,否则不互换。

三、if 语句的一般形式有:

(1)if (表达式)  语句1    (没有else子句部分)

(2)if (表达式) (有else子句部分)

          语句1

     else

         语句2

(3)if (表达式1) 语句1 (在else部分有嵌套了多层的if语句)

        else  if(表达式2)语句2

        else if(表达式3)语句3

      ........

       else  if(表达式m)语句m

       else                         语句m+1

四、选择结构的嵌套

if  语句的嵌套的一般形式:

if ()

   if()  语句  1

   else    语句  2     

else

   if()  语句  3

   else    语句  4  

五、switch语句实现多分支选择结构

例题:按照考试成绩的等级输出百分制分数段,A等级为85分以上,B等级为70~84分,C等级为60~69分,D等级为60分以下。

#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;
      defult :printf("enter data error!\n");
      }
return 0;

}

 在每个case 语句中,最后都有一个break语句,它的作用是使流程转到switch语句的末尾处。

switch语句的一般形式为:

switch(表达式)

{

case  常量1:语句1

case  常量2:语句2

.....

case  常量n:语句n

default  :        语句n+1

}

六、选择结构程序综合举例:

写一程序,判断某一年是否为闰年

#include<stdio.h>
int main()
{
  int year,leap;
  printf("enter yaer:");
  scanf("%d",&year);
  if(year%4==0)
   {
     if(year%100==0)
      { 
       if(year%400==0)
         leap=1;
       else
         leap=0;
      }
      else 
        leap=1;
    }

    else 
     leap=0;
    if(leap)
       printf("%d is",year);
    else
       printf("%d  is not ",year);
    printf("a leap year.\n");
    return 0;
}

分析:

(1)变量year代表年份,leap是一个标志变量,用来判断是否为闰年,如果为闰年,则leap=1,否则leap =0;

(2)if (leap)如果leap的值不为零,则if  判断结果为真。写  if(leap)与  if(leap!=0)含义相同。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学习的太阳花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值