【三】c语言程序设计-判断篇

hello,大家好,我是霜淮子,阅读我的文章学习c语言,作者水平有限,如果发现错误的地方,欢迎大家在评论区留言,万分感谢!

欢迎订阅专栏《c语言程序设计》

目录

前言

3.1、判断

判断的条件

if语句

3.2、分支

嵌套的if-else

级联的if-else

if-sles的常见错误

多路分支:switch-case


前言

这篇文章接着给大家介绍在编写程序的时候用到的if结构,让大家知道如何使用它,以及使用它的时候会出现哪些问题!

3.1、判断

判断的条件

关系运算,做比较的运算符

计算两个值之间的关系,所以叫做关系运算

 关系运算符的结果:

当两个值得关系符合关系运算符得预期时,关系运算的结果为整数1,否则为0.

判断成绩

const int PASS=60;

int score;

printf("请输入成绩:");

if语句

if和else后面也可以没有{}而是一条语句

3.2、分支

嵌套的if-else

在if或else后面要执行的还是if语句,就成了嵌套

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

#include<stdio.h>
int main(){

const int READY=24;
int code=0;
int count=0;
scanf("%d %d.&code.&count");
if(code==READY){

	if(count<20)
		printf("一切正常\n");} 
	else
		printf("继续等待\n"); 
		return 0;
}

代码分析

tips:在每一句if后面都加上一个大括号,尽管只有一句语句的时候

级联的if-else

像分段函数那样的程序就可以写成级联的if

例如下面这个分段函数:

F(x)=-1;x<0

           0;x=0

           2x;x>0

级联的if-else-if

if-sles的常见错误

if 语句常见的错误:

  • 忘记大括号
  • if后面的分号

家人们,咱就是说if(**********);

如果if后面有分号,在编译器认为在分号前面是有一条语句的,他什么都不做,接下来的语句就都是一些普通的语句,所以一定不能在if后面加上一个分号。

  • 错误使用==和=

if只要求()里面的值是零或者非零

if(a=b)

{

printf("A=B");

}

手一抖,少敲了一个等号,就变成了赋值,变成一个表达式之后,这个运算也会有结果,就把b的值弄给了a,但是就不会去判断a和b的值是否相同,

多路分支:switch-case

现在我们来看看这个代码是一个怎样的执行过程

#include<stdio.h>
int main(){
	int type;
	scanf("%d",&type);
	if(type==1)
		printf("你好!");
	else if(type==2)
		printf("早上好");
	else if(type==3)
		printf("中午好");
	else if(type==4)
		printf("晚上好");
	else
		printf("再见");
	return 0; 
}

代码进行运行,假设你输入一个数字3,输出结果是中午好。调试分析,你输入3之后,他会先做type是否等于1的判断,发现不对,在做type是否等于2的判断,一直做到type等于3,发现对了,输出结果中午好,完了以后,程序完成,

但是这个程序呢,执行的时候就得按照顺序一个一个来,假如说你输入了1,那么才开始就能很快得出结果,但是如果你输入的type,既不等于1,也不等于2,3,4,等于其他的数字,那么程序就要运行到最后,因此我们引出switch-case

#include<stdio.h>
int main(){
	int type;
	scanf("%d",&type);
	switch(type){
		case 1:
			printf("你好");
			break;
		case 2:
			printf("早上好");
			break;
		case 3:
			printf("中午好");
			break;
		case 4:
			printf("晚上好");
			break;
		default:
		printf("再见");
	return 0; 	 
	}

}

大家可以自行设置断点去分析,它不需要每一个都去验证,会自己调到满足要求的那个地方执行。

switch-case表达式的基本结构如下:

switch(控制表达式){

case 常量:

        语句

        .....

case 常量:

        语句

        ......

default:

        语句

        ......

}

注意:

(1)、这里的控制表达式只能是整数型的结果。

(2)、常量可以是常数,也可以是常数计算的表达式。

(3)、switch语句可以看作是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的case(分支标号)处。

分支标号只是说明switch内部位置的路标,在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case去,直到遇到一个break,或者switch结束为止。

-END-

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霜淮子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值