if,switch选择语句

根据比较的结果,决定做、还是不做某些动作,就要用到if语句。

一个基本的if语句由一个关键字if开头,跟上在括号里的一个表达条件的逻辑表达式,然后是一对大括号“{}”之间的若干条语句。如果表示条件的逻辑表达式的结果为true,那么就执行后面跟着的这队大括号中的语句,否则就跳过这些语句不执行,而继续下面的其他语句。                               

if(表达式){       

(语句块);

}

                    

例:提醒用户输入是与否,计算机通过判断来做出回答。(是---》毕业后可以获得好的offer;否---》毕业等于失业。)

​
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main8() {
	//1、询问是否好好学习
	printf("是否好好学习?");
	char answer[10] = { 0 };
	scanf("%s",answer);
	//2、如果答的是“是”,毕业后就可以获得offer
	//选择结构
	//=赋值运算符  ==表示相等(比较运算符:> < >= <=)比较运算符的结果就是真或假 
	//! 非运算符,将真的变成假的,也可以将假的变成真的
	/*
	if (!strcmp(answer, "是")) {
		printf("毕业后就可以获得offer");
	}

	//3、如果答的是“否”,毕业等于失业
	if (!strcmp(answer, "否")) {
		printf(" 毕业等于失业");
	}
	*/
	if (!strcmp(answer, "是")){
		printf("毕业后就可以获得offer");
		printf("你很完美");
	}
	else{
		printf(" 毕业等于失业");
	}

​retuen 0;
}


将成绩划分称若干个小区间,输入考试成绩,判断输入的成绩属于哪个区间并打印。

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
int main9() {
	/*
	//输入一个考试成绩,判断是否合格,如果及格,就打印分数及格
	//1、输入分数
	float score = 0;
	printf("请输入你的分数:");
	scanf("%f",&score);
	//2、进行判断
	if (score >= 60) {
		printf("及格");
	}
	*/
	/*
	//输入一个考试成绩,判断是否合格,如果及格,就打印分数及格,如果不及格,打印不及格
	//1、输入分数
	float score = 0;
	printf("请输入你的分数:");
	scanf("%f", &score);
	//2、进行判断
	if (score >= 60) {
		printf("及格");
	}
	else {
		printf("不及格");
	}
	*/
	//升级:0-100 0-59 不及格 60-79 及格 80-89 良好 90-100 优秀
	//多分支(将一个大的区间分成若干个连续的小区间)
	float score = 0;
	printf("请输入你的分数:");
	scanf("%f", &score);
	if (score<=59) {
		printf("不及格");
	}
	else if (score<=79) {  //逻辑运算符 &&与(同时满足)   ||或(只满足一个)  !非
		printf("及格");
	}
	else if (score<=89) {
		printf("良好");
	}
	else if(score<=100){
		printf("优秀");
	}
	else {  //其他情况
		printf("输入错误");
	}
	return 0;
}

if(表达式){

(语句块);

}

else if(表达式){                            //else等于:否则的话

(语句块);

}

...........

else if(表达式){

(语句块);

}

else{

}

上述一般用于处理需要进行多种情况判断的问题

switch-case语句

switch(控制表达式){                 //控制表达式只能是整数型的结果。

case 常量1:                                 //常量可以是常数,也可以是常数进行计算的表达式。

语句;

break;

........

case 常量2:

语句;

break;

..........

default:

语句;

}

                                               break       

.switch语句可以看作是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的case(分支标号)处。分支标号只是说明switch内部位置的路标,在执行完成分支的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里去,直到遇到一个break,或者switch结束为止。 

#define _CRT_SECURE_NO_WARNINGS 1


//函数
//返回值类型 函数名(形参){
//函数体
//}


//判断一个数是否是偶数 num%==0
int isOdd(int num4) {
	//判断
	return num4 % 2;
}
#include<stdio.h>
//格式化 CTRL+a CTRL+k CTRL+f
int main10() {
	/*
	//1、输入一个数字
	int num;
	printf("请输入数字:");
	scanf("%d", &num);
	//2、根据数字判断星期几。7---星期天 6---星期六 5---星期五.。。。。。。1---星期一 0----输入错误
	if (num == 7) {
		printf("今天是星期天\n");
	}
	if (num == 6) {
		printf("今天是星期六\n");
	}
	if (num == 5) {
		printf("今天是星期五\n");
	}
	if (num == 4) {
		printf("今天是星期四\n");
	}
	if (num == 3) {
		printf("今天是星期三\n");
	}
	if (num == 2) {
		printf("今天是星期二\n");
	}
	if (num == 1) {
		printf("今天是星期一\n");
	}
	if (num < 1 || num>7) {
		printf("输入错误\n");
	}


	//if--else if   else if
	int num2;
	printf("请输入数字:");
	scanf("%d", &num2);
	if (num2 == 7) {
		printf("今天是星期天\n");
	}
	else if (num2 == 6) {
		printf("今天是星期六\n");
	}
	else if (num2 == 5) {
		printf("今天是星期五\n");
	}
	else if (num2 == 4) {
		printf("今天是星期四\n");
	}
	else if (num2 == 3) {
		printf("今天是星期三\n");
	}
	else if (num2 == 2) {
		printf("今天是星期二\n");
	}
	else if (num2 == 1) {
		printf("今天是星期一\n");
	}
	else if (num2 < 1 || num2>7) {
		printf("输入错误\n");
	}


	//3、升级:1-5打印上学时间  6-7打印休息时间
	int num3;
	printf("请输入数字:");
	scanf("%d", &num3);
	if (num3 >= 1 && num3 <= 5) {
		printf("上学时间\n");
	}
	else if (num3 >= 6 && num3 <= 7) {
		printf("休息时间\n");
	}
	else {
		printf("输入错误\n");
	}
	*/
	int num4;
	printf("请输入数字:");
	scanf("%d", &num4);
	switch (num4) {
	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("数字错误");
	}
	if (20 == num4) {
		printf("num=%d\n", num4);
	}

	//调用函数 函数名(实参) 
	int res = isOdd(num4);
	printf("%d\n", res);
	return 0;
} 

                                                             嵌套的if-else

找三个数中的最大值:如果要求输入三个整数,输出其中最大的,应该怎么做?

int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
int MAX=0;
if(a>b){
if(a>c){
MAX=a;
}else{
MAX=c;
}else{
if(b>c){
MAX=b;
}else{
MAX=C;
}
}
}
printf("The MAX is %d!\n",MAX);

嵌套的判断:当if的条件满足或者不满足的时候需要执行的语句也可以是一条if或if-else语句;这就是嵌套的if语句

else的匹配:else总是和最近的那个if匹配。

缩进:缩进格式不能暗示else的匹配。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值