选择结构程序设计C语言

选择结构程序设计C语言笔记

    在现实生活中,需要进行判断和选择的情况是很多的。

如:在高速路上的一个岔路口,有两个出口。驾车者需要根
据自己的需要,从二者中选择一条路径。然而在C语言程序
设计中也有选择结构,让我们来了解一下吧!

?if 结构
先判断,后执行。
if语句的一般形式如下:
if(条件为真)
{
//代码块1
}
else
{
//代码块2
}

kk在这里插入图片描述
例题:输入两个整数,按由小到大的顺序输出这两个数。

解题思路:这个问题的算法很简单,只要做一次比较,然后进行一次交换即可。关键在于如何实现两个变量的值的互换。这时候我们可以借助第3个变量。
#include<stdio.h>
int main()
{
int a,b,c
printf(“please input the number: \n”);
scanf("%d%d",&a,&b);
if(a>b)
{
c = b;
b = a;
a = c;
}
printf("%d%d"\n,m,n);
}
? 多重 if 结构
常用来进行区间判断
if(条件1)
{
//代码块1
}
else if(条件2)
{
//代码块2
}
else
{
//代码块3
}
在这里插入图片描述
例题:给一串乱码,输出有多少字母,数字,空格,或者其他。
#include<stdio.h>
int main ()
{
int i = 0,j = 0,n = 0,m = 0;
char c;
while((c=getchar())!=’\n’)
{
if((c>=‘A’&&c<=‘Z’)||(c>=‘a’&&c<=‘z’))
i++;
else if(c ==’ ')
j++;
else if(c>=‘0’&&c<=‘9’)
n++;
else
m++;
}
printf(“字母: %d空格: %d数字: %d其他: %d”,i,j,n,m);
return 0;
}
在这里插入图片描述
if只有两个分支可供选择,而实际问题中常常需要多分支选择。例如学生成绩分类,人口统计分类等等。当然这些都可以多层嵌套的if语句来处理,但是如果分支过多,则嵌套的if语句层数多,程序太长且可读性降低。这时候C语言提供的switch语句直接处理多分支选择。

?swtich 结构
switch(表达式)
{
case 常量1: 语句1;
break;
case 常量2: 语句2;
break;

default: 语句;(以上都不满足的再发生情况)
例如:学生成绩的等级的输出
#include<stdio.h>
  int main()
  {
  char grade;
  printf(“Your score:\n”);
  scanf("%c",&grade);
  switch(grade)//注意switch((int)score/10)出现严重错误,switch(((int)score)/10)出现严重错误,
  {
  case ‘A’:printf(“90~100\n”);break;
  case ‘B’:printf(“80~89\n”);break;
  case ‘C’:printf(“70~79\n”);break;
  case ‘D’:printf("(60~69\n");break;
  case ‘E’:printf(“0~59\n”);break;
  default:printf(“error!\n”);break;
  }
  return 0;
  }
  运行结果 A
  Your score:90~100

注意啦!
1,switch后的表达式只能是整型或者字符型。
2,case后常量表达式的值不能相同。
3,case后允许许多条语句,不需要大括弧号。
4,如果不添加break语句,需要特别注意执行顺序。
5,case和default子句的先后顺序可以自行变动。
6,default 子句可以省略。

switch和多重if的对比:
相同点
都是用来处理多分支条件的结构。
不同点
swtich (杀鸡刀) 等值条件判断——条件是有限个的时候
多重if (杀牛刀) 判断某个连续区间的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值