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.hqwc.cn/news/635971.html

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

相关文章

K8S哲学 - Pod、RC、RS、deployment

pod&#xff08;最小的可部署单元&#xff09; 容器组&#xff08;运行一个或多个容器&#xff09; Pod(容器组&#xff09;是Kubernetes 中最小的可部署单元。 一个Pod(容器组&#xff09;包含了一个应用程序容器&#xff08;某些情况下是多个容器&#xff09;、存储资源、 一…

Java高阶私房菜:高并发之线程池底层原理学习

以往我们需要获取外部资源&#xff08;数据源、Http请求等&#xff09;时&#xff0c;需要对目标源创建链接对象&#xff0c;三次握手成功后方可正常使用&#xff0c;为避免持续的资源占用和可能的内存泄漏&#xff0c;还需要调用目标对象close方法释放资源销毁对象。这一建一销…

墨子web3实时周报

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

Vue+OpenLayers7入门专栏目录,OpenLayers7中文文档,OpenLayers7中文手册api,OpenLayers7中文教程

返回入门到实战汇总目录&#xff1a;汇总目录 前言 本篇作为《VueOpenLayers7入门教程》所有文章的二合一汇总目录&#xff0c;方便查找。 本专栏源码是由OpenLayers7.x版本结合Vue框架编写。本专栏基本上每章都有详细的源代码和运行示例以供参考&#xff0c;且保证每章代码都…

git远程分支强制覆盖本地分支

目录 第一章、问题1.1&#xff09;报错提示&#xff1a;没有为分支主机或分支配置被跟踪的分支1.2&#xff09;报错分析与解决 第二章、2.1&#xff09;本地误删代码后想要git pull拉取覆盖&#xff1a;失败2.2&#xff09;报错分析和解决 友情提醒: 先看文章目录&#xff0c;…

《设计模式之美》- 总结

《设计模式之美》- 总结 第一章 概述 1.1 为什么学习代码设计 编写高质量的代码应对复杂代码的开发程序员的基本功职业发展的必备技能 1.2 如何评价代码的质量 1.2.1 可维护性 可维护性代码的特性&#xff1a;代码简洁、可读性好、可扩展性好代码分层结构清晰、模块化程度…

SQLite FTS3 和 FTS4 扩展(三十二)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite 的命令行 Shell(三十一&#xff09; 下一篇&#xff1a;SQLite—系列文章目录 概述 FTS3 和 FTS4 是 SQLite 虚拟表模块&#xff0c;允许用户执行 对一组文档进行全文搜索。最常见&#xff08;和最有效…

「51媒体」新闻媒体邀约如何进行媒体宣传(方法)

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 新闻媒体邀约进行媒体宣传是一个策略性的过程&#xff0c;旨在吸引媒体的注意力并促使其对特定事件、产品发布或企业活动进行报道。以下是一些关键步骤和策略&#xff1a; 制定媒体传播方…

人工智能论文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;但在…

黑马鸿蒙学习5:LIST容器

LIST容器&#xff0c;其实就是如果FOREACH容器展示不全的话&#xff0c;会自动有滚动条了。要注意的是&#xff0c;LIST中必须有固定的listitem这个项&#xff0c;而且列表里面只能包含一个根组件。 必须把ROW容器放到listitem中&#xff0c;如下&#xff1a;

c++补充

构造函数、析构函数 #include <iostream> using namespace std;// 构造函数、析构函数 // --- "构造函数"类比生活中的"出厂设置" --- // --- "析构函数"类比生活中的"销毁设置" --- // 如果我们不写这两种函数&#xff0c;编译…

layui框架实战案例(27):弹出二次验证

HTML容器 <button class"layui-btn layui-btn-sm layui-btn-danger" lay-event"delete"><i class"layui-icon layui-icon-delete"></i>批量删除</button>删除封装函数 function delAll(school_id, school_name) {var lo…