选择结构程序设计

本文章介绍的是三种基本结构中的、选择结构。

选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。

是非常常见的一种解决问题的方法。

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

1.if语句,实现两个分支的选择结构。

2.switch 语句,实现多个分支的选择结构。


1.if语句

if语句的3种形式

if (表达式)
{
	语句1;
}
if (表达式)
{
	语句1;
}
else
{
	语句2;
}
if (表达式)
{
	语句1;
}
else if(表达式)
{
    语句2;
}
..................
else if(表达式)
{
    语句n;
}
else                //最后else可以省略
{
	语句n+1;
}

表达式符合(逻辑表达式)、(关系表达式)、(数值表达式);

语句则是(简单语句)(复合语句)(另一个if语句)(等);

举个例子:

#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
if (a>2)
{
	printf("666");
}
else
{
	printf("888");
}
return 0;
}

如果输入大于二的数字,就会输出666,否则888;

if语句根据题目需求来改变if后括号的表达式达到目的;

———————————————————————————————————————————

现在最基本的if语句知识基本讲述完毕,可以看一个例题。

输入3个整数a,b,c,要求由小到大顺序输出。

#############################################################################

思路: 将a,b,c,三个输入整数进行比较最小的数赋值给a,最大的数赋值给c。

可以先用伪代码的方法写出算法:

①scanf("%d %d %d",&a,&b,&c);

②if  a>b  a,b对换

③if  a>c  a,c对换

④if  b>c  b,c对换

⑤printf("%d %d %d",a,b,c);

———————————————————————————————————————————

具体如下:

#include <stdio.h>
int main()
{
int a,b,c,m;
scanf("%d %d %d", &a, &b, &c);
if (a > b)
{
	m = a; a = b; b = m;
}
if (a > c)
{
	m = a; a = c; c = m;
}
if (b > c)
{
	m = b; b = c; c = m;
}
printf("%d %d %d", a, b, c);
return 0;
}

———————————————————————————————————————————

2.switch语句

switch的一般形式

switch(表达式)
{
    case 常量1 : 语句1; break;
    case 常量2 : 语句2; break;
      :    :       :     :
    case 常量n : 语句n; break;
    default : 语句n+1; break;
}

常量不能相同!;

表达式符合(整数类型 (包括字符类型));

语句则是(简单语句)(复合语句)(等);

举个例子:

#include<stdio.h>

int main()
{
int a;
scanf("%d",&a);
switch(a)
{
    case 1 : printf("111\n"); break;
    case 2 : printf("222\n"); break;
    default : printf("NO\n"); break;
}
return 0;
}

如果输入1,则输出111;

输入2,输出222;

输入其他,输出NO;

———————————————————————————————————————————

现在最基本的switch语句知识基本讲述完毕,可以看一个例题。

按照考试成绩的等级输出百分制,A为90分以上,B为80分到90分,C为60分到80分,D为60分以下。成绩由键盘输入

#############################################################################

思路:输入分数,然后利用switch 语句来进行选择所在分数等级。

①scanf("%d",&a);

②利用输入的a 来判断等级

③switch(a)    {  ......  }

———————————————————————————————————————————

具体如下:

#include<stdio.h>
int main()
{
	int a;
	scanf("%d", &a);
	switch (a/10)
	{
	case 1:;
	case 2:;
	case 3:;
	case 4:;
	case 5:printf("D"); break;
	case 6:;
	case 7:printf("C"); break;
	case 8:printf("B"); break;
	case 9:;
	case 10:printf("A"); break;
	}
	return 0;
}

———————————————————————————————————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值