在很多情况下,需要根据某个条件是否满足来决定是否执行指定的操作任务,或者从给定的两种或多种操作选择其一。这就是选择结构要解决的问题。
4.1 选择结构和条件判断
C语言有两种选择语句:(1)if语句,用来实现两个分支的选择结构;(2)switch语句,用来实现多分支的选择结构。
4.2 用if语句实现选择结构
4.2.1 用if语句举例
[例4.2] 输入两个实数,按由小到大的顺序输出这两个数。
编写程序:
#include<stdio.h> int main(){ float a,b,t; scanf("%f,%f",&a,&b); if(a>b){ t=a; a=b; b=t; } printf("%5.2f,%5.2f\n",a,b); return 0; }
4.2.2 if 语句的一般形式
(1)if(表达式) 语句1
(2)if(表达式)
语句1
else
语句2
(3)if(表达式) 语句1
else if (表达式2) 语句2
4.7 用switch语句实现多分支选择结构
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("enter data error!\n"); } return 0; }
4.8 选择结构程序综合举例
题目:写一个程序,判断某一年是否为闰年。
编写程序:
#include<stdio.h> int main(){ int year,leap; printf("enter year:"); scanf("%d",&year); if(year%4==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; }