C语言第二课:选择语句

一、if语句

例1:输入三个实数 a、b、c,按数值由小到大的顺序输出这三个数。
(该题不推荐使用if…else…来编写,因为如果要比较的数很多的话,就需要用很多if…else…来嵌套)

#include<stdio.h>

int main()
{
	double a,b,c,t;
	printf("请输入三个实数:\n");
	scanf("%lf,%lf,%lf",&a,&b,&c);
	if(a>b)
	{
		t=a;
		a=b;
		b=t;
	}
	if(a>c)
	{
		t=a;
		a=c;
		c=t;
	}
	if(b>c)
	{
		t=b;
		b=c;
		c=t;
	}
	printf("%f,%f,%f\n",a,b,c);
	
	return 0;
}  

二、常见的表达式形式(&&、||)

例1:请编一程序,判断某一年是否是闰年。(注:当年份不是 100 的倍数且是 4 的倍数时,该年是闰年;当年份是 100 的倍数且是 400的倍数时,该年也是闰年)

#include<stdio.h>

int main()
{
	int year;
	printf("请输入年份:\n");
	scanf("%d",&year);
	if((year%100!=0&&year%4==0)||(year%400==0))
	{
		printf("%d是闰年!\n",year);
	}
	else
	{
		printf("%d不是闰年!\n",year);
	}
	
	return 0;
}

例2:输入一个字符,判断它是否为大写字母,若是则将其转换成
//小写字母,若不是则不转换,然后输出最后得到的字符。

#include<stdio.h>
int main()
{
	char c;
	printf("请输入一个字符:\n");
	scanf("%c",&c);
	c=(c>='A'&&c<='Z')?c+32:c;
	printf("%c\n",c); 
	
	return 0;
}

三、表达式 1?表达式 2:表达式 3

例1:输入两个实数 a、b,按数值由小到大的顺序输出这两个数。

#include<stdio.h>

int main()
{
	double a,b;
	printf("请输入两个实数:\n");
	scanf("%lf,%lf",&a,&b);
	a>b?printf("%f,%f",b,a):printf("%f,%f",a,b);
	
	return 0;
}

四、 switch 语句

例1:某课成绩原为百分制,现要将其转成等级,规则是:90 分以上
为 A、80~89 分为 B、70~79 分为 C、60~69 分为 D、60 分以下
为 E。请编一程序,分数由键盘输入,输出等级。

#include<stdio.h>

int main()
{
	double score;
	printf("请输入分数:");
	scanf("%lf",&score);
	switch((int)(score/10))
	{
		case 10:
		case 9:printf("该生等级为 A\n");
			break;
		case 8:printf("该生等级为 B\n");
			break;
		case 7:printf("该生等级为 C\n");
			break;
		case 6:printf("该生等级为 D\n");
			break;
		case 5:
		case 4:
		case 3:
		case 2:
		case 1:
		case 0:printf("该生等级为 E\n");
			break;
		default:printf("你特么输的是成绩吗?\n");
			break;
	}
	
	return 0;
}
发布了13 篇原创文章 · 获赞 15 · 访问量 2168

猜你喜欢

转载自blog.csdn.net/weixin_44337241/article/details/104237471