VR引擎程序设计基础 第二节课上

92 阅读4分钟

回顾自增自减运算符

using System;
int x, y;
x = -1;
y = x++ + ++x; 
//x++ ->-1  ++x ->1
Console.Write(y); //结果0

image.png

@符号 取消转义 第二作用 可以输出多行字符串

string a = @"dxqawdqefwefqegfa
regqe4rgqrwg";
Console.Write(a);

image.png

Console.WriteLine(a + "这是多行字符串");//使用+号进行字符串 字符串+数字 会做一个隐式转换

类型转换 Convert.ToInt32(要转的数据)

string num = "24";
int num1 = Convert.ToInt32(num);
Console.Write(num1 + 3);

image.png

转字符串Convert.ToString()

string num = "24";
int num1 = Convert.ToInt32(num);
//Console.Write(num1 + 3);
//转字符串Convert.ToString()
string num2 = Convert.ToString(num1);
Console.Write(num2 + 3);

image.png

转bool类型 除了0以外的数字转成bool类型都是true...

bool check1 = Convert.ToBoolean(43);
Console.Write(check1);

image.png

输入 Read() ReadLine()

Read()表示获取控制台输入一个字符 返回值的类型是整数型 char是可以转成对应的十进制

int get1 = Console.Read();
Console.WriteLine("我是整数{}" + get1);
string get2 = Console.ReadLine();
Console.WriteLine(get2 + 3);
double apple = 3.5;
double banana = 4.5;
double orange = 5.5;
Console.WriteLine("请输入苹果购买的斤数:");
int x = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入香蕉购买的斤数:");
int y = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入橙子购买的斤数:");
int z = Convert.ToInt32(Console.ReadLine()); 
Console.WriteLine(x*apple+y*banana+z*orange);

image.png

交换两个变量的值 python a,b=b,a

需要借助一个中间变量 先存a的值

int num3 = 12;
int num4 = 14;
int num5 = num3;//num5是中间变量
num3 = num4;
num4 = num5l;//python "{0}*{1}".foemat(a,b) 
Console.WriteLine("{0} {1} {1} {0}", num3, num4);  //格式化输出  大括号表示占位  大括号中填的是编号 然后依次根据编号从后面的变量拿过来填到大括号里

int num6= Convert.ToInt32(Console.ReadLine());
int gewei = num6 % 10;//百分号取余
int shiwei = num6 / 10;
Console.WriteLine("个位数是{0} 十位数是{1}",gewei,shiwei );

image.png

关系运算符 判断结果是布尔类型<> <= >= ==判断相等 !=不等

Console.WriteLine(0!=2);

image.png

赋值运算 = += -= /= ...

int num7 = 1;
num7 += 4;  //num7=num7+4  num7 -= 4  num7=num7-4

逻辑运算

与&&(表示并且,a&&b左右都是布尔类型的值,两边真为真,有一假就是假)

或|| (表示或,a||b只要有一个是真就是真,全为假就是假)

非!(表示取反,比如真的取反就是真)

例1 从键盘输入一个三位正整数,按数字的相反顺序输出

Console.WriteLine("请输入一个三位正整数:");
int num8= Convert.ToInt32(Console.ReadLine());
int gewei = num8 % 10;//百分号取余
int shiwei = num8 / 10%10;
int baiwei = num8 / 100;
Console.WriteLine("{0} {1} {2}",gewei,shiwei,baiwei );

例2

Console.WriteLine("请输入一个三位正整数:");
int num9 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("{0} {1} {2}", num9%10,num9/10%10, num9 / 100);

image.png

条件分支

双分支

if (3 > 2)//括号里面填的是判断条件 如果条件为真则执行if语句,如果条件为假则执行else语句
{
    Console.WriteLine("分数比你高");
}
else
{
    Console.WriteLine("分数比你低");
}

image.png

多分支 if...else if...else if...else...是不需要写条件的,其他都需要写

去动物园买票 成人票 老年票 儿童票

先输入年龄

int age = Convert.ToInt32(Console.ReadLine());
if (age >= 60)
{
    Console.WriteLine("您是老年人,免费");
}
else if (14 < age && age < 60)
{
    Console.WriteLine("您是成年人,50");
}
else if (0 < age && age < 14)
{
    Console.WriteLine("您是儿童票,半价25");
}
else
{
    Console.WriteLine("非人哉!");
}

image.png

例1判断考试成绩等级

Console.WriteLine("请输入您的考试成绩!");
int score = Convert.ToInt32(Console.ReadLine());
if (score >= 90&&score<=100)
{
    Console.WriteLine("评级为:A");
}
else if (70 <=score && score <=89)
{
    Console.WriteLine("评级为:B");
}
else if (60 <=score && score <=69)
{
    Console.WriteLine("评级为:C");
}
else
{
    Console.WriteLine("评级为:D");
}

image.png

例2 坐标轴定位置

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("坐标值位于Y坐标轴上");
}else if(x > 0 && y == 0)
{
    Console.WriteLine("坐标值位于X坐标轴上");
}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("坐标值位于第四象限");
}
else
{
    Console.WriteLine("坐标值位于原点");
}

image.png

例3 判断输入三角形三边a,b,c 判断是否能组成三角形

Console.WriteLine("请输入a边:");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入b边:");
int b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入c边:");
int c = Convert.ToInt32(Console.ReadLine());
if (a+b>c&& a+c> b&& b+c>a)
{
    Console.WriteLine("能组成!");
}
else
{
    Console.WriteLine("不能组成!");
}

image.png

例4 输入一个年份判断是否是闰年,是true,否false

Console.WriteLine("请输入年份:");
int year = Convert.ToInt32(Console.ReadLine());
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
{
    Console.WriteLine("您输入的是闰年!");
}
else
{
    Console.WriteLine("您输入的不是闰年!");
}

image.png

例5 输入一个非零整数,判断是正数还是负数,并输出它的绝对值

Console.WriteLine("请输入一个非零整数:");
int a = Convert.ToInt32(Console.ReadLine());
if (a != 0 && a > 0)
{
    Console.WriteLine("您输入的是正数,绝对值为{0}", a);
}
else
{
    a = -a;
    Console.WriteLine("您输入的是负数,绝对值为{0}", a);
}

image.png

例6 最大值:输入三个整数,要求这个三个数中最大值的平方

Console.WriteLine("请输入第一个数:");
int a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入第二个数:");
int b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入第三个数:");
int c = Convert.ToInt32(Console.ReadLine());
if (a >= b && a >= c)
{
    Console.WriteLine(a * a);
}
else if (b >= a && b >= c)
{
    Console.WriteLine(b * b);
}
else
{
    Console.WriteLine(c * c);
}

image.png

例7 任意给出两个大写英文字母,比较他们的大小,规定A,B,C...依次从小到大

Console.WriteLine("请输入两个英文字母:");
int ch1 = Convert.ToChar(Console.Read());
int ch2 = Convert.ToChar(Console.Read());
if (ch1 > ch2)
{
    Console.WriteLine(Convert.ToChar(ch1) + ">" + Convert.ToChar(ch2));
}
else if (ch1 < ch2)
{
    Console.WriteLine(Convert.ToChar(ch1) + "<" + Convert.ToChar(ch2));
}
else if (ch1 == ch2)
{
    Console.WriteLine(Convert.ToChar(ch1) + "=" + Convert.ToChar(ch2));
}

image.png

switch分支语句 一定会有判断 然后代码会按顺序执行

/*
 * switch (判断值) {
    case1:
        执行语句1
        break;
    case2:
        执行语句2
        break;
    default:
        执行默认语句
        break;
}
*/

星期判断

int day = Convert.ToInt32(Console.ReadLine());
switch (day)
{
    case 1:
    case 2:
        Console.WriteLine("星期一、星期二都上VR引擎");
        break;
    case 3:
        Console.WriteLine("星期三上数据结构");
        break;
    case 4:
        Console.WriteLine("星期四上C++");
        break;
    case 5:
        Console.WriteLine("星期五上C#");
        break;
    default:
        Console.WriteLine("好好休息");
        break;
}

image.png