初识循环语句

在C语言中,循环语句用于重复执行一段代码,直到指定的条件不再满足为止。C语言提供了三种类型的循环语句:for循环、while循环和do-while循环。

1. while循环

while循环用于在指定的条件为真时重复执行一段代码。它只包含一个循环条件。 示例:

在每次循环开始时,初始化表达式会执行一次。然后,循环条件会被检查,如果为真,则执行循环体代码。之后,循环增量会被执行,再次检查循环条件。如果循环条件为假,则退出循环。

while (循环条件) {
    // 循环体代码
}

在每次循环开始时,循环条件会被检查。如果为真,则执行循环体代码。之后,再次检查循环条件。如果循环条件为假,则退出循环。

1.1.break语句

除了循环条件为假,程序退出循环外,还可以在while循环加入break语句,使程序跳出循环,如下所示:

int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (5 == i)
		{
			break;
		}
		printf("%d ", i);
		i++;
	}
	return 0;
}

运行结果如下: 

需要注意的是,这里的break语句是对while循环起作用,而不是if语句。

1.2. continue语句

还有一个需要注意的是,while循环也加入continue语句,continue语句的作用是跳过continue后的程序直接进入到while循环条件的判断,例如:

int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (5 == i)
		{
			continue;
			
		}
		printf("%d ", i);
		i++;
	}
	return 0;
}

 运行结果如下,显示程序进入死循环,因为打印i=4后,i++等于5,执行continue语句,直接进入循环条件的判断i<=10,i并没有执行i++所示它的值仍是5,因此陷入死循环中。

 1.3.简单应用

 这里需要先介绍getchar()和putchar()函数

在C语言中,getchar()和putchar()函数是用于输入和输出单个字符的函数。

  1. getchar()函数:getchar()函数用于从标准输入流(通常是键盘)获取一个字符,并返回该字符的ASCII码值(整数)。它的函数原型如下:
int getchar(void);

示例:

char ch;
ch = getchar();  // 从键盘输入一个字符,并将ASCII码值赋给ch变量

这个函数会从输入流中读取一个字符,并将其返回作为整数。通常,我们会将返回的整数值赋给一个字符变量,以便进行处理。

  1. putchar()函数:putchar()函数用于将一个字符输出到标准输出流(通常是屏幕)。它的函数原型如下:
int putchar(int character);

示例:

char ch = 'A';
putchar(ch);  // 输出字符'A'到屏幕

这个函数会将输入的字符作为参数,输出到标准输出流中。它返回输出的字符,通常不会使用返回值。

这两个函数是C语言中常用的字符输入输出函数,可以方便地进行单个字符的输入和输出操作。

下面是与while循环语句的简单应用:

int main()
{
	char ch = '\0';
	while ((ch = getchar()) != EOF)
	{
		if (ch < '0' || ch>'9')
			continue;
		putchar(ch);
	}
	return 0;
}

运行结果如下:

 输入Ctrl键+Z键即可跳出循环,这里实现的功能就是只输出输入的字符串中的数字。

 2.for循环

for循环用于在指定的次数内重复执行一段代码。它由三个部分组成:初始化表达式、循环条件和循环增量。 示例

for (初始化表达式; 循环条件; 循环增量) {
    // 循环体代码
}

for循环是三种循环语句中使用频率最高的,它与while循环语句相比,for循环的初始化表达式、循环条件和循环增量是集中在一起的,需要修改其中的某一部分时要比while循环要方便。

它运行机理是先进行初始化,然后判断循环条件,若满足循环条件,则执行循环语句,最后进行循环增量,虽然for循环和while循环很相似,但还是有所区别,后面会介绍。

2.1break语句 

for循环中同样也可加入break语句,如下所示:

int main()
{
	int i = 0;
	for (i = 1;i <= 10;i++)
	{
		if (i == 5)
		{
			break;
		}
		printf("%d ", i);
	}
	return 0;
}

代码运行结果如下: 

 

从上面可以看出,break语句在for循环中的使用,与while循环中的结果一致 。

2.2continue语句

for循环中加入continue语句,与加在while循环中的效果不同,如下所示:

int main()
{
	int i = 0;
	for (i = 1;i <= 10;i++)
	{
		if (i == 5)
		{
			continue;
		}
		printf("%d ", i);
	}
	return 0;
}

运行结果如下: 

从上面的结果可以看出,它与while循环中使用时会陷入死循环不同,在for循环中只是跳过i = 5,然后输出其他结果。原因在于for循环是先执行循环语句continue语句,再进行循环增量,这是必不可少的。

2.3其他

可以使用多个变量控制循环,例如:

int main()
{
	int x, y;
	for (x = 0, y = 0;x < 2 && y < 5;++x, y++)
	{
		printf("haha\n");
	}
	return 0;
}

3.do-while循环

do-while循环用于在指定的条件为真时重复执行一段代码。它与while循环的不同之处在于,它会先执行一次循环体代码,然后再检查循环条件。 示例

do {
    // 循环体代码
} while (循环条件);

在每次循环开始时,先执行循环体代码。然后,循环条件会被检查。如果为真,则继续执行循环体代码。之后,再次检查循环条件。如果循环条件为假,则退出循环。

首先同样是使用do-while循环输出1-10,如下所示:

int main()
{
	int i = 1;
	do
	{
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;

}

 3.1break语句

do-while循环中加入break语句,如下所示:

int main()
{
	int i = 1;
	do
	{
		if (5 == i)
		{
			break;
		}
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;

}

 结果如下:

 3.2continue语句

 do-while循环加入continue语句,如下所示:

int main()
{
	int i = 1;
	do
	{
		if (5 == i)
		{
			continue;
		}
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;

}

运行结果如下:

从上面的结果可以看到,输出陷入死循环, 这与在while循环中效果一致。

4.总结

使用循环语句可以方便地重复执行一段代码,节省编写重复代码的时间和精力。同时,需要注意循环条件的设置,以免导致死循环

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值