C#语法知识之循环语句

5、循环语句

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

文章目录

      • 1、while
          • 思考1 斐波那契数列
          • 思考2 判断一个数是否为质数
          • 思考3 找出100以内的质数
      • 2、do...while
      • 3、for
          • 思考1 找水仙花数
          • 思考2 乘法表

1、while

1、作用

让代码重复去执行

2、语法相关

while(bool类型值){//当满足条件时,就会执行while语句块中的内容//当代码执行完后,会回到while开头,再做判断
}

3、嵌套使用

​ 不仅可以嵌套if switch 还可以嵌套while

int a = 0;
while( a < 10 ){++a;//每次从外层循环进来的b 和上一次的b没有关系int b = 0;while( b < 10 ){++b;}
}

4、流程控制关键词

break	跳出当前循环
continue	回到循环开始,进行下一次循环
//打印1~20之间的奇数
int index = 0;
while(index < 20){++index;if( index % 2 == 0){continue;}Console.WriteLine(index);
}
思考1 斐波那契数列
求数列11235813...的第20位数字是多少?
//斐波那契数列 从第三个数开始,每个数的值等于前两个数之和
int n1 = 1, n2 = 1, index = 0, result = 0;
//构造一个可以循环20次的流程
while (index < 20){++index;if(index == 1){result = n1;}else if( index == 2){result = n2;}else{result = n1 + n2;n1 = n2;n2 = result;}
}
Console.Write(result);
思考2 判断一个数是否为质数
质数:除了1和自身外,不能被其他自然数整除,1不是质数
try{Console.WriteLien("输入数字")int num = int.Parse(Console.ReadLien());  int index = 2;while( index < sum ){if( num % index ==0 ){break;}++index;}if( index != num ){Console.WriteLine("不是质数");}else{Console.WriteLine("是质数");}
}catch{Console.Write("格数错误")
}
思考3 找出100以内的质数
int num = 2;
while(num < 100){int i = 2;while(i < num){if( num % i ==0){   //判断是否是质数break;}++i;}if( i == num){Console.WriteLine(num);}
}

2、do…while

1、基本语法

while // 先判断条件再执行
do while // 先至少执行一次循环语句块中的逻辑,再判断是否继续bool isShow = false;	//标识,让第一次不循环声明变量do{if(isShow){//第一次不循环,之后会循环}//循环语句块 continue; //会到判断里面isShow = true;	//标识,之后会一直循环} while (bool类型值);

2、实际使用

使用较少

3、嵌套使用

if switch while do while

3、for

1、for循环语法

for(初始表达式;条件表达式;增量表达式){//循环代码逻辑
}
//初始表达式;一般声明一个临时变量,用来计数
//条件表达式:表明进入循环的条件 bool类型值
//增量表达式:用初始表达式的变量,进行自增减运算

2、嵌套使用

for( int i =0; i < 10; i++){for(int j =0; j <10 ; i++){Console.WriteLine(i+"_"+j);	//行列}
}

3、特殊写法

for( ; ; ){/*1、死循环*/}
//2、增量表达式写在循环体中
int i = 0;
for( ;i < 10; ){++i}
//3、满足条件退出
for(int i =0; ; ++i){if( i >= 10 ){break;}
}

4、对比while循环

for循环一般用来准确得到一个范围中的所有数for(int i =0; i < 10; ++i){}
while循环较for循环繁琐int j = 0;while(j<10){++j;}
思考1 找水仙花数
找出100~999之间的水仙花数
例:153=1*1*1+5*5*5+3*3*3
int bai ,shi ,ge;
for(int i =100 ; i <= 999 ; i++){bai = i / 100;shi = i % 100 /10;ge = i % 10;if (i == bai *bai* bai + shi* shi* shi + ge*ge*ge){Console.WriteLine(i);}
}
思考2 乘法表
for(int i = 1; i <= 9; i++){for(int j = 1; j <= i, j++){Console.Write("{0}X{1}={2} ",j,i,i*j);}Console.WriteLine();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/1155.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【GIS教程】ArcGIS做日照分析(附练习数据下载)

我国对住宅日照标准的规定是:冬至日住宅底层日照不少于1小时或大寒日住宅层日照不少于2小时(通常以当地冬至日正午12时的太阳高度角作为依据)。因冬至日太阳高度角最低&#xff0c;照射范围最小&#xff0c;如果冬至日12&#xff1a;00建筑物底层能够接收到阳光&#xff0c;那么…

Python数据可视化库—Bokeh与Altair指南

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在数据科学和数据分析领域&#xff0c;数据可视化是一种强大的工具&#xff0c;可以帮助我们…

Docker - HelloWorld

原文地址&#xff0c;使用效果更佳&#xff01; Docker - HelloWorld | CoderMast编程桅杆https://www.codermast.com/dev-tools/docker/docker-helloworld.html 开始之前 在学习本小节之前&#xff0c;你必须确保你正确安装了 Docker&#xff0c;正确安装 Docker 是后续学习的…

墨子web3实时周报

蚂蚁集团Web3研发进展与布局 国内Web3赛道的领军企业——蚂蚁集团&#xff0c;凭借其在前沿科技领域的深耕不辍&#xff0c;已在Web3技术研发疆域缔造了卓越战绩。特别是在引领行业革新的关键时刻&#xff0c;集团于今年四月末震撼推出了颠覆性的Web3全套解决方案&#xff0c;…

java通过maven导入本地jar包的三种方式

一、引入lib下加载&#xff08;加载过后打包&#xff0c;以后再次使用不用再次导入&#xff09; 首先创建一个用于创建jar包的项目&#xff0c;并测试能否成功运行 讲项目打包 在需要引入的项目中创建lib目录 并把刚才打包的jar复制进去 通过dependency引入jar包 groupId、art…

读天才与算法:人脑与AI的数学思维笔记05_算法的幻觉

1. 自下而上 1.1. 代码在未来可以自主学习、适应并进行自我改进 1.2. 程序员通过编程教会计算机玩游戏&#xff0c;而计算机却会比教它的人玩得更好&#xff0c;这种输入寡而输出众的事情不大可能实现 1.3. 早在20世纪50年代&#xff0c;计算机科学家们就模拟该过程创造了感…

人工智能论文GPT-3(3):2020.5 Language Models are Few-Shot Learners;架构;训练数据集;开源

2.1 模型与架构 我们使用了与GPT-2相同的模型和架构&#xff0c;包括其中描述的改进初始化、预归一化和可逆分词技术&#xff0c;但有所不同的是&#xff0c;我们在Transformer的各层中使用了交替的密集和局部带状稀疏注意力模式&#xff0c;类似于Sparse Transformer 。为了研…

Flutter 的 showDialog 和 showCupertinoDialog 有什么区别?

我将我的 App 里用的 Flutter 升级到了 3.19&#xff0c;没想到&#xff0c;以前我用 showDialog 和 AlertDialog 组合创建的二次确认框&#xff0c;变得无敌难看了&#xff0c;大幅度增加了整个框的圆角和里面默认按钮的圆角。不得已&#xff0c;我必须修改一下&#xff0c;以…

算法练习|Leetcode189轮转数组 ,Leetcode56合并区间,Leetcode21合并两个有序链表,Leetcode2两数相加,sql总结

目录 一、Leetcode189轮转数组题目描述解题思路方法:切片总结 二、Leetcode56合并区间题目描述解题思路方法:总结 三、Leetcode21合并两个有序链表题目描述解题思路方法:总结 四、Leetcode2两数相加题目描述解题思路方法:总结 sql总结: 一、Leetcode189轮转数组 题目描述 给定…

C++|stack-queue-priority_queue(适配器+模拟实现+仿函数)

目录 一、容器适配器 1.1容器适配器概念的介绍 1.2stack和queue的底层结构 1.3deque容器的介绍 1.3.1deque的缺陷及为何选择他作为stack和queue的底层默认实现 二、stack的介绍和使用 2.1stack的介绍 2.2stack的使用 2.3stack的模拟实现 三、queue的介绍和使用 …

NotePad++联动ABAQUS

Abaqus 中脚本运行 1. 命令区kernel Command Line Interface &#xff08;KCLI&#xff09; execfile(C:\\temp\second develop\chapter2\pyTest1.py)2. CAE-Run Script File->Run Script 3. Abaqus command Abaqus cae noGUIscript.py(前后处理都可)Abaqus Python scr…

排序算法集合

912. 排序数组 趁着这道题总结下排序方法 1.快速排序 算法描述 1.从数列中挑出一个元素&#xff0c;称为"基准"&#xff08;pivot&#xff09;&#xff0c; 2.重新排序数列&#xff0c;所有比基准值小的元素摆放在基准前面&#xff0c;所有比基准值大的元素摆在基…

【网站项目】高校毕业论文管理系统小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

人工智能论文GPT-3(2):2020.5 Language Models are Few-Shot Learners;微调;少样本Few-Shot (FS)

2 方法Approach 我们的基本预训练方法&#xff0c;包括模型、数据和训练&#xff0c;与GPT-2中描述的过程相似&#xff0c;只是模型规模、数据集规模和多样性&#xff0c;以及训练时长有所扩大&#xff0c;相对简单直接。 我们使用的上下文学习也与GPT-2相似&#xff0c;但在…

SpringCloud系列(8)--将服务提供者Provider注册进Eureka Server

前言&#xff1a;上一章节我们介绍了Eureka服务端的安装与配置&#xff0c;本章节则介绍关于微服务如何入职Eureka Server Eureka架构原理图 1、修改provider-payment8001子模块的pom.xml文件&#xff0c;引入Eureka Clinet的依赖&#xff0c;然后reolad一下&#xff0c;下载依…

Parade Series - CoreAudio Loopback

Scenario 鉴于业务场景需要&#xff0c; 经过技术路径探索&#xff0c; 发现 comtypes 兼容性过于混乱&#xff0c;故而考虑整合一个 CoreAudio 的轮子dll来解决实际问题&#xff01;std::StringStream ⇒ std::ios::binary ⇒ std::ofstream Loopback.dll #ifndef _DLL_C…

数学建模--非线性规划模型+MATLAB代码保姆式解析

目录 1.简单介绍 2.求解方法 3.适用赛题 4.典型例题及相关分析 &#xff08;1&#xff09;问题引入 &#xff08;2&#xff09;决策变量&约束条件 &#xff08;3&#xff09;确定目标函数 &#xff08;4&#xff09;建立数学模型 5.MATLAB代码祝逐字句讲解 1.简单…

Redis系列之Cluster集群搭建

在上一篇博客&#xff0c;我们学习Redis哨兵Sentinel集群的搭建&#xff0c;redis的哨兵模式提供了比如监控、自动故障转移等高可用方案&#xff0c;但是这种方案&#xff0c;容量相对固定&#xff0c;要进行持续扩容或者数据分片就不适合&#xff0c;所以有另外一种更复杂的集…

图像处理的魔法师:Pillow 库探秘

文章目录 图像处理的魔法师&#xff1a;Pillow 库探秘第一部分&#xff1a;背景介绍第二部分&#xff1a;库是什么&#xff1f;第三部分&#xff1a;如何安装这个库&#xff1f;第四部分&#xff1a;库函数使用方法第五部分&#xff1a;场景应用第六部分&#xff1a;常见Bug及解…

YOLOv9改进策略 | 添加注意力篇 | 利用ILSVRC冠军得主SENetV1改善网络模型特征提取能力

一、本文介绍 本文给大家带来的改进机制是SENet&#xff08;Squeeze-and-Excitation Networks&#xff09;其是一种通过调整卷积网络中的通道关系来提升性能的网络结构。SENet并不是一个独立的网络模型&#xff0c;而是一个可以和现有的任何一个模型相结合的模块(可以看作是一…