VR引擎设计-C#基础第二天

186 阅读5分钟

一、字符串类型

1、@字符在字符串中的另一使用(显示多行字符串)

image.png

2、字符串的拼接

使用+号进行拼接

image.png

二、类型转换

Convert ToInt32()      转换为整型(int)
Convert ToChar()       转换为字符型(char)
Convert ToString()     转换为字符串型(string)

image.png

三、在控制台输入

1、Read和ReadLine的区别

1、console.Read()

每次只读取一个字符,获取控制台输入的字符,返回值是该字符对应的十进制数,也就是说返回值是一个整数类型

2、console.ReadLine()

每次读取一个字符串,获取控制台输入的字符串,返回值是一个字符串,如果输入的是数字,则需要用Convert.ToInt32()转成整数

image.png

2、练习

定义三种水果变量额价格,用户提示输入,分别请输入购买水果的斤数,输入购买香蕉的斤数,输入购买橙子的斤数,最后计算出水果的总价

image.png

四、交换两个变量的值

1、交换值的前提是类型要一致

2、通过中间变量来做值的交换

image.png

五、字符串格式化输出

image.png

练习

结合算术运算符和输入,格式化输出,实现一个算法可以把任意一个两位数的个位数和十位数分离出来,比如73 分离出来十位数是 7 个位数是 3

image.png

六、关系运算符

image.png

七、赋值运算符

image.png

八、逻辑运算符

image.png

九、运算符优先级

image.png

十、条件分支

1、单分支

image.png

2、多分支

image.png

十一、switch分支语句

image.png

十二、练习

1、输入平面直角坐标系中的一个坐标值,判断这个点是位于哪一个象限、原点

image.png

2、输入三角形的三条边a、b、c,判断是否可以组成三角形

image.png

3、输入一个年份,判断该年是不是闰年。是的话输出yes,不是的话输出no

image.png

4、输入三个整数,求这个三个数中最大值的平方

image.png

十三、除号

image.png

十四、代码展示

        
using System;

namespace demo2
{
    class Program
    {
        static void Main(string[] args)
        {
            //除号
            int a = 10;
            int b = 6;
            Console.WriteLine(a/b);   //结果是一个整数
            double c = 3.4;
            Console.WriteLine(a/c);  //如果除以一个小数,整除结果为整数,否则就是小数

            char d = 'a'; //能转成对应的十进制数

            //@符号的作用  1、取消转义    2、可以正常显示反斜杠
            //字符串正常情况下只能单行显示,如果要多行显示,可以使用到@符号
            string strl = @"drgbuusu
            hdghssdh\t\n";
            Console.WriteLine(strl);

            //字符串拼接   +
            Console.WriteLine("13" + "+" + "14" + "=" + "27");

            //C#中的输入
            int get1 = Console.Read();     //获取控制台输入的一个字符,返回值是一个整型
            Console.WriteLine(get1);  //输入一个2字符,对应的十进制数是50 ,所以结果为50

            string get2 = Console.ReadLine(); //获取控制台输入的一个字符串,返回值是一个字符串类型
            Console.WriteLine(get2);

            //类型转换      Convert.ToInt32()       Convert.ToString()        Convert.ToChar()
            //举例 ReadLine得到的是一个字符串,但是我输入的是一个数字,想要这个数字,就进行类型转换
            int e = Convert.ToInt32(get2);
            Console.WriteLine(e + 10);

            //变量命名规则

            //例子
            int apple = 3;
            int banana = 4;
            int orange = 5;

            Console.WriteLine("请输入苹果购买的斤数:");
            int aprice = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入香蕉购买的斤数:");
            int bprice = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入橙子购买的斤数:");
            int oprice = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("最后的总价=" + (aprice * apple + bprice * banana + oprice * orange));

            //C#交换值的写法  需要用到一个中间变量来存其中一个变量的值
            int num2 = 23, num3 = 12;
            int temp = num2;
            num2 = num3;
            num3 = temp;

            //"水果的总价为:变量"  原来的方法用拼接  如果变量多的时候需要拼很多次
            //怎么办? 可以用格式化输出
            Console.WriteLine("水果的总价为:{0},其中苹果的价格为:{1}", temp, num2);
            //中括号是用来占位  括号里面表示后面变量的编号  比如表示后面变量的第一个

            Console.WriteLine("请输入一个数:");
            int num4 = Convert.ToInt32(Console.ReadLine());
            int num5 = num4%10;
            int num6 = num4/10;
            Console.WriteLine(num4+ "的个位数是:{0},十位数是:{1}",num5,num6);

            //布尔  bool
            bool check1 = 4 > 5; //关系式得到的结果是一个布尔值,flase

            //关系运算符 >大于  <小于   >=大于等于   <=小于等于   !=不等于     ==等于 判断是否相等

            //赋值运算符  =  +=  -=  *=  /=  %=
            //比如 a+=b相当于 a=a+b

            //逻辑运算符  与&&  或||  (非!取反)
            //a&&b  表示说a和b的结果必须都为真,式子的结果才为真
            //a||b  表示说a和b的结果只要有一个为真,结果就为真
            Console.WriteLine(3>4 && 4>3);//结果为假
            Console.WriteLine(3>4 || 4>3);//结果为真
            Console.WriteLine(!(4>3));//结果为假


            //条件分支
            //单分支  判断一个东西,只有两种情况,比如说输和赢
            int num7 = 3;
            int num8 = 4;
            if (num8 > num7)//括号中就表示要判断的条件
            {
                Console.WriteLine("num8大于num7");
            }
            else
            {
                Console.WriteLine("num8小于num7");
            }

            //多分支   有很多种情况  比如动物园门票
            Console.Write("请输入你的年龄: ");
            int age =Convert.ToInt32(Console.ReadLine());
            if (age >= 60)
            {
                Console.WriteLine("免费");
            }
            else if (14<age && age<59)
            {
                Console.WriteLine("全票");
            }
            else
            {
                Console.WriteLine("半票");
            }


            //例子
            Console.WriteLine("请输入你的成绩:");
            int sorce = Convert.ToInt32(Console.ReadLine());
            if(sorce >= 90)
            {
                Console.WriteLine("你的评级为A");
            }
            else if(70<=sorce && sorce <= 89)
            {
                Console.WriteLine("你的评级为B");
            }
            else if (60 <= sorce && sorce <= 69)
            {
                Console.WriteLine("你的评级为C");
            }
            else
            {
                Console.WriteLine("你的评级为D");
            }

            Console.WriteLine("请输入横坐标:");
            int x = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入纵坐标:");
            int y = Convert.ToInt32(Console.ReadLine());
            if(x>0 && y > 0)
            {
                Console.WriteLine("位于第一象限");
            }else if (x < 0 && y > 0)
            {
                Console.WriteLine("位于第二象限");
            }
            else if (x < 0 && y < 0)
            {
                Console.WriteLine("位于第三象限");
            }
            else if (x > 0 && y < 0)
            {
                Console.WriteLine("位于第四象限");
            }
            else if (x == 0 && y == 0)
            {
                Console.WriteLine("原点");
            }

            Console.WriteLine("请输入三条边:");
            int o = Convert.ToInt32(Console.ReadLine());
            int p = Convert.ToInt32(Console.ReadLine());
            int q = Convert.ToInt32(Console.ReadLine());

            if(o+p>q || o + q > p || q + p > o)
            {
                Console.WriteLine("可以组成三角形");
            }
            else
            {
                Console.WriteLine("不能组成三角形");
            }

            //闰年条件  能被400整除 或者 能被4整除但是不能被100整除
            Console.WriteLine("请输入年份:");
            int year = Convert.ToInt32(Console.ReadLine());

            if((year%4==0 &&year%100 != 0) || year%400 == 0)
            {
                Console.WriteLine("yes");
            }else
            {
                Console.WriteLine("no");
            }

            Console.WriteLine("请输入三个整数:");
            int num10 = Convert.ToInt32(Console.ReadLine());
            int num11 = Convert.ToInt32(Console.ReadLine());
            int num12 = Convert.ToInt32(Console.ReadLine());

            if(num11<num10 && num12 < num10)
            {
                Console.WriteLine(num10 * num10);
            }
            else if(num10 < num11 && num12 < num11)
            {
                Console.WriteLine(num11 * num11);
            }
            else
            {
                Console.WriteLine(num12^2);
            }

            //switch  分支语句
            int num = Convert.ToInt32(Console.ReadLine());
            switch (num)        //会传一个参数 用于和下面case中的值进行比对
            {
                case 1:
                case 2:     //如果case之间没有其它语句,表示说只要满足这两个case其中一个,都会执行case2中的代码
                    Console.WriteLine(2);
                    break;
                case 3:
                    Console.WriteLine(3);
                    break;
                default:        //默认分支,如果以上的case都对比不成功,那么就会执行default中的代码
                    Console.WriteLine("默认");
                    break;
            }


        }   
    }
}