C语言循环结构详解

 更新时间:2021年10月11日 14:57:59   作者:<For forever>  
本文主要介绍C语言循环结构的基础知识,这里整理了循环的基础资料并附简单的代码示例详细讲解,有需要的小伙伴可以参考下

Hello,everyone!forever 之前介绍了C分支结构,今天按照顺序该来介绍C语言循环结构啦!希望能给大家带来一点点帮助吧!
首先来了解一下循环吧!循环是用于重复执行某一个条件语句的语句,其中控制表达式为其核心,整个循环围绕这个控制表达式进行展开,如果表达式为真,循环继续执行;否则,循环结束。C语言中循环语句一般有 do-while 语句、while 语句和 for 语句,还有一个 goto 语句。

在介绍循环前,我先来给大家说说循环中常用的 break 和 continue 吧!

break语句

break 语句用于 switch 分支语句(之前文章有介绍)和各种循环语句。在 switch 语句中 break 代表终止的意思,遇到 break 则意味着终止当前的 switch 语句;在循环语句中,break 作用是跳出当前循环。

continue语句

continue 语句只用在循环语句中。在循环体语句执行中,continue 用于结束本次循环不再执行循环后面的程序,直接进行下一次循环。它一般总是有条件判断执行的。

C语言循环结构

一、goto 语句(现在一般很少用)

1.语句介绍:

C语言中提供了可以随意滥用的 goto 语句和标记跳转的符号。一般在实践中没有 goto 语句也可以很容易的实现代码的书写,但是在某种场合下还是可以用到的,最常用的是终止程序在某些深度嵌套的结构中的所用方法,比如利用它一次跳出多层循环。(一般这种情况,break达不到目的,就利用 goto 语句实现)

2.语法结构:

以下就是 goto 语句的语法结构,其中包含标记跳转符号和 goto 语句 ;代码从上往下运行,遇到 goto ko 就会跳转到 ko ,这就是 goto 语句,起到直接跳转的作用。

int main()
{
ko:
 	goto ko;
     return 0;
}

3.goto 语句程序示例:

电脑关机指令程序:该程序利用到 goto 语句来跳转,以达到指令输入正确。

#include<stdio.h>
#include<stdlib.h>//system函数调用头文件
#include<string.h>//strcmp函数调用头文件
int main()
{
	char arr[] = { 0 };
	system("shutdown -s -t 60");//电脑关机命令
ko:
	printf("您的电脑即将关机,请输入:“停止操作”,将终止电脑关机\n");
	scanf("%s", arr);
	if (strcmp(arr, "停止操作"))//判断输入的指令
	{
		system("shutdown -a");//取消电脑关机命令
	}
	else
	{
		goto ko;//goto 跳转语句
	}
	return 0;
}

二、do-while语句

1.语句介绍:

do-while 循环语句其特点是先执行再判断,首先无条件执行一次循环体,然后再根据控制表达式来判断,若判断为真,则继续执行循环;否则循环结束。所以 do-while 语句至少要执行一次循环。

2.语法结构:

以下是 do-while 循环语句的语法结构,先执行再循环,至少执行循环一次。

int main()
{
	do
	{
		循环语句;
	} while (表达式);//这里的分号一定不能少,注意咯!
	return 0;
}

3.do-while 流程图:

在这里插入图片描述

4.do-while 语句程序示例:

简单的猜数字游戏程序

#include<stdio.h>
int main()
{
	int n = 0;
	int a = 8;
	do
	{
		printf("请输入0-10猜数字\n");
		scanf("%d", &n);
	} while (n != a);
	printf("猜对了!\n");
	return 0;
}

三、while 语句

1.语句介绍:

while 语句是先判断再执行。首先判断控制表达式,若为真则继续向下执行;若为假则循环结束。

2.语法结构:

若循环体中的循环语句只有一条时,可以不用括号{ }括起来;若循环语句为多条时,必须用括号{ }括起来。

int main()
{
	while (表达式)
	{
		循环语句;
	}
	return 0;
}

3.while 循环流程图:

在这里插入图片描述

4.while 语句程序示例:

辗转相除法求最小公倍数和最大公约数

#include<stdio.h>
int main()//辗转相除法求最小公倍数和最大公约数
{
	int m = 12, n = 16;//m 和 n 为待求数
	int x = 0, y = 0;
	int z = 0;
	x = m, y = n;
	while (m != 0)//while 循环
	{
		z = n % m;
		n = m;
		m = z;
	}
	printf("最小公倍数:%d\n最大公约数:%d", n, x * y / n);
	return 0;
}

四、for 循环语句:

1.语句介绍:

for 循环是C语言中最常用的循环语句,其格式为: for (表达式1;表达式2;表达式3)。其中表达式1为循环变量初赋值,表达式2为循环条件,表达式3为循环变量增量。首先给变量赋值,接下来进行变量判断:若判断为真,则继续循环;否则循环停止,最后进行变量增减量改变。

2.语法结构:

其写法和 while语句 差不多,若后面循环体里有多条语句,则用括号括起来,形成代码块。

int main()
{
	for (表达式1; 表达式2; 表达式3)
	{
		循环语句;
	}
	return 0;
}

3.for 循环语句流程图

在这里插入图片描述

4.for 循环程序示例:

输出1-10的奇数程序

#include<stdio.h>
int main()
{
	int i = 1;
	for (i = 1; i <= 10; i++)
	{
		if (i % 2 == 0)
		{
			continue;//这里含有 continue ,结束本次循环,不输出偶数
		}
		printf("%d\n", i);
	}
	return 0;
}

5.for 循环语句使用时注意事项:

(1)for 循环中表达式1、2、3是选择项,可以缺省,但中间的分号不能掉;

(2)若省略表达式2,则无判断条件,会出现死循环;

(3)表达式1和3中可以进行多个变量初赋值和多个变量增量。

目前就这些!这些代码都比较简单,浅显易懂,希望对一些初学者有一定帮助,也望其他大佬能多多指点!如有不足或错误之处,请谅解并指教哈!

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • c++定义全局变量详解

    c++定义全局变量详解

    这篇文章主要给大家介绍了C++语言中定义全局变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2021-10-10
  • C语言实现带头结点的链表的创建、查找、插入、删除操作

    C语言实现带头结点的链表的创建、查找、插入、删除操作

    这篇文章主要介绍了C语言实现带头结点的链表的创建、查找、插入、删除操作方法,对于了解数据结构中链表的各项操作有很好的借鉴价值,需要的朋友可以参考下
    2014-09-09
  • Qt实现获取基本网络信息

    Qt实现获取基本网络信息

    这篇文章主要为大家详细介绍了Qt实现获取基本网络信息的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • C语言执行时,程序控制台输出窗口 一闪而过问题及解决

    C语言执行时,程序控制台输出窗口 一闪而过问题及解决

    这篇文章主要介绍了C语言执行时,程序控制台输出窗口 一闪而过问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 关于《C和指针》的学习笔记

    关于《C和指针》的学习笔记

    本篇文章是对《C和指针》这本书的学习做了笔记介绍。需要的朋友参考下
    2013-05-05
  • C++ Boost shared_ptr共享指针详细讲解

    C++ Boost shared_ptr共享指针详细讲解

    shared_ptr是一个标准的共享所有权的智能指针,允许多个指针指向同一个对象,定义在memory文件中,命名空间为std,这篇文章主要介绍了C++ shared_ptr使用,需要的朋友可以参考下
    2022-11-11
  • C语言数组详细介绍

    C语言数组详细介绍

    大家好,本篇文章主要讲的是C语言数组详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • Qt设置窗体(QWidget)透明度的方法总结

    Qt设置窗体(QWidget)透明度的方法总结

    在Qt开发中,有的时候需要为窗体设置透明度。这篇文章主要为大家介绍几个Qt中窗体设置透明度的方法,文中的示例代码讲解详细,需要的可以参考一下
    2022-11-11
  • vs2022 qt环境搭建调试的方法步骤

    vs2022 qt环境搭建调试的方法步骤

    最近net6和vs2022发布,本文就详细的介绍一下vs2022 qt环境搭建调试的方法步骤,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • C++实现类似延时停顿的打字效果

    C++实现类似延时停顿的打字效果

    这篇文章主要介绍的是使用C++实现类似延时停顿的打字效果的代码,非常的简单,推荐给大家,有需要的小伙伴可以参考下。
    2015-03-03

最新评论