vr引擎设计-c#基础第二天

939 阅读7分钟

复习

  1. 复习算术运算符 + - * /
  2. 自增自减练习

image.png

一、字符串类型

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

正常情况下双引号只能显示单行字符串,如果要显示多行字符串可以使用@符号

string a=@"dflkddfd

fdfdf"

2.字符串拼接

使用+号进行拼接

二、类型转换

image.png

二、在控制台输入

1. Read和ReadLine区别

  1. console.Read()每次只读取一个字符,获取控制台输入的字符,返回值是该字符对应的十进制数,也就是说返回值是一个整数类型
  2. console.ReadLine()每次读取一个字符串,获取控制台输入的字符串,返回值是一个字符串,如果输入的是数字则需要用Convert.ToInt32()转成整数

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

  1. 练习题二

image.png

十一、条件分支

1.双分支

image.png

2.多分支

image.png

十二、练习题

image.png

十三、switch分支语句

image.png

十四、代码部分

using System;

namespace demo0923
{
    class Programe
    {
        static void Main(string[] args)
        {
            // 除号    
            int a = 3;
            int b = 2;
            Console.WriteLine(a / b);  //结果是一个整数  
            double c = 3.0;
            Console.WriteLine(a / c);  //如果除以一个小数,除非整除结果就是整数,否则就是小数

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

            // @符号有什么作用  取消转义   可以正常显示反斜杠
            // 字符串正常情况下只能单行显示   如果要多行显示   可以使用到@符号 
            string str1 = @"dfjkdjflk
                            dfddfdf\t\n";
            Console.WriteLine(str1);

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

            // 变量  声明 初始化才能正常使用   命名规则 (由数字字母下划线组成 首个字符不能是数字)
            //c#中的输入 
            //int get1=Console.Read();  //获取控制台输入的一个字符,返回值是一个整型类型  换行符是可以读取到的
            //Console.WriteLine(get1+2); // 2这个字符对应的十进制数是50   所以结果是52

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

            //类型转换   Convert.ToInt32() 
            //举例 ReadLine得到的是一个字符串但是我输入的是一个数字,就想要得到这个数字怎么办,类型转换
            //int num1 = Convert.ToInt32(str2);
            //变量的命名规则 大驼峰命名 所有单词的首字母都大写  如 ToInt32 
            //小驼峰命名 第一单词首个字母小写,第二个单词首字母大写  myName 
            /*Console.WriteLine(num1+10);
            int AppleUnitPrice = 1;
            int BananaUnitPrice = 2;
            int OrangeUnitPrice = 3;
            Console.Write("请输入苹果购买的斤数:");

            int AppleWeight = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入香蕉购买的斤数:");
            int BananaWeight = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入橙子购买的斤数:");
            int OrangeWeight = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("总价为:" + (AppleUnitPrice * AppleWeight + BananaUnitPrice * BananaWeight + OrangeUnitPrice * OrangeWeight));*/

            //python交换值的写法   a,b=b,a   
            //c#交换值的写法 需要用到一个中间变量来存其中一个变量的值   

            int num2 = 23, num3 = 12;
            int temp = num2;
            num2 = num3;
            num3 = temp;

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

            /*int num4 = Convert.ToInt32(Console.ReadLine());
            int num5 = num4 / 10;  //23
            int num6 = num4 % 10;  
            Console.WriteLine("十位数是:{0},个位数是:{1}",num5,num6);*/

            //布尔   bool
            bool check1 = 4 > 5; //关系式得到的结果是一个布尔值  这里得到的结果是 false  
            //关系运算符   >大于  <小于   >=大于等于   <=小于等于   !=不等于  ==等于 

            bool check2 = 4 != 5;
            bool check3 = 4 == 5;
            bool check4 = false;
            Console.WriteLine(check3);

            //赋值运算符   =   +=  -=  *=    /=    %=  
            // 比如 a+=b 相当于  a=a+b  
            int num7 = 3;
            int num8 = 4;
            num7 += 4;
            Console.WriteLine(num7);

            //逻辑运算符  与&&  或||  非!取反的操作  
            // a&&b   并且的意思,表示说a和b的结果必须都为真,式子的结果才为真  只要有一个假结果就是假 
            // a||b  或的意思,表示说a和b的结果只要有一个真 结果就是真,都为假结果就是假  
            Console.WriteLine(3 > 4 && 4 > 3); //结果就是假 false  
            Console.WriteLine(3 > 4 || 4 > 3); //结果就是真 true 
            Console.WriteLine(!(4 > 3)); //结果就是false  总结:要进行逻辑判断两边的式子必须都是布尔类型

            //条件分支    
            //单分支  判断一个东西,只有两种情况  比如说输(分少)和赢(分多)  这里分少和分多就是判断条件
            int num9 = 3;
            int num10 = 5;
            if (num10 > num9)  //括号中就表示要判断的条件 如果条件为真就会执行语句1中的代码,为假就执行else中的代码
            {
                //执行语句1 
                Console.WriteLine("num10大于num9");

            }
            else
            {
                //执行语句2
                Console.WriteLine("num10小于num9");
            }
            //多分支  有很多种情况   比如动物园门票  60岁以上免费  14到59全票   小于14半票 
            /*Console.Write("请输入你的年龄");
            int year = Convert.ToInt32(Console.ReadLine());
            if (year>=60)
            {
                Console.WriteLine("您是60岁以上人员,免费");
            }else if (14<year && year<59)
            {
                Console.WriteLine("您要全票购买才能进去");
            }else
            {
                Console.WriteLine("您是半票");
            }*/
            /*int Cj = Convert.ToInt32(Console.ReadLine());
            if(Cj>=90 && Cj<=100)
            {
                Console.WriteLine("A");
            }
            else if(Cj>=70 && Cj<=89)
            {
                Console.WriteLine("B");
            }
            else if(Cj>=60 && Cj<=69)
            {
                Console.WriteLine("C");
            }
            else if(Cj<60)
            {
                Console.WriteLine("D");
            }*/
            //坐标系  
            /* Console.WriteLine("请输入x");

             int x = Convert.ToInt32(Console.ReadLine());
             Console.WriteLine("请输入y");
             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
             {
                 Console.WriteLine("第四象限");
             }*/
            //三角形
           /* int a1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入边a1");
            int b1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入边b1");
            int c1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入边c1");
            if (a + b > c && a + c > b && b + c > a)
            {
                Console.WriteLine("上述输入的三条边满足需求");
            }
            else
            {
                Console.WriteLine("上述输入的三条边不满足需求");
            }*/
            //闰年的条件 能被400整除  或者 能被4整除但是不能被100整除
            //(year%400==0 ||(year%4==0 && year%100!=0))
            //转绝对值  
            /* Console.Write("请输入一个非零整数:");
             int num = Convert.ToInt32(Console.ReadLine());
             if (num < 0)
             {
                 Console.Write("这是一个负数。");
                 Console.Write("绝对值为:{0}", -num);
             }
             else if (num > 0)
             {
                 Console.Write("这是一个正数。");
                 Console.Write("绝对值为:{0}", num);
             }
             else
             {
                 Console.Write("该数为0");
             }*/
           /* Console.Write("请输入一个整数:");
            int num1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入一个整数:");
            int num20 = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入一个整数:");
            int num21 = Convert.ToInt32(Console.ReadLine());
            if(num1>num2&&num1>num3)
            {
                Console.WriteLine(num1*num1);
            }
            else if (num20 > num1 && num20 > num21)
            {
                Console.WriteLine(num20*num20);
            }
            else if (num21 > num1 && num21> num20)
            {
                Console.WriteLine(num21*num21);
            }*/
            //switch  分支语句
            int num = Convert.ToInt32(Console.ReadLine());
            //switch和if一样都表示条件分支 不是函数  
            switch (num)  //会传一个参数 用于和下面case中的值进行比对  然后这里不用调用的程序到这里会执行
            {
                case 1:
                case 2:  //如果case之间没有其他语句表示说只要满足这两个case的其中一个都会执行case2中的代码
                    Console.WriteLine(2);
                    break;
                case 3:  
                    Console.WriteLine(3);
                    break;
                default: //默认分支,如果以上的case都比对不成功,那么就会执行defalut中的代码 
                    Console.WriteLine("默认");
                    break;
            }

        }

    }
}