C#基本紹介5日目(プロセス制御)

1.プログラムのデバッグ
1)プログラムを作成した後、このプログラムの実行プロセスを確認したいと思います。
2)このプログラムを書き終えた後、あなたはプログラムがあなたが想像したように実行されていないことに気づきます。

デバッグ方法:
1)、F11ステートメントごとのデバッグ(シングルステップデバッグ)
2)、F10ステップバイステップのデバッグ(メソッドが使用を開始)
3)、ブレークポイントデバッグ
プログラムがブレークポイントまで実行され、実行されません

2. forループ
構文:
for(expression1; expression2; expression3)
{
loop body;
}
式1は通常、ループ変数を宣言し、ループの数を記録します(int i = 0;)
式2は通常、ループ条件(i <10)
式3は通常、ループ条件を変更して、ループ条件が1日(i ++)確立されないようにするコードです。
実行プロセス:プログラムは最初に式1を実行し、ループ数を記録するループ変数を宣言し、
次に式2を実行してループ条件が真かどうかを判断します。式2の結果が真の場合
、ループ本体が実行されます。ループ本体が実行されると、式3が実行され、次に式2が実行されて、ループ条件が確立されているかどうかが判断されます。確立されている場合は、ループ本体が実行され続け、
確立されていない場合は、forループからジャンプします。

小さな演習の場合
//すべての整数の
合計、偶数の合計、1〜100の奇数の合計を検索しますint sum = 0;
for(int i = 1; i <= 100; i ++)
{
if(i%2!= 0)
{
sum + = i;
}
}
Console.WriteLine(sum);
Console.ReadKey();

                    /找出100-999间的水仙花数
        //水仙花数指的是 这个百位数字
        //百位的立方+十位的立方+个位的立方==当前这个百位数字
        //百位:153/100   十位:153%100/10   个位:153%10
        int bai = 0;
        int shi = 0;
        int ge = 0;

        for (int i = 100; i < 1000; i++)
        {
            bai = i / 100;
            shi = i % 100 / 10;
            ge = i % 10;

            if ((bai * bai * bai) + (shi * shi * shi) + (ge * ge * ge) == i)
            {
                Console.WriteLine(i);
            }
        }
        Console.ReadKey();

                    //乘法口诀表(特别注意console.writeline起到的是j循环换行的作用,j<=i是因为j循环几次,式子就打印几次)
                    for (int i = 1; i <=9; i++)
        {
            for (int j = 1; j <= i; j++)
            {
                Console.Write("{0}*{1}={2}\t", i, j, i * j);
            }
            Console.WriteLine();//换行用的
        }
        Console.ReadKey();

                    //让用户输入一个数,给出加法式子
        Console.WriteLine("请输入一个数");
        int number = Convert.ToInt32(Console.ReadLine());
        for (int i = 0; i <= number; i++)
        {
            Console.WriteLine("{0}+{1}={2}", i,number-i, number);
        }
        Console.ReadKey();

3つ、int.TryParse
int.parse、double.parse ............(エラーは例外をスローします)
文字列をint型に変換しようとしています。
Converは解析を呼び出すため、効果は同じです。//
変換を使用して変換すると、結果は完了し、例外はスローされません
。//intnumberOne = Convert.ToInt32( "123abc");
//解析は同じですが、違いは変換呼び出しです。これはParseであり、parseの方が効率的です
// int numberTwo = int.Parse( "123abc");

        //Tryparse失败,不抛异常,性能更高,不成功将变量赋值为0
        int number = 1;
                       //方法      参数     返回值
        bool b = int.TryParse("123abc", out number);
        Console.WriteLine(b);
        Console.WriteLine(number);
        //称为方法或者函数,这个方法就是将字符串转换为int类型
        Console.ReadKey();

                    /*
         循坏录入5个人的年龄并计算平均年龄,如果了录入的数据出现负数或大于
         100的数,立即停止输入并报错。(这题还有反序的做法,很简单)
         */
        int sum = 0;
        bool c = true;
        for (int i = 1; i <= 5; i++)
        {
            try
            {
                Console.WriteLine("请输入第{0}个人的年龄", i);
                int age = Convert.ToInt32(Console.ReadLine());
                if (age >= 0 && age <= 100)
                {
                    sum += age;
                }
                else
                {
                    Console.WriteLine("输入的年龄范围不对,退出程序!");
                    c = false;
                    break;
                }
            }
            catch
            {
                Console.WriteLine("输入的内容不能转换成年龄,退出程序!");
                c = false;
                break;
            }
             }
        if (c)
        {
            Console.WriteLine("5个人的平均年龄是:{0}", sum / 5);
        }
        Console.ReadKey();

        /*
         在while中用break实现要求用户一直输入用户名和密码,只要不是admin/888888
         就一直提示要求重新输入,如果正确则提示登录成功
         */
        string userName = "";
        string userPwd = "";
        while (true)
        {
            Console.WriteLine("请输入用户名");
            userName = Console.ReadLine();
            Console.WriteLine("请输入密码");
            userPwd = Console.ReadLine();
            if (userName == "admin" && userPwd == "888888")
            {
                Console.WriteLine("登录成功");
                break;
            }
        }
        Console.ReadKey();

        /*
         1-100之间的整数相加,得到累加值大于20的当前述(比如:1+2+3+4+5+6=21)结果6 (这题开始没读懂提议,所以每累加一次都将sum归零一次,这样就求得1-100所有20的累加数,如果按照题意,只需要打印6则将sum=0替换为break;)
         */
        int sum = 0;
        for (int i = 1; i <= 100; i++)
        {
            sum += i;
            if (sum >= 20)
            {
                console.writeline(i);
                sum = 0;
            }
        }
        console.readkey();

第4に、continueキーワードと素数
continue:ループ条件が満たされた場合はループをすぐに終了し、次のループに入ります。それ以外の場合はループを終了します。

       //计算1-100之间的数,除了能被7整除的数的和
        int sum = 0;
        int i = 0;
        while (i <= 100)
        {
            if (i % 7 == 0)
            {
                i++;
                continue;
            }
            else
            {
                sum += i;
                i++;
            }
        }
        Console.WriteLine(sum);
        Console.ReadKey();

        //找出100以内的所有素数(这题是初级算法题,bool放第一个for循环里面,因为每次都要将bool值重置回来,不然就一直都是false)
        //素数就是质数:只能被1和这个数字本身整除的数字,1不算!
        for (int i = 2; i <= 100; i++)
        {
            bool b = true;
            for (int j = 2; j < i; j++)
            {
                //除尽说明不是质数,没必要在继续下去
                if (i % j == 0)
                {
                    b = false;
                    break;
                }
            }
            if (b)
            {
                Console.WriteLine("质数有{0}", i);
            }
        }
        Console.ReadKey();

4、3成分式の
文法:
式1?式2:​​式3;
式1は一般に関係式です。
式1の値が真の場合、式2の値は3値式全体の値になります。
式1の値がfalseの場合、式3の値は3値式全体の値になります。
注:式2の結果タイプは、式3の結果タイプ、および3値式全体の結果タイプと一致している必要があります。

  //让用户输入两个数字比两个数字的大小
        try
        {
            Console.WriteLine("输入第一个数字");
            int numberOne = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("输入第二个数字");
            int numberTwo = Convert.ToInt32(Console.ReadLine());
            int max = numberOne > numberTwo ? numberOne : numberTwo;
            Console.WriteLine(max);
        }
        catch
        {
            Console.WriteLine("输入的数字不能正确被转换,退出程序!");
        }
        Console.ReadKey();

        //让用户输入姓名,只要不是老赵,就都返回杂种
        Console.WriteLine("请输入姓名");
        string name = Console.ReadLine();
        string result = name == "老赵" ? "淫才啊" : "杂种啊";
        Console.WriteLine(result);
        Console.ReadKey();

5.ランダム番号
//ランダム番号を生成します
// 1。ランダムな数値を生成できるオブジェクトを作成しますRandomr =
new Random();
// 2.ランダムな数値を生成するオブジェクトがメソッドを呼び出して、ランダムな数値を生成します
int rNumber = r.Next(1、10);
Console.WriteLine(rNumber) ;
Console.ReadKey();

                    //输入名字随机显示这个人上辈子是什么人
        //1.创建能够产生随机数的对象
        //2.产生随机数
        Console.WriteLine("输入你的姓名");
        string name = Console.ReadLine();
        Random r = new Random();
        int n = r.Next(1, 7);
        switch (n)
        {
            case 1:Console.WriteLine("茅十八");
                break;
            case 2:Console.WriteLine("小桂子");
                break;
            case 3:Console.WriteLine("鳌拜啊");
                break;
            case 4:Console.WriteLine("神龙教主");
                break;
            case 5:Console.WriteLine("吴应熊");
                break;
            case 6:Console.WriteLine("陈近南");
                break;
        }
        Console.ReadKey();

おすすめ

転載: blog.51cto.com/13544652/2576897