当前位置: 首页 > news >正文

C语言循环语句简述

C 循环

有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。

编程语言提供了更为复杂执行路径的多种控制结构。

循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图:
在这里插入图片描述

C 语言提供了以下几种循环类型。点击链接查看每个类型的细节。

循环类型

while 循环 当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。
for 循环 多次执行一个语句序列,简化管理循环变量的代码。
do…while 循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。
嵌套循环 您可以在 while、for 或 do…while 循环内使用一个或多个循环。

循环控制语句

循环控制语句改变你代码的执行顺序。通过它你可以实现代码的跳转。

C 提供了下列的循环控制语句。点击链接查看每个语句的细节。

控制语句 描述

break 语句 终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。
continue 语句 告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。
goto 语句 将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。

无限循环

如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。

实例
#include <stdio.h>

int main ()
{
for( ; ; )
{
printf(“该循环会永远执行下去!\n”);
}
return 0;
}
当条件表达式不存在时,它被假设为真。您也可以设置一个初始值和增量表达式,但是一般情况下,C 程序员偏向于使用 for(;😉 结构来表示一个无限循环。

注意:您可以按 Ctrl + C 键终止一个无限循环。

使用 while, for 分别输 1~100 以内的所有的奇数和偶数的和:

使用 while:

#include  <stdio.h>int main(){int  sum=0;int  num=1;int  sum2=0;int  num2=2;while(num<100){sum=sum+num;num=num+2;}printf("奇数和为:%d\n",sum);while(num2<=100){sum2=sum2+num2;num2=num2+2;}printf("偶数和为:%d\n",sum2);
}
使用 for:#include  <stdio.h>int main(){int  sum=0;int sum2=0;int num,num2;for(num=1;num<100;num=num+2){sum=sum+num;}printf("奇数和%d\n",sum);for(num2=2;num2<=100;num2=num2+2){sum2=sum2+num2;}printf("偶数和%d\n",sum2);
}

用 do while 求算术平方根:

#include <stdio.h>double DoSqrt(double z){double a=1;double b=0;double c=0;do{if(b*b<z){b+=a;}else{c=b;b-=a;a/=10;}}while(a>0.000001);return (b+c)/2;
}int main(){double x, y;printf("请输入一个数字:");scanf("%lf", &x);if(x<0){printf("输入错误。");} else {y=DoSqrt(x);printf("%g 的平方根为: %g.\n", x, y);}int z=1;do{main();z++;}while(z>10);return 0;
}

求100以内的素数。

#include<stdio.h>
#include<math.h>
int main(){int i,j;printf("100以内的素数有:\n");for(i=2;i<100;i++){for(j=2;j<sqrt(i);j++){if(i%j==0){break;}}if(j>sqrt(i)){printf("%d,\t",i);}}
}
第一个循环里面。i遍历从2100以内的所有数字,第二个循环是在2到sqrt(n)之间看看是不是可以整除i。可以整除则不是素数,相反不可以整除,则是素数。int fun(int n){for(i=2;i<=sqrt(p);i++){  if(x%i==0){return 0;  //不为素数}else{return 1; //为素数 }}
}
这个是求素数的关键代码。希望初学者要牢记于心,烂熟于心.

相关文章:

C语言循环语句简述

C 循环 有的时候&#xff0c;我们可能需要多次执行同一块代码。一般情况下&#xff0c;语句是按顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多次…...

STM32开发(16)----CubeMX配置DMA

CubeMX配置DMA前言一、什么是DMA&#xff1f;二、实验过程1.CubeMX配置2.代码实现3.实验结果总结前言 本章介绍使用STM32CubeMX对DMA进行配置的方法&#xff0c;DMA的原理、概念和特点&#xff0c;配置各个步骤的功能&#xff0c;并通过串口DMA传输实验方式验证。 一、什么是…...

让物流园区可视可控,顺丰供应链与亚马逊云科技的供应链新解法

导读&#xff1a;物流园区如何破解供应链断点&#xff1f;在物流园区附近&#xff0c;我们经常看到周边道路停满了集装箱卡车。这是物流园区的一个典型痛点&#xff0c;由于园区内部业务情况的不可见性&#xff0c;司机们往往到了园区才被告知业务繁忙&#xff0c;需要长时间排…...

2023年3月北京/西安/广州/深圳DAMA-CDGA/CDGP数据治理认证报名

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…...

「TCG 规范解读」TCG 主规范-设计原则

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alliance,TCPA)所开发的规范。现在的规范都不是最终稿,都…...

【Spring源码】Spring AOP的核心概念

废话版什么是AOP关于什么是AOP&#xff0c;这里还是要简单介绍下AOP&#xff0c;Aspect Oriented Programming&#xff0c;面向切面编程&#xff0c;通过预编译和运行期间提供动态代理的方式实现程序功能的统一维护&#xff0c;使用AOP可以降低各个部分的耦合度&#xff0c;提高…...

华为OD机试用Python实现 -【任务混部】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲任务混部题目输入输出示例一输入输出说明示例二输入输出说明备注Code代码编写思路华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/ca…...

Linux yum 命令

yum&#xff08; Yellow dog Updater, Modified&#xff09;是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。 基于 RPM 包管理&#xff0c;能够从指定的服务器自动下载 RPM 包并且安装&#xff0c;可以自动处理依赖性关系&#xff0c;并且一次安装所有依赖…...

package.json 字段配置

文章目录环境导入相关main 和 modulewebpack resolve.mainFieldsbrowserexports定义其他模块根据导入语句导出嵌套环境导出vue中 exports 用法自定义运行环境环境导入相关 main 和 module 根据导入模块时不同的模块规范语句查找不同的入口文件 "main": "dist…...

springboot中集成redis,二次封装成工具类

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;** 雄雄的小课堂 ** 现在是&#xff1a;2023年2月28日11:01:56 前言 redis大家应该都不陌生&#xff0c;我们在好多场景下都会使用&#xff0c;最近在面试别人的时候&#xff0c;也会问一些关于redis的…...

Linux Vim 简介

文章目录01. 编辑器 Gedit 介绍02. 什么是 Vi(Vim)03. vim工作模式4.1 命令模式4.2 编辑模式4.3 末行模式04. vim教程05. vim基本操作06. vim实用操作7.1 命令模式下的操作7.2 末行模式下的操作01. 编辑器 Gedit 介绍 gedit 是一个 GNOME 桌面环境下兼容 UTF-8 的 文本编辑器。…...

软件测试面试题 —— 整理与解析(2)

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;&#x1f30e;【Austin_zhai】&#x1f30f; &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xf…...

HashMap与Hashtable的这九个区别,你知道吗

Hashtable Hashtable是原始的java.util的一部分&#xff0c;属于一代集合类&#xff0c;是一个Dictionary具体的实现 。Java1.2重构的Hashtable实现了Map接口&#xff0c;因此&#xff0c;Hashtable现在集成到了集合框架中。它和HashMap类很相似。 Hashtable与HashMap的区别 …...

Java奠基】掌握Java基础知识

目录 常见字面量 特殊字面量 数据类型 标识符 键盘录入 常见字面量 字面量就是数据在程序中的书写格式&#xff0c;字面量的分类如下&#xff1a; 字面量类型说明举例整数类型不带小数点的数字12&#xff0c;25小数类型带小数点的数字3.14&#xff0c;-5&#xff0c;20…...

Hive窗口函数-lead/lag函数

前面我们学习的first_value和last_value 取的是排序后的数据截止当前行的第一行数据和最后一行数据 Lag和Lead分析函数可以在一次查询中取出当前行后N行和前N行的数据&#xff0c;虽然可以不用排序&#xff0c;但是往往只有在排序的场景下取前面或者后面N 行数据才有意义 这种…...

2023JAVA面试题全集超全面超系统超实用!早做准备早上岸

2022年我凭借一份《Java面试核心知识点》成功拿下了阿里、字节、小米等大厂的offer&#xff0c;两年的时间&#xff0c;为了完成我给自己立的flag&#xff08;拿下一线互联网企业offer大满贯&#xff09;&#xff0c;即使在职也一直在不断的学习与备战面试中&#xff01;——或…...

FreeRTOS入门(05):事件组

文章目录目的基础说明相关函数使用演示总结目的 事件组是RTOS中相对常用的用于任务间交互的功能&#xff0c;这篇文章将对相关内容做个介绍。 本文代码测试环境见前面的文章&#xff1a;《FreeRTOS入门&#xff08;01&#xff09;&#xff1a;基础说明与使用演示》 基础说明…...

【API网关】Kong安装和基本操作

文章目录前言一、API网关选型和Kong的安装1. 什么是API网关2. API网关技术选型3. 安装postgresql和migrations4. 安装kong5. 安装konga二、基本的路由转发配置1. kong的8001、8000和1337端口号的关系2. 基本的路由转发配置3. kong集成consul实现服务发现和负载均衡4. kong配置j…...

git --- stash用法

1 git stash命令介绍 // 保存当前分支的修改,回到上个版本的状态 git stash // 保存当前分支的修改,回到上个版本的状态,msg是保存当前修改的说明 git stash save "msg" // 用来展示所有保存的列表 git stash list // 用来展示某一保存记录所修改的操作 gi…...

【星海出品】VScode安装配置

安装VScode最好在官方网站上下载。 例如 https://code.visualstudio.com/Download 不知道自己的windows版本的话&#xff0c;可以命令行WINR 运行 输入&#xff1a; systeminfo | find "OS" //获取OS的版本信息。 systeminfo | find "系统类型" //获取系统…...

设计师连夜删稿的真相:Onion Skin未启用导致版本错位!3分钟紧急修复+历史帧自动锚定脚本

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;设计师连夜删稿的真相&#xff1a;Onion Skin未启用导致版本错位&#xff01;3分钟紧急修复历史帧自动锚定脚本 当动画师在 Toon Boom Harmony 或 Adobe Animate 中反复导出“看似正确”的中间帧&#…...

VLSI时代下74系列离散逻辑芯片的现代应用与设计实践

1. 从“胶水逻辑”到“系统粘合剂”&#xff1a;离散逻辑芯片的现代生存法则 在今天的数字电路设计领域&#xff0c;提起“7400系列”或者“74HC04”&#xff0c;很多年轻工程师的第一反应可能是博物馆里的古董&#xff0c;或者教科书上的历史章节。主流叙事已经被SoC、FPGA和高…...

告别手动打断点:用GDB脚本自动化调试除零错误(附完整.gdb文件)

告别手动打断点&#xff1a;用GDB脚本自动化捕获除零错误实战指南 调试C/C程序时&#xff0c;最令人头疼的莫过于那些偶发的运行时错误。特别是当程序在压力测试或特定输入下突然崩溃&#xff0c;而开发者却无法稳定复现问题时&#xff0c;传统的调试方式往往显得力不从心。本…...

FPGA仿真避坑指南:从HDLbits的5道Verification题里,我总结出了3个新手最易踩的时序错误

FPGA仿真避坑指南&#xff1a;从HDLbits实战中提炼的3个关键时序陷阱 第一次在Modelsim里看到仿真波形完全不符合预期时&#xff0c;我盯着屏幕发了半小时呆。时钟边沿对不齐、信号延迟莫名其妙、仿真突然卡住不动——这些场景对FPGA新手来说就像走进雷区。HDLbits的Verificati…...

从零部署Claude 3.5 Sonnet私有化实例:NVIDIA A10/A100实测吞吐对比、Token缓存优化与RAG集成避坑指南(含GitHub开源脚本)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Claude 3.5 Sonnet新功能详解 Anthropic 正式发布的 Claude 3.5 Sonnet 在推理速度、多模态理解与工具调用能力上实现了显著跃升。相比前代&#xff0c;其上下文窗口稳定支持 200K tokens&#xff0c;…...

Perplexity AI引用溯源功能上线72小时后,Nature/Science投稿拒稿率下降17.3%?,实证数据与3个必须启用的配置开关

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity AI引用透明度功能详解 Perplexity AI 的引用透明度&#xff08;Citation Transparency&#xff09;功能是其区别于传统大语言模型的核心设计之一&#xff0c;它通过实时标注、可追溯来源与结…...

向量引擎、DeepSeek V4、GPT Image 2、api key:为什么 Agent 真正落地时,先补的不是模型,而是记忆层

向量引擎、DeepSeek V4、GPT Image 2、api key&#xff1a;为什么 Agent 真正落地时&#xff0c;先补的不是模型&#xff0c;而是记忆层最近这波 AI 的变化&#xff0c;有个很明显的信号。 模型还在继续变强&#xff0c;但讨论重心已经悄悄变了。 以前大家最爱问的是“哪个模型…...

终极跨平台语音识别解决方案:sherpa-onnx全平台部署实战指南

终极跨平台语音识别解决方案&#xff1a;sherpa-onnx全平台部署实战指南 【免费下载链接】sherpa-onnx Speech-to-text, text-to-speech, speaker diarization, speech enhancement, source separation, and VAD using next-gen Kaldi with onnxruntime without Internet conne…...

2026年小白适用Hermes Agent/OpenClaw Token Plan集成全攻略大全

2026年小白适用Hermes Agent/OpenClaw Token Plan集成全攻略大全。OpenClaw作为阿里云生态下新一代的开源AI自动化代理平台&#xff0c;曾用名Moltbot/Clawdbot&#xff0c;凭借“自然语言交互自动化任务执行大模型智能决策”的核心能力&#xff0c;正在重构个人与企业的工作效…...

Video2X:用AI魔法让老旧视频重获新生

Video2X&#xff1a;用AI魔法让老旧视频重获新生 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/video2x 你是否曾…...