A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 谢辉林 中级黑马   /  2013-3-14 12:04  /  2047 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

循环
while循环的语法:

whule(条件) //循环条件
{
    要执行的语句;//循环体
}

执行过程:
1. 判断循环条件的值.
2. 条件值为true,执行循环体,执行完后回到判断条件.
3. 条件值为false,跳出循环.


do while语句:

do{循环体;}
while(条件);//注意写分好
执行过程:
    1. 执行do后循环体,
    2. 判断条件是否成立,条件true继续执行循环体.
    3. 如果条件为false则跳出循环.
注意:do-while循环至少会被执行一次.
while先判断再执行.
do-while先执行再判断.


for 语句:
for(表达式A(赋值);表达式B(比较);表达式C(递增.减))
{
    循环体;
}
执行过程:
    1. 计算A,转向表达式B
    2. 判断表达式B条件.
    3. 如果表达式B条件为假跳出for循环.
    4. 如果表达式B条件为真执行循环体.
    5. 循环体执行完成后计算表达式C的值,再判断表达式B的值.

break作用:
    1. 在switch-case中,用于跳出switch
    2. 在循环中用于跳出循环
例:
while()
{
a;b;
break:
c;
}
当运行到break将跳出循环不再执行C语句.

continue作用:
     立即结束本次循环,进入下一次循环.
例:
for(i=0; i<10; i++)
{
    a;b;
    continue;
    c;
}
当程序运行到continue语句时将不再执行c语句,直接进行i++.

三元运算符
A? B:C
例: int num = 10>5 ? 5:6
当A成立则表达式的值为B,不成立值为C.
注意:表达式B和表达式C的类型一定要相兼容.


调试程序
通常程序错误的类型
    1. 编译错误,语法错误.
    2. 运行错误,逻辑错误.

设置断点
单步运行
观察变量

  练习题01

//求100-999之间的水仙花

  static void Main(string[] args)
        {
            int a, b, c, i = 0, num;

            for (num = 100; num < 999; num++)
            {
                c = num / 100; //将百位数赋给C
                b = num / 10 % 10;//将十位数赋给B
                a = num % 10;//将个位数赋给C
                if (num == c * c * c + b * b * b + a * a * a)
                {
                    Console.WriteLine("这是一个水仙花" + num);
                    i++;
                }

            }
            Console.WriteLine("共有{0}个水仙花", i);
            Console.ReadKey();
---------------------------------------------------------------
输出结果:
这是一个水仙花153
这是一个水仙花370
这是一个水仙花371
这是一个水仙花407
共有4个水仙花



练习题02
//输出九九乘法口诀表
int a, b;
            for (a = 1; a <= 9; a++)//控制输出9行
            {
                for (b = 1; b <= a; b++)//控制每行输出列数
                {
                    Console.Write("{0}*{1}={2}\t", b, a, a*b);

                }
                Console.WriteLine();

            }
            Console.ReadKey();


练习题03
            //循环录入5个人的年龄,并且计算平均年龄,如果录入的数据出现负数活着大于100立即停止报错
            int age, sumAge = 0, i;

            for (i = 1; i <= 5; i++)
            {
                try
                {
                    Console.WriteLine("请输入年龄");
                    age = Convert.ToInt32(Console.ReadLine());
                    if (age < 0 || age > 100)
                    {
                        Console.WriteLine("您输入的数据有错误");
                        break;
                    }
                    sumAge += age;
                }
                catch
                {
                    Console.WriteLine("您输入的数据有错误");
                    break;
                }         
            }
            if(i > 5)//如果i++一直自增到6那么说明for循环顺利执行完毕
            {
                Console.WriteLine("平均年龄为" + sumAge / 5);
            }
            Console.ReadKey();







练习题04
/*在while中使用break实现要求用户一直输入用户名和密码
            只要用户名不是admin 或者密码不是888888就一直输入,如果正确就提示成功.
            */

            string userName, password;
            bool flag = true;
            while (true)
            {
                Console.WriteLine("请输入用户名");
                userName = Console.ReadLine();

                Console.WriteLine("请输入密码");
                password = Console.ReadLine();

                if (userName == "admin" && password == "888888")
                {
                    Console.WriteLine("登陆成功!");
                    break;
                }
                else
                {
                    Console.WriteLine("账户名或密码错误,请重新输入!");
                }


3 个回复

倒序浏览
什么情况
回复 使用道具 举报
你是来做广告的吗?少侠{:soso_e113:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马