五一放假三天

······续写第三天的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#编程—第四天的更多相关文章

  1. AOP面向切面编程的四种实现

     一.AOP(面向切面编程)的四种实现分别为最原始的经典AOP.代理工厂bean(ProxyFacteryBean)和默认自动代理DefaultAdvisorAutoProxyCreator以及Bea ...

  2. 5天玩转C#并行和多线程编程 —— 第四天 Task进阶

    5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编 ...

  3. WCF编程系列(四)配置文件

    WCF编程系列(四)配置文件   .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的 ...

  4. Java 网络编程(四) InetAddress类

    链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951895.html Java 网络编程(四) InetAddress类 InetAdd ...

  5. 脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.前言 新一代HTTP/2 协议的主要目的是为了提高网页性能(有关HTTP/2的介绍,请见<从HTTP/0.9到HTTP/2:一文读 ...

  6. [Java并发编程(四)] Java volatile 的理论实践

    [Java并发编程(四)] Java volatile 的理论实践 摘要 Java 语言中的 volatile 变量可以被看作是一种 "程度较轻的 synchronized":与 ...

  7. 并发编程(四)TaskFuture

    并发编程(四)TaskFuture ExecutorService executorService = Executors.newSingleThreadExecutor(); Future<O ...

  8. C#中的函数式编程:递归与纯函数(二) 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面

    C#中的函数式编程:递归与纯函数(二)   在序言中,我们提到函数式编程的两大特征:无副作用.函数是第一公民.现在,我们先来深入第一个特征:无副作用. 无副作用是通过引用透明(Referential ...

  9. Scala函数式编程(四)函数式的数据结构 下

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Scala函数式编程(三) scala集合和函数 Scala函数式编程(四)函数式的数据结 ...

  10. 《Java 8实战》读书笔记系列——第三部分:高效Java 8编程(四):使用新的日期时间API

    https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是java.util.Dat ...

随机推荐

  1. vue,一路走来(7)--响应路由参数的变化

    今天描述的问题估计会有很多人也遇到过. vue-router多个路由地址绑定一个组件造成created不执行 也就是文档描述的,如下图 我的解决方案: created () { console.log ...

  2. MySQL MHA相关测试

    接上篇文章,介绍了如何安装mysql mha,地址如下:http://blog.csdn.net/yiyuf/article/details/40340895 下面接着进行mha的相关测试: SSH  ...

  3. 接口需要上一个接口的返回值(unittest)

    import unittest,requests ''' 使用unittest框架的时候,这个接口需要上一个接口的返回值 ''' class Test_case(unittest.TestCase): ...

  4. Java二级上机训练

    NCRE上机训练一 import javax.swing.JOptionPane; /** * 并完成两个整数的输入,计算乘积,最后按确定键退出程序. */ public class Java_1 { ...

  5. TP、FP、FN、TN的含义

    true positive(被正确分类的正例) false negative(本来是正例,错分为负例) true negative(被正确分类的负例) false positive(本来是负例,被错分 ...

  6. MySQL入门常用命令

    使用本地 MySQL,系统 Ubuntu. mysql -u root -p 输入 root 用户的密码进入MySQL: mysql>

  7. 线性规划(Simplex单纯形)与对偶问题

    线性规划 首先一般所有的线性规划问题我们都可以转换成如下标准型: 但是我们可以发现上面都是不等式,而我们计算中更希望是等式,所以我们引入这个新的概念:松弛型: 很显然我们最后要求是所有的约束左边的变量 ...

  8. vue打包配置发布路径

    目的:配置路径,让打包后的dist在本地可以打开. 方法:修改build文件夹下边的的webpack.dev.conf.js文件,找到devServer下边的publicPath,这个来源于confi ...

  9. 前端每日实战:103# 视频演示如何用纯 CSS 创作一只监视眼

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/GBzLdy 可交互视频 此视频是可 ...

  10. 源码分析笔记Vector

    概述 继承抽象类AbStractList,实现接口List.RandomAccess.Cloneable以及序列化接口默认容量大小为10,扩容增量为0,扩容为原容量的2倍如设置的增量大于0,则扩容为( ...