C#基础之三大结构

导语

    尽管还是一名菜鸟,但是我依稀记得课堂上老师激扬顿挫的声音:无论世界上有多少语言、又将出现多少语言,他们的骨架都是这三个结构“顺序结构”、“选择结构”和“控制结构”。

顺序结构

    顺序结构的话,这里就不多说了,也不知道怎么说...因为顺序结构就是代码自上而下的执行,而且目前我接触到的代码,自然状态下没有一个不是自上而下地执行的。

选择结构

    选择结构又称判断结构,核心思想是根据不同的条件将程序执行到不同的不同的分支中。选择结构主要有两支王牌,他们分别是If和Case。不得不感慨的一句是作为一名菜鸟,我到现在接触到了VB和C#这两种语言。而无论是在IF家族还是Switch Case,在VB他们都必须由于本身对应的结束语句,即End IF和End Switch;而在C#中则不需要如此。当然了,VB和C#还有其他一些细节上的不同,我们就不在这里一一细扒了。各位观众老爷自行猥琐去吧。

If Else If

    我们常接触到的If大家族有If语句、If----Else语句和If---Else If(N个)---Else ,我在这里将这三者划分为IF一类。

If table.Rows.Count()= 0 Then     '判断用户是否存在

                MsgBox("该用户不存在,请重新输入!", 0, "提示")

                txtUserName.Text = ""

                txtPassword.Text = ""

                txtUserName.Select()

                txtUserName.Focus()

            Else

 

                Dim strPassword As Boolean

                strPassword =Facade.CheckPwd(UserInfo)

                If strPassword = False Then

                    MsgBox("密码错误,请重新输入!", 0, "提示")

                    txtPassword.Text =""

                    txtPassword.Focus()

                Else

                    'MsgBox("登录成功!", 0, "提示")

                    onduty.UserName =table.Rows(0).Item(1)

                    onduty.Level =table.Rows(0).Item(4)

                    onduty.Logondate =Format(DateTime.Now, "yyyy/MM/dd")

                    onduty.Logontime =Format(DateTime.Now, "HH:mm:ss")

                    onduty.Head =Environment.MachineName

 

                    flag = fac.Insert(onduty)

                    If flag = True Then

                        MsgBox("登录成功!", 0, "提示")

 

                        Me.Hide()

                        frmMain.Show()

                    Else

                        MsgBox("登录失败!", 0, "提示")

                    End If

 

                End If

            End If

 

Switch Case

 用户界面


代码

<span style="font-family:KaiTi_GB2312;font-size:24px;">namespace SwitchCase2
{
    public partial class frmTest2 : Form
    {
        public frmTest2()
        {
            InitializeComponent();
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            switch (txtInput.Text)
            { 
                case "男":
                    lblShow .Text ="1";
                    break;
                case "女": 
                    lblShow.Text = "2";
                    break;
                    
            }
        }
    }
}</span>

循环结构

    循环结构这里介绍下Do...While、While...Do、For以及Break跳出循环。

Do...While

    Do...While的思路是先执行后判断
<span style="font-family:KaiTi_GB2312;font-size:24px;">namespace Do_While
{
    class Program
    {
        static void Main(string[] args)
        {/*
            逻辑:Do—While先执行,后判断。
            
            要求:只要用户输入的账号不是“admin”且密码不是“123”,那么便让用户一直输入直至正确位为止。

          */
            string name = "";
            string pwd = "";



            do
            {
                Console.WriteLine("请输入账号:");
                name = Console.ReadLine();


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

                Console.WriteLine("请重新输入:");
            } while (name!="admin"||pwd !="123");
            Console.WriteLine("程序结束");
            Console.ReadKey();


        }
    }
}
</span>
    上面代码实现的是用户登录信息核实的一个功能,可以看出是先进行登录信息的输入即Do动作,然后在对输入信息进行判断这样一个顺序。

While...Do

    和Do...While相反,While...Do是先进行必要的判断而后在继续代码的执行。
<span style="font-family:KaiTi_GB2312;font-size:24px;">namespace While_Continue计算1到100之间不能被7整除的所有数的和
{
    class Program
    {
        static void Main(string[] args)
        {
            //While+Continue计算1到100之间不能被7整除的所有数的和
            int i = 1;
            int sum = 0;
            while (i <= 100)
            {
                if (i % 7 == 0)
                {
                    i++;
                    continue;
                }
               
            }
            sum += i;
            i++;
            Console.WriteLine("所求和为{0}",sum );
            Console.ReadKey();
        }
    }
}
</span>

    上面这个简单的累加求和的例子就是先进行判断然后执行sum这样一个累加计算的命令。

For

    For循环和上面两个循环比起来还是比较亲切的,这里直接上代码。
<span style="font-family:KaiTi_GB2312;font-size:24px;">namespace for循环输出100遍信息
{
    class Program
    {
        static void Main(string[] args)
        {
            //输出100遍用户输入的信息


            Console.WriteLine("请输入您想要输入的信息:");
            string str = Console.ReadLine();
            int count = 1;


            for (count = 1; count <= 100; count++)
                {
                Console.WriteLine(str );


            }
            Console.WriteLine("输出完毕,即将结束程序");
            Console.ReadKey();
        }
    }
}</span>

Break

    Break的作用是在While...Do或者Do...While结构实现当某一个分支满足条件时跳出循环。
<span style="font-family:KaiTi_GB2312;font-size:24px;">namespace Break跳出循环
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            while (i <= int.MaxValue)
            {
                if (i == 8)
                {
                    Console.WriteLine("joker果然很帅");
                }
                if (i == 100000000)
                {
                    Console.WriteLine("哈哈,这个是事实");
                    break;
                }
                i++;
            }
            Console.WriteLine("真是事实");
            Console.ReadKey();
        }
    }
}
</span>


小结

    关于顺序、选择和循环就先介绍到这里。万丈高楼起于垒土,掌握了这三种基础结构,对我们日后学习算法会有很大的帮助。

感谢您的宝贵时间,祝生活愉快,谢谢~~

                                           —joker



评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值