前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >while和if的区别解析

while和if的区别解析

作者头像
小李很执着
发布2024-06-15 08:37:30
1070
发布2024-06-15 08:37:30
举报
文章被收录于专栏:学习笔记学习笔记

 1.概念区别

while和if是两个不同的语句用于控制程序流程的关键字。

  1. while语句:
    • 用途:while语句用于创建一个循环结构,当给定条件为真时,重复执行一段代码块。
    • 语法:while (condition) { code block }
    • 解析:首先,计算condition的值。如果condition为真(非零),则执行code block;然后再次计算condition的值。这个过程会一直重复,直到condition为假(0)为止。每次循环执行完code block后会再次检查condition的值,因此在循环的结束条件变为假之前,循环会一直执行下去。
  2. if语句:
    • 用途:if语句用于在给定条件为真时,执行一段代码块。
    • 语法:if (condition) { code block } [else { code block }]
    • 解析:首先,计算condition的值。如果condition为真(非零),则执行第一个code block;否则,如果有else子句,执行第二个code block。if语句只会执行一次,不会进行循环。

2.总结 

总结: while和if的区别在于:

  • while用于创建循环结构,重复执行一段代码块,直到给定条件不满足
  • if用于根据条件选择执行一段代码块,只会执行一次

需要注意的是,在编写代码时,要确保循环的结束条件能够在某个时刻成为假,否则循环会陷入无限循环中,导致程序无法终止。

3.具体实例分析

以下以顺序表头删操作进行分析

代码语言:javascript
复制
void SeqListPopFront(SeqList* ps)//头删
{
	assert(ps);
	assert(ps->size > 0);
	int begin = 0;
	while (begin < ps->size)
	{
		ps->a[begin] = ps->a[begin+1];
		++begin;
	}
	ps->size--;
}

第一段代码中使用了while循环来遍历顺序表中的元素,将每个元素向前移动一位,最后将顺序表的大小减1,实现了头删操作。

代码语言:javascript
复制
void SeqListPopFront(SeqList* ps)//头删
{
	assert(ps);
	assert(ps->size > 0);
	int begin = 0;
	if (begin < ps->size)
	{
		ps->a[begin] = ps->a[begin+1];
		++begin;
	}
	ps->size--;
}

第二段代码中使用了if语句,只会执行一次循环体内的操作,即将第一个元素向前移动一位。这样只能删除顺序表中的第一个元素,而不能删除其他位置的元素。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  1.概念区别
  • 2.总结 
  • 3.具体实例分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档