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节点的删除与修改 使用 ...
随机推荐
- fenby C语言 P6
printf=格式输出函数; printf=("两个相加的数字是:%d,%d,他们的和是:%d\n",a,b,c); %d整数方式输出; \n=Enter; int a=1; fl ...
- SpringBoot整合MybatisPlus3.X之Sequence(二)
数据库脚本 DELETE FROM user; INSERT INTO user (id, name, age, email) VALUES (, , 'test1@baomidou.com'), ...
- 在docker中创建使用MySQL,并实现远程连接navicat
在 docker 中使用 mysql 安装完docker之后,在命令行中输入docker images可以查看自己创建的image(安装下载docker的教程很多了,大家需要可以去查一下就可以了)这里 ...
- 大家都说好用的 Python 命令行库:click
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...
- Python爬虫常用小技巧之设置代理IP
设置代理IP的原因 我们在使用Python爬虫爬取一个网站时,通常会频繁访问该网站.假如一个网站它会检测某一段时间某个IP的访问次数,如果访问次数过多,它会禁止你的访问.所以你可以设置一些代理服务器来 ...
- 作为一名程序员,你真正了解CDN技术吗?
本文导读: 物流仓库配送如何加速 静态资源文件部署方式 静态资源加速之CDN技术 解析过程中的名词解释 最后的总结 1.物流仓库配送如何加速 我们还是从生活中购物的例子来展开. 将时光倒回到几年前,在 ...
- tomcat无法启动的原因
一.排查思路 最直接也是最有效的办法:看console控制台 这是我看到的原因,我先想到是不是web.xml里的url-pattern里的命名是不是冲突 因为我在这个项目之前写了一个项目,用的是同一个 ...
- MIT线性代数:11.矩阵空间、秩1矩阵和小世界图
- android内嵌H5页(webview)如何定位
一.切换至webview后再定位元素 (1)获取页面上下文 contexts = driver.contexts (2)切换至webview driver.switch_to.context(cont ...
- 熊海cms v1.0 完全代码审计
很久以前写的,写这个东西更多的是为了说明我自己的一个思路,即按照程序功能点进行代码审计, 这样经过一段时间训练,熟悉了某种功能的正确和错误实现方法,遇到类似的代码就可以很快看出是否有问题了 --- 0 ...