精典示例——while语句练习

精典示例——while语句练习

例1:用while语句计算1到100之间的整数的和

代码如下:

[csharp] view plaincopyprint?
namespace While循环  
{  
    class Program  
    {     
        static void Main(string[] args)  
        {  
            // 计算1到100之间的整数的和  
            int i=1;  
            int sum=0;  
            while (i <= 100)  
            {  
                    sum = sum + i;  
                    i++;          
            }  
            Console.WriteLine("{0}", sum);   
            Console.ReadKey();       
        }  
    }  
}  

练习:断点调试程序

     变量的作用域:(以sum为例:sum的作用域就是sum所在的{}内部,sum声明之后。)

例2:要求用户输入用户名和密码,只要不是admin、888888就一直提示要求重新输入。

[csharp] view plaincopyprint?
namespace while练习2  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            //要求用户输入用户名和密码,只要不是admin、888888就一直提示要求重新输入。  
            Console.WriteLine("请输入用户名");  
            string userName=Console.ReadLine();  
            Console.WriteLine("请输入密码");  
            string passWord=Console.ReadLine();  
            /* 
            while(userName!=admin)//错误,不要写成admin,而是"admin",加上双引号才是字符串,否则认为是变量。 
             */  
            while(userName!="admin"||passWord!="888888")  
            {  
                Console.WriteLine("用户名和密码错误,请重新输入");  
                Console.WriteLine("请输入用户名");  
                userName = Console.ReadLine();  
                Console.WriteLine("请输入密码");  
                passWord = Console.ReadLine();  
            }  
            Console.ReadKey();  
        }  
    }  
}  


注意:admin和"admin"看着相似,但是表示不同的意思,admin表示的是变量,加上双引号表示的是字符串。

     888888和"888888"也只是形似而已。

分析:逻辑或操作符"||" :有两个操作数,用于判断他们的值是否至少有一个为true。

     用户名和密码只要有一个不正确(!=),就提示错误。

          

问题分析

userName

passWord

result

×

×

×

×

×

×

×

 

 

例3:不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候,程序退出。

[csharp] view plaincopyprint?
namespace 练习3  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
  
            /* 
            //死循环 
           Console.WriteLine("请输入一个数字"); 
           string s = Console.ReadLine(); 
           while(s!="q") 
           { 
               int number = Convert.ToInt32(s); 
               Console.WriteLine("{0}",number*2);  
           } 
            */  
            while (true)  
            {  
                Console.WriteLine("请输入一个数字");  
                string s = Console.ReadLine();  
                if (s == "q")  
                    return;//执行到return就退出了整个函数(Main),while也就不会再继续执行下去了。而控件台程序一旦Main退出,程序就会退出了。  
                int number = Convert.ToInt32(s);  
                Console.WriteLine("{0}",number*2);  
            }  
            Console.ReadKey();  
        }  
    }  
}  

注意:return,退出整个函数(Main),程序退出。

例4:不断要求用户输入一个数字,当用户输入end的时候显示刚才输入的数字中的最大值。

[csharp] view plaincopyprint?
namespace 练习4  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            //不断要求用户输入一个数字(假定用户输入的都是正整数),当用户输入end的时候显示刚才输入的数字中的最大值。设一个变量int max,初始值为0,用户每输入一次就把用户输入的和max比较一下,如果输入的比max大,则让max等于用户输入。  
            int max=0;  
            while (true)  
            {  
                Console.WriteLine("请输入一个数字(结束请输入end):");  
                string s = Console.ReadLine();  
                if (s == "end")  
                {  
                    Console.WriteLine("刚才输入的最大数是{0}:",max);  
                    Console.ReadKey();  
                    return;  
                }  
                int number = Convert.ToInt32(s);  
                if (number > max) //新的数和max进行比较,诞生了更大的数,max赋值为更大的这个数number  
                {  
                    max = number;  
                }  
            }  
        }  
    }  
}  

 

练习4主要是练习断点调试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值