前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c语言入门指南(4)(c语言程序结构——顺序,分支,循环)

c语言入门指南(4)(c语言程序结构——顺序,分支,循环)

原创
作者头像
代码小豪
发布2024-06-03 10:32:45
1500
发布2024-06-03 10:32:45
举报
文章被收录于专栏:C语言程序指南

C语言程序结构

c语言将现实中的逻辑关系抽象出来了三种结构,分别为顺序结构,分支结构,循环结构。

以日常生活为例,我今天早起要刷牙,洗脸,上厕所,这是顺序结构。我中午可能吃面也可能吃饭,这是分支结构。我今天要连续的上完4节课,这是循环结构。

顺序结构

通常情况下,在代码块中的内容都是以顺序结构的逻辑运行的。顺序结构的特点将每一行的程序从上至下的顺序依次执行。如下例代码。

代码语言:javascript
复制
int main()
{
	int x, y;
	x = 10, y = 20;
	return 0;
}

我们用顺序结构的逻辑来看,程序首先将x和y进行声明,接着再将这两个变量赋值。如果我们将这个顺序颠倒,会发现程序报错

​编辑

由此可以看出C语言的顺序结构的特点。从main函数进去,按从上往下的顺序依次执行。

分支结构

分支结构分为单分支结构和多分支结构,c语言用于分支结构的语句有if()语句,switch()语句。if语句的框架为

if(条件表达式)

{

语句;

}

我们先来看一个简单的单分支结构。

代码语言:javascript
复制
int main()
{
	int i;
	scanf("%d", &i);
	if (i == 5)
	{
		printf("hello,");
	}
	printf("world");
	return 0;
}

这段代码的逻辑关系为,如果i的值等于5,则符合了if语句中的条件表达式,此时程序会进入if当中的语句,打印hello,离开if语句后,打印world,于是运行的结果为(hello,world).

如果i的值不满足if当中的条件表达式,则程序跳过if当中的语句,只执行打印world。此时结果为(world)

多分支结构。

多分支循环即在多个分支路径中,选择一个符合条件的分支进行程序运行,我们可以用switch语句来构成多分支结构,可以用if语句来构成多分支结构。接下来我们重点说明if构成的多分支结构。

首先,我们要清楚if语句是如何构成多分支循环的,如果我们将多个if语句组合在一起是多分支语句吗?

代码语言:javascript
复制
int main()
{
	int x, y, z;
	x = 3, y = 4,z = 5;
	if (x = 3)
	{
		printf("关注\n");
	}
	if (y = 4)
	{
		printf("博主\n");
	}
	if (z = 5)
	{
		printf("谢谢喵\n");
	}
	return 0;
}

我可以发现,程序将每个if语句的内容都打印了出来,但是根据多分支结构的定义,我们只需要进入其中一个分支即可,所以这种方法是无法构成多分支结构的。

正确的方法是在除第一个分支以外的分支使用else if()语句,这样程序在选择分支路径时,只会选择其中一个符合条件的分支(当满足条件的分支又多个时,最终选择和有顺序有关)。

代码语言:javascript
复制
int main()
{
	int x, y, z;
	x = 3, y = 4,z = 5;
	if (x = 3)
	{
		printf("关注\n");
	}
	else if (y = 4)
	{
		printf("博主\n");
	}
	else if (z = 5)
	{
		printf("谢谢喵\n");
	}
	return 0;
}

我们可以发现此时程序只进入了其中一个分支。

循环结构

我们以跑步为例,如果我在操场中跑3圈,首先我会判断我是否跑够了三圈,如果不够,则在跑一圈,如果到了三圈,我就停止跑步了。

所以循环结构的逻辑是这样的,当程序进入循环结构时,判断是否符合循环条件,若符合条件,则进去执行循环当中的语句,并当完成本次循环时,再次判断循环条件。当条件已经不满足进入循环的条件时,程序跳出循环。

我们以while循环举例,while循环的构架为while(条件表达式)

{

语句;

}

我们以下面代码为例。

代码语言:javascript
复制
int main()
{
	int i = 1;
	while (i <= 10)
	{
		printf("%d ", i);
		i++;
	}
    return 0;
}

当i符合循环条件,进入循环,执行循环体内的代码,随着一次次执行代码,i数值越来越大,当i不符合循环条件时,跳出循环。程序运行结果如下

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C语言程序结构
    • 顺序结构
      • 分支结构
        • 循环结构
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档