C#编程—第四天
五一放假三天
······续写第三天的if else-if、if语句的嵌套、很多例题(还有很多没有整理好的)
5.4下午初步学习循环语句for 老师布置了几个小练习题
循环语句
循环:可以反复执行某段代码,直到不满足循环条件为止。
循环的四要素:初始条件、循环条件、状态改变、循环体
1、初始条件:循环最开始的状态
2、循环条件:在什么条件下进行循环,不满足此条件,则循环终止。
3、状态改变:改变循环变量值,最终不满足循环条件,从而停止循环。
4、循环体:要反复执行的部分。
#程序调试#
1、写完一段程序后,想看下这段程序的执行过程。
2、当你写完这段程序后,发现程序并没有按照你想象的样子去执行。
调试方法:
1、F11逐语句调试(单步调试)
2、F10逐过程调试
3、断点调试:找到断点要设置断点的代码在代码左侧灰色条处点击鼠标左键。或者,选中代码,按F9设置断点
for 循环:
语法:
for (表达式1;表达式2;表达式3)
{
循环体;
}
输入方式:打完for紧接着按两下Tab
表达式1:一般为声明的循环变量,记录循环的次数(int i=0;)
表达式2:一般为循环条件(i<10)
表达式3:一般为改变循环条件的代码,使循环条件终有一天不再成立(i++)
执行过程:程序首先执行表达式1,声明了一个循环变量用来记录循环的次数,然后执行表达式2,判断循环条件是否成立,如果表达式2返回的结果为true,则执行循环体,当执行完循环体后,执行表达式3,然后执行表达式2继续判断循环条件是否成立,如果成立则继续执行循环体,如果不成立则跳出for循环。
forr + 两下tab :逆向for循环
水仙花数:百位的立方+十位的立方+个位的立方==当前这个百位数
例如:1+5^3+3^3==153
for 循环的嵌套:可以做99乘法表
当遇到某个事情要做一遍,而另外一个事情要做n遍的时候,就要用到for循环嵌套
for 循环用来解决两大类问题:穷举、迭代
for 穷举法
用循环把各种可能的情况都走一遍,然后用if条件把满足要求的结果给筛选出来。
例如:
1、找100以内的与7有关的数
2、小明单位发了一百元的购物卡,他到超市买洗化用品,一是洗发水(15元),二是香皂(2元),三是牙刷(5元)怎么可以正好把一百元花完。
3、公鸡两文钱一只,母鸡一文钱椅子,小鸡半文钱一只,花100文钱买100只鸡,该如何购买?
4、大马驮2石粮食,中马驮1石粮食,两头小马驮一旦粮食,要用100匹马,驮100石粮食,该如何调配
5、有一分钱、两分钱、五分钱硬币,要组合出两角有哪些组合方法。
6、侦察兵A和B两人中至少去一人;
A和D不能一起去;
A、E和F三人中要派两人去;
B和C都去或都不去; 注释:
C和D两人中去一个;
若D不去,则E也不去。
问应当让哪几个人去?
for 迭代法
有一定规律,从初始情况按照规律不断求解中间情况,最终推导出结果。
例如:
1、100以内所有整数的和 2、公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?
3、五个小朋友排成一队。问第一个多大了,第一个说比第二个大两岁,问第二个,第二个说比第三个大两岁,以此类推。问第五个小朋友几岁了,第五个小朋友说3岁了。问第一个小朋友几岁?
4、一张纸厚度是0.07毫米,假设这张纸可以限次对折,问对折几次可以超过珠峰?8848米
5、国际象棋64格。堆米。问第64个格上会放多少粒米?
例题:
/*
(一)100以内与7相关的数。
1.从1一直找到100
2.对每个数判断是否满足以下条件之一
能被7整除 a%7==0
个位是7 a%10 == 7
十位是7 a/10==7
(二)简陋的彩票生成器。
(三)求100以内所有数的和。
*/ for (int i = ; i <= ; i++)
{
if (i % == || i % == || i / == )
console.write(i + "\t");
} random r=new random();//随机数生成器 for (int i = ; i < ; i++)//for循环
{
int a = r.next();//声明a来接受生成的随机数 随机数范围100以内
console.write(a+"\t");//不换行输出生成的随机数并且用tab分开,for每循环一次输出一个,直到循环条件不成立。
} int sum = ;//声明一个int变量 赋初值0
for (int i = ; i <= ; i++)
{
sum = sum + i;//求100以内整数相加的和 console.write(sum+"\t");//循环内效果
} console.writeline("\n\n\n\t\v"+sum);//循环外效果 int sum = ;
for (int i = ; i <= ; i++)
{
if ((i - ) % == )
{
sum = sum + i;
}
}
console.writeline(sum); int sum = ;
for (int i = ; i <= ; i+=)//i+=2 => i=i+2 偶数
{ //console.write(i + "\t");
console.write(i + "\t");
sum = sum + i;
}
console.writeline(sum);//100以内偶数之和
预习:while
(当什么什么的时候)
while(循环条件)
{
循环体;
}
执行过程:程序运行到while时,首先判断while所带的小括号内的循环条件是否成立,如果成立(返回true),则执行循环体。执行完一遍,在回到循环条件进行判断,如果依然成立,则继续执行循环体,如果不成立,则跳出while循环。在 while 循环当中,一般总会有那么一行代码能够改变循环条件,使之终有一天不再成立,如果没有那么一行代码能够改变循环条件,也就是循环条件永远成立,称之为死循环。
最简单的最常用的死循环:
while (true)
{
}
循环不好写:写注释:先分析出(循环体)是什么,在去想(循环条件)
break 关键字的作用: 1、跳出 switch-case 结构。
2、跳出 当前循环。
break一般不单独的使用,而是跟着if判断一起使用,表示,当满足某些条件的时候,就不再循环了。
do-while 循环
遇见首先执行一遍循环体,拿着执行后的结果再去判断是否执行循环的循环,推荐使用do-while循环。
语法:
do
{
循环体;
}while (循环条件);
执行过程:程序首先会执行do中的循环体,执行完成后,去判断do-while循环的循环条件,如果成立,则继续执行do中的循环体,如果不成立,则跳出do-while循环。
特点:先循环,再判断,最少执行一遍循环体。
while 和 do-while 推荐掌握while
C#编程—第四天的更多相关文章
- AOP面向切面编程的四种实现
一.AOP(面向切面编程)的四种实现分别为最原始的经典AOP.代理工厂bean(ProxyFacteryBean)和默认自动代理DefaultAdvisorAutoProxyCreator以及Bea ...
- 5天玩转C#并行和多线程编程 —— 第四天 Task进阶
5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编 ...
- WCF编程系列(四)配置文件
WCF编程系列(四)配置文件 .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的 ...
- Java 网络编程(四) InetAddress类
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951895.html Java 网络编程(四) InetAddress类 InetAdd ...
- 脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)
本文原作者阮一峰,作者博客:ruanyifeng.com. 1.前言 新一代HTTP/2 协议的主要目的是为了提高网页性能(有关HTTP/2的介绍,请见<从HTTP/0.9到HTTP/2:一文读 ...
- [Java并发编程(四)] Java volatile 的理论实践
[Java并发编程(四)] Java volatile 的理论实践 摘要 Java 语言中的 volatile 变量可以被看作是一种 "程度较轻的 synchronized":与 ...
- 并发编程(四)TaskFuture
并发编程(四)TaskFuture ExecutorService executorService = Executors.newSingleThreadExecutor(); Future<O ...
- C#中的函数式编程:递归与纯函数(二) 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面
C#中的函数式编程:递归与纯函数(二) 在序言中,我们提到函数式编程的两大特征:无副作用.函数是第一公民.现在,我们先来深入第一个特征:无副作用. 无副作用是通过引用透明(Referential ...
- Scala函数式编程(四)函数式的数据结构 下
前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Scala函数式编程(三) scala集合和函数 Scala函数式编程(四)函数式的数据结 ...
- 《Java 8实战》读书笔记系列——第三部分:高效Java 8编程(四):使用新的日期时间API
https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是java.util.Dat ...
随机推荐
- egrep 或 多个连续字符测数字
.TXT 4-6是ABC 或者 4-6是 0-9
- ltp-ddt eth_iperf_tcp iperf dualtest遇到的问题
ltp-ddt eth_iperf_tcp server端:iperf -s -i 5 -w 1M client端将ddt的核心代码抠出来: iperf -c 1921.68.40.41 -m -M ...
- Linux的运行级别和设置开机启动服务的方式
Linux的运行级别 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找 ...
- Flutter-Text
text的主要属性有:textAlign,maxLines,overflow等. Text( "hello flutter!", TextAlign:TextAlign.cente ...
- 如何创建yml文件
New-File 输入application.yml,但是这不是真正的yml文件 ctrl+shift+alt+s
- vmware版本选择
vmware哪个版本好用 2014-03-10 22:59一枚小白3 | 分类:常见软件 | 浏览6743次 准备装ghost xp,想问下哪个版本更适合?或者现在哪个版本更稳定,求不要复制,求大神解 ...
- 在项目中使用 Maven 私服
#在项目中使用 Maven 私服 在 Maven settings.xml 中添加 Nexus 认证信息(servers 节点下): <server> <id>nexus-re ...
- 人生苦短_我用Python_configparser/yaml对配置文件读取/写入操作_010
第一,我们先开始安装yaml库,configparser是自带库,yaml库是针对读取yml文件,configparser现阶段我只用于读取conf文件 首先:1)对象文件为:data.yml,下面的 ...
- .NET面试题集锦②
一.前言部分 文中的问题及答案多收集整理自网络,不保证100%准确,还望斟酌采纳. 1.实现产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复. ]; ArrayList my ...
- Vue学习笔记-作用域插槽
有时候我们希望子组件的内容由父组件决定如何展示,这个时候子组件的数据父组件并不能访问到,而作用域插槽的关键之处就在于,父组件能接收来自子组件的slot传递过来的参数. <div id=" ...