C#学习笔记03--循环和一维数组
一.循环(重点)
什么时候用循环?
想让一段代码执行多次, 这段代码可能不一样但是一定有一个规律.
1.while 循环
格式:
while(循环条件)
{
循环执行的代码;
}
循环的机制: 当循环条件为真, 执行循环体内的代码, 然后再判断循环条件, 为真一直继续这个过程, 知道判断出循环条件为假, 终止并跳出整个while循环.
注意:
1.一定要在外界定义一个循环变量;
2.一定要在循环的内部更改循环变量!
这两点缺一不可, 不然会陷入死循环!!!
练习:
1> 从键盘上随机输入一个数, 求出这个数的位数
Console.WriteLine("请输入一个数:");
int num = int.Parse(Console.ReadLine());
int i = ;
while (num != )
{
num /= ;
i++;
}
Console.WriteLine(i);
2> 从键盘上随机输入一个数, 求出这个数的二进制
int i = , c = ;
Console.WriteLine("请输出一个数:");
int num = int.Parse(Console.ReadLine());
while (num != )
{
c += (num % ) * i;
i *= ;
num = num / ; }
2.do while 循环
格式:
do
{
循环要执行的代码;
}while(循环条件)
练习
1.求使 sum = 1+2+3+4+...+N 小于10000的最大的整数N
int sum = , n = ;
do
{
sum += n;
n++;
} while (sum <= );
n--;
sum -= n;
n--;
Console.WriteLine(""+n+sum);
// 要注意这里n必须要减两次, 第一次是因为sum 多加了上一个n的值,导致直接打印出Sum的值超过了10000, n再减一次是因为那个使sum临界的n的值应当是上一个.
3.for循环
格式:
for (初始化循环变量; 循环条件; 循环变量自身的变化)
{
循环执行的代码;
}
练习
1.打印1-100内既不包含7又不是7的倍数的数
for (int i = ; i <= ; i++)
{
if (!(i % == || i / == || i % == ))
{
Console.WriteLine(i);
}
}
2.打印1-100的奇数之和
int sum = ;
for (int i = ; i <= ; i++)
{
if (i % != )
{
sum += i;
}
}
Console.WriteLine(sum);
3.2continue 和 break
continue 是用来终止本次循环, 也就是说如果在程序执行的过程中遇到了continue 那么在循环执行的代码中continue之后的代码就不会被执行; 直接跳到一下个循环里, 也就是到了"循环变量自身的变化";
break 是用来终止循环, 在程序执行过程中如果遇到break, 那么不管有没有达到循环结束的条件, 整个循环(本层)都会被停止, 提前结束生命;
练习
1.从键盘上输入一个数, 判断这个数是否是质数;
int num = int.Parse(Console.ReadLine());
bool isB = false;
for (int i = ; i < num / ; i++)
{
if (num % i == )
{
isB = true;
break;
}
}
if (!isB)
{
Console.WriteLine("是质数");
}
2.打印图形
for (int i = ; i <= ; i++)
{
for (int j = ; j <= - i; j++)
{
Console.Write(" ");
}
for (int k = ; k <= i; k++)
{
Console.Write("* ");
}
Console.WriteLine();
}
for (int i = ; i >= ; i--)
{
for (int j = ; j >= i; j--)
{
Console.Write(" ");
}
for (int k = ; k <= i; k++)
{
Console.Write("* ");
}
Console.WriteLine();
}
3.打印九九乘法表
for (int i = ; i <= ; i++)
{
for (int j = ; j <= i; j++)
{
Console.Write("{0} * {1} = {2} ", j, i, j * i);
}
Console.WriteLine();
}
怎么选择这几种循环呢?
知道循环的次数 使用for 循环
知道循环的条件 使用while循环
也不一定非要这个样, 但是这样选择会让代码和逻辑更清晰简洁一点.
二.一维数组
数组的定义:
1.数据类型[] 数组名 = new 数据类型[数组长度] [ {元素1, 元素2, ...}]; 一开始可以不先赋值
2.数组是存放相同数据类型的容器;
3.数组的访问形式是通过下标的形式 数组名[下标] 下标是从0开始的;
4.数组的下标必须不能越界;
5.数组必须指定长度, 要么直接指定(第二个中括号直接写上长度), 要么间接指定(第二个中括号不写长度, 但必须赋值, 赋值的个数就自动决定了数组的长度);
6.数组是一个整体 , 不能直接参与运算, '=' 号除外;
foreach
专门遍历集合里的元素(只有只读性, 不能改写 只能使用它)
格式:
foreach( 类型 变量 in 集合名)
{
代码;
}
C#学习笔记03--循环和一维数组的更多相关文章
- SaToken学习笔记-03
SaToken学习笔记-03 如果排版有问题,请点击:传送门 核心思想 所谓权限验证,验证的核心就是一个账号是否拥有一个权限码 有,就让你通过.没有?那么禁止访问! 再往底了说,就是每个账号都会拥有一 ...
- 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试
机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...
- OpenCV 学习笔记03 边界框、最小矩形区域和最小闭圆的轮廓
本节代码使用的opencv-python 4.0.1,numpy 1.15.4 + mkl 使用图片为 Mjolnir_Round_Car_Magnet_300x300.jpg 代码如下: impor ...
- OpenCV 学习笔记03 findContours函数
opencv-python 4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的 ...
- 《python基础教程(第二版)》学习笔记 语句/循环/条件(第5章)
<python基础教程(第二版)>学习笔记 语句/循环/条件(第5章) print 'AB', 123 ==> AB 123 # 插入了一个空格print 'AB', 'CD' == ...
- C++ GUI Qt4学习笔记03
C++ GUI Qt4学习笔记03 qtc++spreadsheet文档工具resources 本章介绍创建Spreadsheet应用程序的主窗口 1.子类化QMainWindow 通过子类化QM ...
- Redis:学习笔记-03
Redis:学习笔记-03 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 7. Redis配置文件 启动 ...
- Julia 学习笔记(一):数组
个人向,只会记录一些需要注意的点. 前言 学习 Julia 已经有一段时间了,但是进步缓慢.这一方面是最近代码写得少,一方面是 Julia 学习资料少.中文资料更少,但也有我没做笔记的缘故导致学习效率 ...
- xml基础学习笔记03
继续上篇xml学习笔记,坚持.坚持.再坚持啊.... 本篇主要记录: 35.XML节点的删除与修改 36集.用XML制作RSS订阅源 <?php /* 笔记: 35.XML节点的删除与修改 使用 ...
随机推荐
- 2018.8.9 python中的动态传参与命名空间
主要内容: 1.函数参数 ----动态传参 2.名称空间与作用域 3.函数的嵌套 4.global,nonlocal关键字 一.函数参数 ------动态传参 形参的第三种:动态传参 动态传参分为两种 ...
- 匹马行天下之思维决定高度篇——道道道,学习Java之道
致Java星球的程序员兄弟们的一封信 亲爱的Java星球的程序员兄弟们: 你们好!我是来自地球的一名Java程序员,首先我代表地球人对贵星球的高司令来到地球传授Java语言,造福了全人类,造福了整个地 ...
- nodejs sql --- 添加事务
添加事务 let transaction; try { transaction = await this.ctx.model.transaction(); await this.ctx.model.C ...
- Splash API 调用
render.html render.html 接口用于获取 JavaScript 渲染的页面的 HTML 代码,接口地址就是 Splash 的运行地址加此接口名称,例如http://localhos ...
- H5与CSS3常用设置
1.设置div铺满全屏 对于一个div1,要使其属性height:100%生效,需要使其所有父元素,有确定的属性height.要铺满全屏,就是从html开始,所有的height为100%. 2.垂直居 ...
- Logback MDC
Mapped Diagnostic Contexts (MDC) (译:诊断上下文映射) Logback的设计目标之一是审计和调试复杂的分布式应用程序.大多数实际的分布式系统需要同时处理来自多个客 ...
- RabbitMQ-交换机模式
在说正题之前先解释一下交换机模式是个笼统的称呼,它不是一个单独的模式(包括了订阅模式,路由模式和主题模式),交换机模式是一个比较常用的模式,主要是为了实现数据的同步. 首先,说一下订阅模式,就和字面上 ...
- [考试反思]1023csp-s模拟测试83:等候
分数倒是依旧那么烂,但是这个时间比较诡异. 6分49秒弄出T1,15分钟送上T2的50分暴力,不到一小时半的时候T3的30分暴力也完成了... 在85分钟之后一次提交也没有 前15分钟平均每分钟得10 ...
- 8行代码批量下载GitHub上的图片
[问题来源] 来打算写一个的小游戏,但是图片都在GitHub仓库中,GitHub网页版又没有批量下载图片的功能,只有单独一张一张的下载,所以自己就写了个爬虫脚本模拟人的操作把整个页面上需要的图片爬取下 ...
- Requests库使用总结
概述 Requests是python中一个很Pythonic的HTTP库,用于构建HTTP请求与解析响应 Requests开发哲学 Beautiful is better than ugly.(美丽优 ...