C语言循环结构详解

目录
  • break语句
  • continue语句
  • C语言循环结构
    • 一、goto 语句(现在一般很少用)
      • 1.语句介绍:
      • 2.语法结构:
      • 3.goto 语句程序示例:
    • 二、do-while语句
      • 1.语句介绍:
      • 2.语法结构:
      • 3.do-while 流程图:
      • 4.do-while 语句程序示例:
    • 三、while 语句
      • 1.语句介绍:
      • 2.语法结构:
      • 3.while 循环流程图:
      • 4.while 语句程序示例:
    • 四、for 循环语句:
      • 1.语句介绍:
      • 2.语法结构:
      • 3.for 循环语句流程图
      • 4.for 循环程序示例:
      • 5.for 循环语句使用时注意事项:
  • 总结

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中可以进行多个变量初赋值和多个变量增量。

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

总结

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

(0)

相关推荐

  • C语言数据结构之判断循环链表空与满

    C语言数据结构之判断循环链表空与满 前言: 何时队列为空?何时为满? 由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时头尾指针均相等.因此,我们无法通过front=rear来判断队列"空"还是"满". 注:先进入的为'头',后进入的为'尾'. 解决此问题的方法至少有三种: 其一是另设一个布尔变量以匹别队列的空和满: 其二是少用一个元素的空间,约定入队前,测试尾指针在循环意义下加1后是否等于头指针,若相等则认为队满(注意:rear所指的单元始

  • C语言数据结构之循环链表的简单实例

     C语言数据结构之循环链表的简单实例 实例代码: # include <stdio.h> # include <stdlib.h> typedef struct node //定义链表中结点的结构 { int code; struct node *next; }NODE,*LinkList; /*错误信息输出函数*/ void Error(char *message) { fprintf(stderr,"Error:%s/n",message); exit(1)

  • 详解数据结构C语言实现之循环队列

    本文讲的是循环队列,首先我们必须明白下面几个问题 循环队列的基础知识 1.循环队列需要几个参数来确定 循环队列需要2个参数,front和rear 2.循环队列各个参数的含义 (1)队列初始化时,front和rear值都为零: (2)当队列不为空时,front指向队列的第一个元素,rear指向队列最后一个元素的下一个位置: (3)当队列为空时,front与rear的值相等,但不一定为零: 3.循环队列入队的伪算法 (1)把值存在rear所在的位置: (2)rear=(rear+1)%maxsize

  • 数据结构 C语言实现循环单链表的实例

    数据结构 C语言实现循环单链表的实例 实例代码: //=========杨鑫========================// //循环单链表的实现 #include <stdio.h> #include <stdlib.h> typedef int ElemType; //定义结点类型 typedef struct Node { ElemType data; struct Node *next; }Node,*LinkedList; int count = 0; //1.单循环

  • C语言数据结构之双向循环链表的实例

    数据结构之双向循环链表 实例代码: #include <stdlib.h> #include <stdio.h> #include <malloc.h> typedef struct Node{ struct Node *pNext; int data; struct Node *prior; } NODE,*PNODE; PNODE CreatList(); void TreNode(PNODE pHead); bool isEmpty(PNODE pHead); i

  • C语言中对于循环结构优化的一些入门级方法简介

    一.代码移动 将在循环里面多次计算,但是结果不会改变的计算,移到循环外面去. 例子: 优化前: void lower1(char *s){ int i; for(i=0;i<strlen(s);++i) if(s[i]>='A'&&s[i]<='Z') s[i]-=('A'-'a'); } 优化后: void lower2(char *s){ int i; int len=strlen(s); for(int i=0;i<len;++i) if(s[i]>='

  • C语言循环结构详解

    目录 break语句 continue语句 C语言循环结构 一.goto 语句(现在一般很少用) 1.语句介绍: 2.语法结构: 3.goto 语句程序示例: 二.do-while语句 1.语句介绍: 2.语法结构: 3.do-while 流程图: 4.do-while 语句程序示例: 三.while 语句 1.语句介绍: 2.语法结构: 3.while 循环流程图: 4.while 语句程序示例: 四.for 循环语句: 1.语句介绍: 2.语法结构: 3.for 循环语句流程图 4.for

  • R语言“循环”知识点详解

    可能有一种情况,当你需要执行一段代码几次. 通常,顺序执行语句. 首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供允许更复杂的执行路径的各种控制结构. 循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式 - R编程语言提供以下种类的循环来处理循环需求. 单击以下链接以检查其详细信息. Sr.No. 循环类型和描述 1 repeat循环 多次执行一系列语句,并简化管理循环变量的代码. 2 while循环 在给定条件为真时,重复语句或语句组.

  • Python循环结构详解

    一.内容简介 使用while循环编写重复执行的语句 使用哨兵值控制循环 使用for循环实现计数器控制 使用break.continue控制循环 二.while循环 注意:循环控制时不要使用浮点型来比较等值 i = 1 # 循环变量的初值 while i < 10: # 循环变量的判断 print("当前第", i, "次循环") i += 1 # 循环变量的更新 PyCharm调试示例 # PyCharm中的调试 # 1. 设置断点:debug->调试

  • Python 循环结构详解

    目录 一.While循环 二.While…else…循环 三.for循环 四.for…else…循环 五.循环体结束语句 六.嵌套循环 前言: 在编写代码时如果能够简化一个程序,把重复的代码形成公共部分,利用语法来控制,对代码进行循环往复的执行,这就形成了循环结构逻辑. 一.While循环 While循环的语法格式如下: while 条件表达式 :    代码段(包含改变计数器值的语句) while 关键词后面紧跟的条件表达式决定了循环是够进行下去. 下面用while语句实现求1-100的累加和

  • python语法之语言元素和分支循环结构详解

    目录 一.语言元素 1.变量及其类型 (1)变量 (2)变量类型 2.变量命名规则 3.变量的使用 4.运算符 二.分支循环结构 1.if 2.for-in 3.while 总结 python中严格控制缩进,一个tab键或者4个空格 一.语言元素 1.变量及其类型 (1)变量 所谓变量,就是可以改变的量. 首次使用变量会在内存中划分空间,并初始化值: 再次使用变量不再划分空间,修改原空间的. (2)变量类型 ①数值类型 int float bool:True.False ②字符串类型 字符串运算

  • JavaScript 程序循环结构详解

    目录 选择结构 循环结构 while do - while for 循环 for - in - for -of- 小结 终止循环 break continue 二层循环 总结 选择结构 单分支的if结构 if(条件){ 条件满足后执行的代码 } 如果大括号中只有一条语句,此时可以省略大括号,但是强烈不建议这样写 if(条件) console.log('点点点') 二分支if结构语句 if (条件){ 条件满足后执行的代码 } else{ 条件不满足后执行的代码 } 多分支if结构语句 if(条件

  • 史上最强C语言分支和循环教程详解

    目录 3.3 do...while()循环 3.3.1 do语句的语法: 3.3.2 执行流程 3.3.3 do语句的特点 3.3.4 do while循环中的break和continue 3.4 练习 3.4.1. 计算 n的阶乘. 3.4.2. 计算 1!+2!+3!+--+10! 3.4.3. 在一个有序数组中查找具体的某个数字n. 3.4.4. 编写代码,演示多个字符从两端移动,向中间汇聚. 3.4.5. 编写代码实现,模拟用户登录情景,并且只能登录三次. 3.4.6.猜数字游戏实现 4

  • C语言 链式二叉树结构详解原理

    目录 前言 二叉树节点声明 二叉树的遍历 构建二叉树 1.前序遍历 2.中序遍历 3.后序遍历 二叉树节点的个数 二叉树叶子节点的个数 二叉树第K层节点个数 二叉树的高度/深度 二叉树查找值为x的节点 整体代码 前言 二叉树不同于顺序表,一颗普通的二叉树是没有增删改查的意义.普通的二叉树用来存储数据是不方便的.但是二叉树的一些基本实现结构,例如前序遍历,中序遍历...等等都是对我们学习更深层次的二叉树打下夯实的基础. 二叉树节点声明 typedef char BTDataType; typede

  • java迭代器和for循环优劣详解

    在进行迭代的时候,程序运行的效率也是我们挑选迭代方法的重要原因.目前有三种迭代方法:for循环.迭代器和Foreach.前两者相信大家都非常熟悉,为了更加直观分析效率的不同,我们还加入Foreach一起比较.下面我们就三种方法的概念进行理解,然后ArrayList中探索三种方法的效率. 1.概念理解 for循环:是支持迭代的一种通用结构,是最有效,最灵活的循环结构 迭代器:是通过集合的iterator()方法得到的,所以我们说它是依赖于集合而存在的 Foreach:通过阅读源码我们还发现一个It

  • 关于C语言qsort函数详解

    目录 C语言qsort函数详解 一.qsort函数是什么 二.使用qsort排序-以升序为例 1.整形数组排序 2.字符数组排序 3.字符指针数组排序 4.结构体数组排序 5.浮点型数组排序 三.使用冒泡排序思想模拟实现qsort函数 1.什么是冒泡排序 2.冒泡排序代码 3. 使用冒泡排序思想模拟实现qsort函数 C语言qsort函数详解 一.qsort函数是什么 我们可以使用  搜索库函数网址或者MSDN软件进行查找. qsort()函数:快速排序的函数  -引用stdlib.h头文件 参

随机推荐