C语言程序设计
----教学过程篇选择结构程序设计
Switch语句是多分支选择语句,用来实现多分支选择结构格式为:
switch(表达式 )
{case 常量表达式 1:语句 1
case 常量表达式 2:语句 2
case 常量表达式 3:语句 3
case 常量表达式 4:语句 4
case 常量表达式 5:语句 5 }
选择结构程序设计
Switch括号内表达式可以为任何类型
每个 case语句的常量表达式的值必须互不相同
当表达式和 case后面的常量表达式的值相等时,执行 case后的语句,如果不匹配,则执行 default后的语句
Case和 default语句之间的出现次序互相不影响执行结果
执行完一个 case语句,自动执行下一条
case语句选择结构程序设计
执行完一个 case分支后,如果要使程序跳出 switch结构体,则要在 case语句后面加一个 break语句即可选择结构程序设计 (程序 1)
#include <stdio.h>
#include <stdlib.h>
main()
{
int i;
printf("请选择你的年龄段,\n");
printf("1,0~5岁 \n");
printf("2,6~12岁 \n");
printf("3,13~17岁 \n");
printf("4,18~29岁 \n");
printf("5,30~60岁 \n");
printf("6,60~100岁 \n");
选择结构程序设计(程序 1)
printf("7,100岁以上 \n");
scanf("%d",&i);
switch(i)
{case 1:printf("你处在婴儿期! ");break;
case 2:printf("你处于儿童期! "); break;
case 3:printf("你处在青少年期! ");break;
case 4:printf("你处在青年期! ");break;
case 5:printf("你处在中年期! ");break;
case 6:printf("你已经进入老年期! ");break;
case 7:printf("您是寿星,祝您长寿! ");break;
default,printf(“你的输入不正确!” ); } system("pause");}
选择结构程序设计(程序 2)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
main()
{
double x,y,length;
printf("请输入坐标,\n");
scanf("%lf,%lf",&x,&y);
if((x==0)||(y==0))
{
printf("该坐标的高度为,0 米 \n");
}
else
{
选择结构程序设计(程序 2)
if((x>=0)&&(y>=0))
{
length=sqrt(pow((x-2),2)+pow((y-2),2));
printf("该坐标位于第一象限 \n"); }
if((x>0)&&(y<0))
{
length=sqrt(pow((x-2),2)+pow((y+2),2));
printf("该坐标位于第四象限 \n");
}
if((x<0)&&(y<0))
{
length=sqrt(pow((x+2),2)+pow((y+2),2));
printf("该坐标位于第三象限 \n");
}
选择结构程序设计(程序 2)
if((x<0)&&(y>0))
{
length=sqrt(pow((x+2),2)+pow((y-2),2));
printf("该坐标位于第二象限 \n");
}
//printf("%lf",length);
if(length<=1)
{
printf("该坐标的高度为,10 米 \n");
}
else
{
printf("该坐标的高度为,0 米 \n");
}
选择结构程序设计(程序 2)
}
system("pause");
}
选择结构程序设计(程序 3)
#include <stdio.h>
#include <stdlib.h>
main()
{
float i,j;
printf("请输入当月的利润,\n");
scanf("%f",&i);
if(i<=100000)
{
printf("你的奖金为,%10.1f元 ",0.1*i);
}
if((i>100000)&&(i<=200000))
选择结构程序设计(程序 3)
{
j=100000*0.1+(i-100000)*0.075;
printf("你的奖金为,%10.1f元 ",j);
}
if((i>200000)&&(i<=400000))
{
j=100000*0.1+100000*0.075+(i-200000)*0.05;
printf("你的奖金为,%10.1f元 ",j);
}
if((i>400000)&&(i<=600000))
{
选择结构程序设计(程序 3)
j=100000*0.1+100000*0.075+200000*0.05+(i-
400000)*0.03;
printf("你的奖金为,%10.1f元 ",j);
}
if((i>600000)&&(i<=1000000))
{
j=100000*0.1+100000*0.075+200000*0.05+200000*0.
03+(i-600000)*0.015;
printf("你的奖金为,%10.1f元 ",j);
}
选择结构程序设计(程序 3)
if(i>1000000)
{
j=100000*0.1+100000*0.075+200000*0.05+200
000*0.03+400000*0.015+(i-1000000)*0.1;
printf("你的奖金为,%10.1f元 ",j);
}
system("pause");
}
选择结构程序设计(程序 4)
#include <stdio.h>
#include <stdlib.h>
main()
{
int score;
float i;
printf("please input your score:\n");
scanf("%f",&i);
score=(int)(i/10);
switch(score)
{
case 0:printf("你的成绩等级是,E");break;
选择结构程序设计(程序 4)
case 1:printf("你的成绩等级是,E");break;
case 2:printf("你的成绩等级是,E");break;
case 3:printf("你的成绩等级是,E");break;
case 4:printf("你的成绩等级是,E");break;
case 5:printf("你的成绩等级是,E");break;
case 6:printf("你的成绩等级是,D");break;
case 7:printf("你的成绩等级是,C");break;
case 8:printf("你的成绩等级是,B");break;
case 9:printf("你的成绩等级是,A");break;
case 10:printf("你的成绩等级是,A");break;
default:printf("输入错误! ");}
system("pause"); }
选择结构程序设计(程序 5)
#include <stdio.h>
#include <stdlib.h>
#define k 4
main()
{
int a[k],i,j,temp;
printf("please input four integers:\n");
for(i=0;i<k;i++)
{
scanf("%d",&a[i]);
}
选择结构程序设计(程序 5)
for(j=0;j<k-1;j++)
{
for(i=0;i<k;i++)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
选择结构程序设计(程序 5)
for(i=0;i<k;i++)
{
printf("%d ",a[i]);
}
printf("\t");
system("pause");
}