C#初级开发原创教程第八课 循环结构(二)
本帖最后由 王尼玛 于 2014-10-24 01:13 编辑大家好,我是王尼玛。今天起我给大家讲解C#开发教程,本次是第八课。大家在课后有什么疑问可以跟帖留言,我会尽我所能来解答。毕竟众口难调,大家有什么建议也可以跟帖告诉我。
此教程为本人原创,转载请注明"吾爱汇编论坛王尼玛原创"
好了,废话不多说,开始今天的学习.
有朋友说不太明白我写的教程,其实编程这东西很简单,一个字,练!你光看我写的多半是一头雾水,因为你没实际跟着我讲的代码去操作,你要跟着我的代码敲,多敲代码,多练习我给的例子,再配合我例子后面的讲解,自然就明白我讲的是什么了.还不明白?跟帖问吧
1.什么是for循环
语法:
for(表达式1,表达式2,表达式3){
//循环体
}三个表达式的含义:
表达式 形式 功能
表达式1 赋值语句
循环结构的初始部分,为循环变量赋初值
表达式2 条件语句循环结构的循环条件
表达式3 赋值语句,通常使用++或--运算符 循环结构的迭代部分,通常用来修改循环变量的值
for关键字后面括号中的三个表达式必须用";"隔开.for循环中的三个部分以及{}中的循环体使循环结构必需的四个组成部分完美地结合在了一起
2.如何使用for循环
问题:
循环输入某同学结业考试的五门课成绩,并计算平均分
分析:
很明显,循环次数是固定的五次,因此我们首选for循环.使用for循环结构的步骤和使用while/do-while一样,首先要明确循环条件和
循环操作,这里的循环条件是"循环次数不足5次,继续执行",循环操作是"录入成绩,并计算成绩之和"
解决方案:
int score;//每门课的成绩
int sum = 0; ;//成绩之和
double avg = 0.0;//平均分
for (int i = 0; i < 5;i++ )
{
Console.WriteLine("请输入第"+(i+1)+"门成绩:");
score = int.Parse(Console.ReadLine());
sum = sum + score;
}
avg = sum / 5;//计算平均分
Console.WriteLine("平均分是" + avg);运行结果:
3.break语句的使用
我们在学习switch结构时,已经使用过break了,break语句用于终止switch语句中的某个分支,使程序跳到switch外的下一条语句,那么在
循环中,break能发挥什么样的作用?
问题:
循环录入五门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误!
分析:
在录入的过程中,进行条件判断.如果录入为负,立刻跳出循环.我们使用break语句来解决
解决方案:
int score;//每门课的成绩
int sum = 0; ;//成绩之和
double avg = 0.0;//平均分
bool isNegative = false;//是否为负数
for (int i = 0; i < 5;i++ )
{
Console.WriteLine("请输入第"+(i+1)+"门成绩:");
score = int.Parse(Console.ReadLine());
if (score < 0)
{
isNegative = true;
break;
}
sum = sum + score;
}
if(isNegative)
{
Console.WriteLine("录入错误");
}
else
{
avg = sum / 5;//计算平均分
Console.WriteLine("平均分是" + avg);
}运行结果:
4.continue语句的使用
根据要求,在循环语句中的if结构中使用break语句跳出循环.但是,可能你也会遇到,在某次循环中,我们不想执行完所有的循环体,就想跳出本次循环开始
执行下一次循环
问题:
循环录入学生C#成绩,统计分数大于80分(包括等于)的学生比例
分析:
使用循环语句录入学生成绩并累计人数,这对我们并不是难题,但是如果仅仅要累积满足分数大于等于80分的人数,该怎么办呢?有一种方法就是使用
continue语句控制累积操作是否进行
解决方案:
int score= 0;//成绩
int total;//班级总人数
int num = 0;//成绩大于等于80的人数
Console.WriteLine("输入班级总人数");
total = int.Parse(Console.ReadLine());
for(int i = 0;i<total;i++)
{
Console.WriteLine("请输入第" + (i + 1) + "个学生的成绩");
score = int.Parse(Console.ReadLine());
if(score<80)
{
continue;
}
num++;
}
Console.WriteLine("80分以上的人数是{0}", num);运行结果:
这节课就到这,谢谢大家
王尼玛C#初级开发原创教程目录:
1.C#初级开发原创教程第一课Visual Studio 2013的安装
2.C#初级开发原创教程第二课 控制台的输出
3.C#初级开发原创教程第三课 数据类型转换
4.C#初级开发原创教程第四课 深入控制台应用程序
5.C#初级开发原创教程第五课 bool类型,关系运算符与if选择结构
6.C#初级开发原创教程第六课 复杂选择结构
7.C#初级开发原创教程第七课循环结构(一)
8.C#初级开发原创教程第八课 循环结构(二)
9.C#初级开发原创教程第九课 数组
10.C#初级开发原创教程第十课 面向对象之类和对象
11.C#初级开发原创教程十一课 类的无参方法
12.C#初级开发原创教程十二课 带参数的方法(一)
13.C#初级开发原创教程第十三课 字符串的操作
每课都是精华,每课都要认真制作啊。尼玛,加油!
Shark恒 发表于 2014-10-12 19:27
每课都是精华,每课都要认真制作啊。尼玛,加油!
感谢恒大支持!
{:6_209:}每次我都不忍心打出大大名号
课程出得好快,一定要支持
for (int i = 0; i < 5;i++ )
int i=0 应该是把i赋予0
i<5应该是条件i+5 或者大于5就不再循环执行
i++啥意思
如果我是循环5次 或者我不知道到底循环几次 这个i<5 要改成什么样子
比如我读一个文件 里面用;分开 为1个数组
比如
111111 2222222;
333333 4444444;
这个数组想把它输出出来为
账号11111密码 22222
账号33333密码44444
我用按键的For语句很好解决 看了半天 这个c#咋解决啊
大官人 发表于 2014-10-12 21:03
for (int i = 0; i < 5;i++ )
int i=0 应该是把i赋予0
i
其实很好理解,int i = 0;i<5;i++
从0开始循环,循环到4,因为是小于5嘛,循环一次,i就自增一次,变成1,下一次循环变2,再下一次变3,懂了吧
王尼玛 发表于 2014-10-12 21:06
其实很好理解,int i = 0;i
i++ 的意思是每次+1?
本帖最后由 王尼玛 于 2014-10-13 15:35 编辑
大官人 发表于 2014-10-12 21:06
如果我是循环5次 或者我不知道到底循环几次 这个i
for循环的前提就是知道要循环几次,不确定的可以使用while或者do-while来限制循环条件,用你说的举个例子,
你要读取一个txt,但是不知道有多少行,这时候就可以用while循环了:<blockquote>StreamReader sr = File.OpenText(@"D:\hehe.txt");//文件读取流
页:
[1]
2