2023.8.30
解答:
1.将倒数第二杯的水倒入第二杯中,再将杯子放回原位。
2.将管子首尾相连,让末端黑球滚动到前端
解题思想:首先将目标结果实现,根据结果倒推。
2023.8.31
解答:
1.将四棵树种到一个等边三角锥的四个顶点上
2.首先点燃一根香的两端和第二根香的一端,等第一根香全部烧完后点燃第二根的另一端,此时第二根烧完所需的时间就是15分钟
解题思想:第一题是空间思维;第二题是程序执行流程,如线程之类
解答:
1.Console.Write("")//打印信息不空行,Console.WriteLine("")//打印信息空行;
Console.ReadKey()//检测玩家的一键输入,Console.ReadLine()//检测玩家的一系列输入,回车键结束
2.
代码:
class Program { static void Main(string[] args) { Console.WriteLine("请输入用户名"); Console.ReadLine(); Console.WriteLine("请输入年龄"); Console.ReadLine(); Console.WriteLine("请输入班级"); Console.ReadLine(); } }
3.
代码:
class Program { static void Main(string[] args) { Console.WriteLine("您喜欢什么运动呢?"); Console.ReadLine(); Console.WriteLine("哈哈,好巧,我也喜欢这个运动"); } }
4.
代码:
using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("**********"); Console.WriteLine("* *"); Console.WriteLine("* *"); Console.WriteLine("* *"); Console.WriteLine("* *"); Console.WriteLine("* *"); Console.WriteLine("* *"); Console.WriteLine("* *"); Console.WriteLine("* *"); Console.WriteLine("**********"); } } }
9.1
笔记:
#region 知识点一 折叠代码 //主要作用 是让我们编程时 逻辑更加清晰 //它是由#region #endregion配对出现的 //它的具体作用 是可以将中间包裹的代码折叠起来 避免代码太凌乱 //本质是 编辑器提供给我们的 预处理指令 //它只会在编辑时有用 发布了代码 或执行代码 它会被自动删除 #endregion #region 知识点二 如何申明变量 //变量 可以变化的容器 变量 就是用来存储各种不同类型数值的 一个容器 //不同的 变量类型 可以存储不同类型的值 //变量申明固定写法 //变量类型 变量名 =初始值; //int i = 1; //变量类型 有14种变化 //变量名 我们自定义 要按照一定规则 //初始值 一定要和变量类型是统一 //=和; 是固定的 不变的 //变量类型 //一定要死记硬背 各种变量类型的关键字 //一定要记忆 各种不同变量类型 所能存储的范围 //一定要记忆 各种不同变量类型 所能存储的类型 //1.有符号的整形变量 是能存储 一定范围 正负数包括0的变量类型 //sbyte -128~127 sbyte sb = 1; //潜在知识点 通过+来进行拼接打印 Console.WriteLine("sbyte变量sb中存储的值是:"+sb); //int -21亿~21亿多 int i = 2; //short -32768~32767之间的数 short s = 3; //long -9百万兆~9百万兆之间的数 long l = 4; //2.无符号的整形变量 是能存储 一定范围 0和正数的变量类型 // byte 0~255 byte b = 1; // uint 0~42亿多的一个范围 uint ui = 2; // ushort 0~65535之间的一个数 ushort us = 3; // ulong 0~18百万兆之间的数 ulong ul = 4; //3.浮点数(小数) //float 存储7/8位有效数字 根据编译器不同 有效数字也可能不一样 四舍五入 //有效数字 是从左到右从非0数开始算有效数字的 //之所以要在后面加f 是因为在c#中 声明的小数 默认是double的类型 加f 是告诉系统 它是float类型 float f = 0.1234567890f; Console.WriteLine(f); //double 存储15~17位有效数字 抛弃的数字 会四舍五入 double d = 0.12345678901234567890123456789; Console.WriteLine(d); //decimal 存储27~28位的有效数字 不建议使用 decimal de = 0.123456789012345678901234567890m; Console.WriteLine(de); //4.特殊类型 //bool true false 表示真假的数据类型 真假类型 bool bo = true; bool bo2 = false; Console.WriteLine(bo+"_"+bo2); //char 是用来存储单个字符的变量类型 字符类型 char c = '马'; Console.WriteLine(c); //string 是字符串类型 用来存储多个字符的 没有上线 string str = "ajsfdlajfa手"; Console.WriteLine(str); int x = 1000; Console.WriteLine(x); //变量的使用和修改 不能无中生有 必须要先声明才能用 x = 900; Console.WriteLine(x); #endregion #region 知识点三 为什么有那么多不同的变量类型 // 不同的变量 存储的范围和类型不一样 本质是占用的内存空间不同 // 选择不同的数据(变量)类型装在不同的数据 //姓名 //char string string Name = "ANAMK"; //年龄 byte age = 21; //身高 float height = 177.5f; //体重 float weight = 68.5f; //性别 true女 false男 bool sex = false; //数字 用int 小数用float 字符串用string 真假用bool #endregion #region 知识点四 多个相同类型变量 同时声明 int i2 = 1; float f2 = 3.2f; string str2 = "123"; bool bo3 = true; //多个同类型变量申明 //固定写法 // 变量类型 变量名 =初始值,变量名 =初始值,变量名 =初始值...; int a1 = 1, b1 = 2, c1 = 3, d1 = 4; Console.WriteLine(b1); string s1 = "123", s2 = "234"; Console.WriteLine(s1+s2); #endregion #region 知识点五 变量初始化相关 //变量申明时 可以不设置初始值 但是不建议这样写 这样不安全 int a2; a2 = 1; Console.WriteLine(a2); #endregion
解答:
1.num(注意双引号)
2.因为这样可以让计算机识别数字后面加f的变量是float类型变量,而不是默认的double类型
3.
static void Main(string[] args) { string name = "mk"; Console.WriteLine("名字:"+name); int age = 21; Console.WriteLine("年龄:"+age); char sex = '男'; Console.WriteLine("性别:"+sex); int height = 170; Console.WriteLine("身高:"+height+"cm"); float weight = 55.5f; Console.WriteLine("体重:"+weight+"kg"); string location = "太阳系地球中国"; Console.WriteLine("家庭住址:"+location); }
2023-09-08
学了一点
2023-09-09
Lesson3_变量本质
#region 知识点一 变量的存储空间(内存中) // 1byte =8bit // 1KB =1024byte // 1MB =1024KB // 1GB =1024MB // 1T =1024GB //通过sizeof方法 可以获取变量类型所占的内存空间(单位:字节) //有符号 int sbyteSize = sizeof(sbyte); Console.WriteLine("sbyte所占的字节数为"+sbyteSize); int intSize = sizeof(int); Console.WriteLine("int所占的字节数为"+intSize); int shortSize = sizeof(short); Console.WriteLine("short所占的字节数为"+shortSize); int longSize = sizeof(long); Console.WriteLine("long所占的字节数为"+longSize); Console.WriteLine("********************************************"); //无符号 int byteSize = sizeof(byte); Console.WriteLine("byte所占的字节数为" + byteSize); int uintSize = sizeof(uint); Console.WriteLine("uint所占的字节数为" + uintSize); int ushortSize = sizeof(ushort); Console.WriteLine("ushort所占的字节数为" + ushortSize); int ulongSize = sizeof(ulong); Console.WriteLine("ulong所占的字节数为" + ulongSize); Console.WriteLine("********************************************"); //浮点数 int floatSize = sizeof(float); Console.WriteLine("float所占的字节数为" + floatSize); int doubleSize = sizeof(double); Console.WriteLine("double所占的字节数为" + doubleSize); int decimalSize = sizeof(decimal); Console.WriteLine("decimal所占的字节数为" + decimalSize); //特殊类型 int boolSize = sizeof(bool); Console.WriteLine("bool所占的字节数为" + boolSize); int charSize = sizeof(char); Console.WriteLine("char所占的字节数为" + charSize); //sizeof是不能够得到string类型所占的内存大小的 //因为字符串长度是可变的,不定的 //int stringSize = sizeof(string); #endregion #region 知识点二 变量的本质 //变量的本质是2进制→计算机中所有数据的本质都是二进制 是一堆0和1 //为什么是2进制? //数据传递只能通过电信号 只有开和关两种状态。所以就用0和1来表示这两种状态 //计算机中的存储单位最小为bit(位),他只能表示0和1两个数字 //1bit就是1个数,要不是0要不是1 //为了方便数据表示 //出现了一个叫byte(字节)的单位,它是由8个bit组成的存储单位。 //所以我们一般说一个字节为8位 //2进制和10进制的对比 //2进制和10进制之间的相互转换 #endregion
2023-09-10
Lesson4_变量的命名规范
static void Main(string[] args) { Console.WriteLine("变量的命名规则"); #region 知识点一:必须遵守的规则 //1.不能重名 //2.不能以数字开头 //3.不能使用程序关键字命名 //4.不能有特殊符号(下划线除外) //建议的命名规则:变量名要有含义——>用英文(拼音)表示变量的作用 //非常不建议的命名规则:用汉字命名 #endregion #region 知识点二:常用命名规则 //驼峰命名法——首字母小写,之后单词首字母大写(变量) string myName = "mk"; string yourName = "wlx"; //帕斯卡命名法——所有单词首字母都大写(函数、类) string MyName = "ANAM"; //潜在知识点——C#中对大小写是敏感的 是区分的 #endregion }
1、No.1、3day、$money、discount_ 1、Shang Hai、class、int、_ 2C
2、
static void Main(string[] args) { int myAge = 21; char mySex = '男'; float myAttack = 3.141592653f; float myDefense = 2.71828f; double yourHeight = 169.9; double yourWeight = 55.5; }
Lesson5_常量
static void Main(string[] args) { Console.WriteLine("常量"); #region 知识点一 常量的申明 //关键字 const //固定写法: //const 变量类型 变量名 =初始值; //变量的声明 int i = 10; //常量的申明 const int i2 = 20; #endregion #region 常量的特点 //1.必须初始化 //2.不能被修改 //变量申明可以不初始化 string name; //之后可以来修改 name = "123"; name = "345"; const string myName = "ANAM"; //作用:申明一些常用不变的变量 //PI 3.1415926 const float PI = 3.141592653f; Console.WriteLine(PI); #endregion }
1、必须初始化,不能被修改
2、用来定义一些恒定的值,比如π和重力加速度之类
2023-09-11
Lesson6_转义字符
static void Main(string[] args) { Console.WriteLine("转义字符"); #region 知识点一 转义字符的使用 //什么是转义字符? //它是字符串的一部分 用来表示一些特殊含义的字符 //比如: 在字符串中表现 单引号 引号 空行等等 #region 固定写法 //固定写法 \字符 //不同的\和字符的组合 表示不同的含义 //常用转义字符 //单引号 \' string str = "\'哈哈哈\'"; Console.WriteLine(str); //双引号 \" str = "\"哈哈哈\""; Console.WriteLine(str); //换行 \n str = "123\n321"; Console.WriteLine(str); //斜杠 \\ 计算机文件路径要用到\符号的 str = "哈\\哈哈"; Console.WriteLine(str); //不常用转义字符(了解) //制表符(空一个tab键)\t str = "哈\t哈哈"; Console.WriteLine(str); //光标退格 \b str = "123\b123"; Console.WriteLine(str); //空字符 \0 str = "1234\0123"; Console.WriteLine(str); //警报音 \a str = "\a"; Console.WriteLine(str); Console.WriteLine("12312\n123123123\a123\t123"); #endregion #endregion #region 知识点二 取消转义字符 string str2 = @"哈哈\哈哈"; Console.WriteLine(str2); Console.WriteLine(@"\n\\"); #endregion }
Lesson7_类型转换(隐式转换)
static void Main(string[] args) { Console.WriteLine("类型转换——隐式转换"); //什么是类型转换 //类型转换 就是不同变量类型之间的相互转还能 //隐式转换的基本规则——>不同类型之间自动转换 //大范围装小范围 #region 知识点一 相同大类型之间的转换 //有符号 long——>int——>short——>sbyte long l = 1; int i = 1; short s = 1; sbyte sb = 1; //隐式转换 int隐式转换成了long //可以用大范围 装小范围的 类型 (隐式转换) l = i; //不能够用小范围的类型去装在大范围的类型 //i =l; //无符号 ulong——>uint——>ushort——>byte //浮点数 decimal double——>float decimal de = 1.1m; double d = 1.1; float f = 1.1f; //decimal这个类型 没有办法用隐式转换的形式 去存储 double和float //de = d; //de = f; //float 是可以隐式转换成double d = f; //特殊类型 bool char string //他们之间 不存在隐式转换 bool b = true; char c = 'A'; string str = "12123"; #endregion #region 知识点二 不同大类型之间的转换 #region 无符号和有符号之间 //无符号 不能装负数 byte b2 = 1; //0~255 ushort us2 = 1; uint ui2 = 1; ulong ul2 = 1; //有符号 sbyte sb2 = 1; short s2 = 1; int i2 = 1; long l2 = 1; //无符号装有符号 //有符号的变量 是不能够 隐式转换成 无符号的 //b2 = sb2; //us2 = sb2; //ul2 = sb2; //有符号装无符号 //有符号变量 是可以 装 无符号变量的 前提是 范围一定是涵盖的 存在隐式转换 //i2 = ui2;//因为 有符号的变量 可能会超过 这个无符号变量的范围 i2 = b2;//因为 有符号的变量 不管是多少 都在 无符号变量的范围内 #endregion #region 浮点数和整数(有、无符号)之间 //浮点数装整数 整形转为浮点数 是存在隐式转换的 float f2 = 1.1f; double d2 = 1.1; decimal de2 = 1.1m; //浮点数 是可以装载任何类型的 整数的 f2 = l2; f2 = i2; f2 = s2; f2 = sb2; f2 = ul2; f2 = ui2; f2 = us2; f2 = b2; f2 = 10000000000000000000; Console.WriteLine(f2); //decimal 不能隐式存储 float和double //但是它可以隐式的存储整形 de = l2; de = ul2; //double——>float——>所有整形(无符号、有符号) //decimal——>所有整形(无符号、有符号) //整数装浮点数 整数是不能隐式存储 浮点数 因为 整数 不能存小数 #endregion #region 特殊类型和其他类型之间 //bool bool没有办法和其它类型 相互隐式转换 //char char 没有办法隐式的存储 其它类型的变量 //char类型 可以隐式的转换成 整形和浮点型 //char隐式转换成 数值类型是 //对应的数字 其实是一个 ASCII码 //计算机里面存储 2进制 // 字符 中文 英文 标点符号 在计算机中都是一个数字 //一个字符 对应一个数字 ASCII码就是一种对应关系 char c2 ='a'; i2 = c2; Console.WriteLine(i2); //string 类型 无法和其它类型进行隐式转换 #endregion #endregion //总结 //高精度(大范围)装低精度(小范围) //double——>float——>整数(无符号、有符号)——>char //decimal——>整数(无符号、有符号)——>char //string和bool 不参与隐式转换规则的 }
class Program { static void Main(string[] args) { int i1, i2, i3, i4; char n1 = 'A'; char n2 = 'N'; char n3 = 'A'; char n4 = 'M'; i1 = n1; i2 = n2; i3 = n3; i4 = n4; Console.WriteLine(i1); Console.WriteLine(i2); Console.WriteLine(i3); Console.WriteLine(i4); } }
2023-10-08
Lesson8_显示转换
static void Main(string[] args) { Console.WriteLine("类型转换——显示转换"); //显示转换——>手动处理 强制转换 #region 知识点一 括号强转 //作用 一般情况下 将高精度的类型强制转换为低精度 //语法: 变量类型 变量名 =(变量类型)变量; //注意: 精度问题 范围问题 //相同大类的整形 //有符号整形 sbyte sb = 1; short s = 1; int i = 40000; long l = 1; //括号强转 可能会出现范围问题 造成的异常 s = (short)i; Console.WriteLine(s); i = (int)l; sb = (sbyte)s; sb = (sbyte)i; sb = (sbyte)l; //无符号整形 byte b = 1; uint ui = 1; b = (byte)ui; //浮点之间 float f = 1.1f; double d = 1.1234567890123456789f; f = (float)d; Console.WriteLine(f); //无符号和有符号 uint ui2 = 1; int i2 = -1; //在强转时 一定要注意范围 不然得到的结果 可能有异常 ui2 = (uint)i2; Console.WriteLine(ui2); i2 = (int)ui2; //浮点和整形 浮点数强转成整数时 会直接抛弃掉小数点后面的小数 i2 = (int)1.64f; Console.WriteLine(i2); //char和数值类型 i2 = 'A'; char c = (char)i2; Console.WriteLine(c); //bool和string是不能够通过 括号强转的 //bool bo = true; //int i3 = (bool)bo; //string str ="123"; //i3 =(int)str; #endregion #region 知识点二 Parse法 //作用 把字符串类型转换为对应的类型 //语法: 变量类型.Parse("字符串") //注意: 字符串必须能够转换成对应类型 否则报错 //有符号 //string str2 = "123"; int i4 = int.Parse("123"); Console.WriteLine(i4); //我们填写字符串 必须是要能够转成对应类型的字符 如果不符合规则 会报错 //i4 = int.Parse("123.45"); //Console.WriteLine(i4); // 值的范围 必须是能够被变量存储的值 否则报错 //short s3 = short.Parse("40000"); //Console.WriteLine(s3); sbyte sb3 = sbyte.Parse("1"); Console.WriteLine(sb3); //他们的意思是相同的 Console.WriteLine(sbyte.Parse("1")); Console.WriteLine(long.Parse("123123")); //无符号 Console.WriteLine(byte.Parse("1")); Console.WriteLine(ushort.Parse("1")); Console.WriteLine(ulong.Parse("1")); Console.WriteLine(uint.Parse("1")); //浮点数 float f3 = float.Parse("1.2323"); double d3 = double.Parse("1.2323"); //特殊类型 bool b5 = bool.Parse("true"); Console.WriteLine(b5); char c2 = char.Parse("A"); Console.WriteLine(c2); #endregion #region 知识点三 Convert法 //作用 更准确的将 各个类型之间进行相互转换 //语法: Convert.To目标类型(变量或常量) //注意: 填写的变量或常量必须正确 否则出错 //转字符串 如果是把字符串转对应类型 那字符串一定要合法合规 int a = Convert.ToInt32("12"); Console.WriteLine(a); //精度更准确 // 精度比括号强转好一点 会四舍五入 a = Convert.ToInt32(1.45845f); Console.WriteLine(a); //特殊类型转换 //把bool类型也可以转成 数值类型 true对应1 false对应0 a = Convert.ToInt32(true); Console.WriteLine(a); a = Convert.ToInt32(false); Console.WriteLine(a); a = Convert.ToInt32('A'); Console.WriteLine(a); //每一个类型都存在对应的 Convert中的方法 sbyte sb5 = Convert.ToSByte("1"); short s5 = Convert.ToInt16("1"); int i5 = Convert.ToInt32("1"); long l5 = Convert.ToInt64("1"); byte b6 = Convert.ToByte("1"); ushort us5 = Convert.ToUInt16("1"); uint ui5 = Convert.ToUInt32("1"); ulong ul5 = Convert.ToUInt64("1"); float f5 = Convert.ToSingle("13.2"); double d5 = Convert.ToDouble("13.2"); decimal de5 = Convert.ToDecimal("13.2"); bool bo5 = Convert.ToBoolean("true"); char c5 = Convert.ToChar("A"); string str5 = Convert.ToString(123123); #endregion #region 知识点四 其它类型转string //作用:拼接打印 //语法:变量.toString(); string str6 = 1.ToString(); str6 = true.ToString(); str6 = 'A'.ToString(); str6 = 1.2f.ToString(); int aa = 1; str6 = aa.ToString(); bool bo6 = true; str6 = bo6.ToString(); //当我们进行字符串拼接时 就自动会调用 tostring转成string Console.WriteLine("123123" + 1 + true); str6 = "123123" + 1 + true + 1.23; #endregion }
2023-10-10
Lesson9_异常捕获
static void Main(string[] args) { Console.WriteLine("异常捕获"); #region 作用 //将玩家输入的内容 存储 string类型的变量(容器)中 //string str = Console.ReadLine(); //Parse转字符串为 数值类型时 必须 要合法合规 //int i = int.Parse(str); //通过对异常捕获的学习 可以避免当代码报错时 造成程序卡死的情况 #endregion #region 基本语法 //必备部分 try { //希望进行异常捕获的代码块 //放到try中 //如果try中的代码 报错了 不会让程序卡死 } catch { //如果出错了 会执行 catch中的代码 来捕获异常 //catch(Exception e)具体报错跟踪 通过e得到 具体的错误信息 } //可选部分 finally { //最后执行的代码 不管有没有出错 都会执行其中的代码 //目前 大家可以不用写 } //注意:异常捕获代码基本结构中 不需要加; 在里面去写代码逻辑时 每一句代码才加; #endregion #region 实践 try { string str = Console.ReadLine(); int i = int.Parse(str); Console.WriteLine(i); } catch { Console.WriteLine("请输入合法数字"); } //finally //{ // Console.WriteLine("执行完毕"); //} #endregion } }
第一题:
static void Main(string[] args) { try { Console.WriteLine("请输入一个数字:"); string str = Console.ReadLine(); int i = int.Parse(str); } catch { Console.WriteLine("用户输入错误"); } }
第二题:
static void Main(string[] args) { try { Console.WriteLine("请输入用户名"); string yourName = Console.ReadLine(); Console.WriteLine("请输入语文成绩:"); string yuWenStr = Console.ReadLine(); int yuwen = int.Parse(yuWenStr); Console.WriteLine("请输入数学成绩"); //一步到位的写法 int shuXue = int.Parse(Console.ReadLine()); Console.WriteLine("请输入英语成绩"); int yingYu = int.Parse(Console.ReadLine()); } catch { Console.WriteLine("你的输入不合法,成绩请输入数字"); } }
2023-10-14
Lesson10_算数运算符
static void Main(string[] args) { Console.WriteLine("算数运算符"); //算数运算符 是用于 数值类型变量计算的运算符 //它的返回结果是数值 #region 知识点一:赋值符号 // = // 关键知识点 : // 先看右侧 再看左侧 把右侧的值赋值给左侧的变量 string myName = "mk"; int myAge = 18; float myHeight = 177.5f; #endregion #region 知识点二:算数运算符 #region 加 + // 用自己计算 先算右侧结果 再赋值给左侧变量 int i = 1; //3 i = i + 2; Console.WriteLine(i); // 连续运算 先算右侧结果 再赋值给左侧变量 // 99 i = 1 + 3 + 89 + i + i; Console.WriteLine(i); //4 i = 1 + 2 + 1; Console.WriteLine(i); // 初始化时就运算 先算右侧结果 再赋值给左侧变量 int i2 = 1 + 2 + 4 + i; Console.WriteLine(i2); #endregion #region 减 - // 用自己计算 先算右侧结果 再赋值给左侧变量 int j = 1; j = j - 1; Console.WriteLine(j); // 连续运算 先算右侧结果 再赋值给左侧变量 j = 1 - 2 - 3; Console.WriteLine(j); j = 1 - j; Console.WriteLine(j); // 初始化就运算 先算右侧结果 再赋值给左侧变量 int j2 = 1 - j - 0; Console.WriteLine(j2); #endregion #region 乘 * // 用自己计算 先算右侧结果 再赋值给左侧变量 int c = 1; c = c * 10; Console.WriteLine(c); // 连续运算 先算右侧结果 再赋值给左侧变量 c = 1 * 2 * 3; Console.WriteLine(c); c = 2 * c * 2; Console.WriteLine(c); // 初始化就运算 先算右侧结果 再赋值给左侧变量 int c2 = c * 2; Console.WriteLine(c2); #endregion #region 除 / // 用自己计算 先算右侧结果 再赋值给左侧变量 int chu = 1; chu = 10 / chu; Console.WriteLine(chu); // 连续运算 先算右侧结果 再赋值给左侧变量 // 初始化就运算 先算右侧结果 再赋值给左侧变量 chu = 1; chu = 1 / 2; Console.WriteLine(chu); //默认的整数 是int 如果用来做除法运算 要注意 会丢失小数点后的小数 //如果你想用浮点数来存储 一定是 在运算时要有浮点数的特征 float f = 1 / 2f; Console.WriteLine(f); #endregion #region 取余 % // 用自己计算 先算右侧结果 再赋值给左侧变量 int y = 4; // 4 / 2 得到余数0 y = y % 3; Console.WriteLine(y); // 连续运算 先算右侧结果 再赋值给左侧变量 y = 4 % 3 % 2; Console.WriteLine(y); // 初始化就运算 先算右侧结果 再赋值给左侧变量 #endregion #endregion #region 知识点三:算术运算符的 优先级 //优先级 是指 在混合运算时的运算顺序 //乘除取余 优先级高于 加减 先算乘除取余 后算加减 // 1 + 3 + 1 +6 int a = 1 + 2 * 3 / 2 + 1 + 2 * 3; Console.WriteLine(a); a = 1 + 4 % 2 * 3 / 2 + 1; Console.WriteLine(a); //括号可以改变优先级 优先计算括号内内容 a = 1 + 4 % (2 * 3 / 2) + 1; //多组括号 先算最里层括号 依次往外算 a = 1 + (4 % (2 * (3 / 2))) + 1; Console.WriteLine(a); #endregion #region 知识点四:算术运算符的 复合运算符 // 固定写法 运算符= // += -= *= /= %= //复合运算符 是用于 自己=自己进行运算 int i3 = 1; i3 = i3 + 2; Console.WriteLine(i3); i3 = 1; i3 += 2;//i3 = i3 + 2; Console.WriteLine(i3); i3 = 2; i3 += 2;//4 i3 -= 2;//2 i3 /= 2;//1 i3 *= 2;//2 i3 %= 2;//0 Console.WriteLine(i3); int i4 = 10; // i4+=20*2/10; Console.WriteLine(i4); //注意:复合运算符 只能进行一种运算 不能混合运算 //i4 */-= 2; #endregion #region 知识点五:算术运算符的 自增减 int a2 = 1; a2 = a2 + 1; a2 = 1; a2 += 1; //自增运算符 让自己+1 a2 = 1; a2++;//先用再加 Console.WriteLine(a2); ++a2;//先加再用 Console.WriteLine(a2); a2 = 1; Console.WriteLine(a2++);//1 //2 Console.WriteLine(++a2);//3 //自减运算符 让自己-1 a2 = 1; a2--;//先用再减 --a2;//先减再用 a2 = 1; Console.WriteLine(a2--);//1 //0 Console.WriteLine(--a2);//-1 #endregion }
第一题:
static void Main(string[] args) { Console.WriteLine("请输入你的年龄"); string str = Console.ReadLine(); int age = int.Parse(str); Console.WriteLine("十年后你的年龄是" + (age + 10)); }
第二题:
static void Main(string[] args) { int r = 5; Console.WriteLine("半径为5的圆的面积为" + (Math.PI*r*r)); Console.WriteLine("半径为5的周长为" + 2 * Math.PI * r); }
第三题:
static void Main(string[] args) { Console.WriteLine("请输入你的c#成绩:"); string str = Console.ReadLine(); int score1 = int.Parse(str); Console.WriteLine("请输入你的Unity成绩:"); string str2 = Console.ReadLine(); int score2 = int.Parse(str2); Console.WriteLine("请输入你的Math成绩:"); string str3 = Console.ReadLine(); int score3 = int.Parse(str3); Console.WriteLine("三门成绩的总分是:" + (score1 + score2 + score3)); Console.WriteLine("三门成绩的平均分是:" + (score1 + score2 + score3) /3); }
第四题:
static void Main(string[] args) { int tprice = 285; int kuprice = 720; Console.WriteLine("2件T恤和3条裤子的价格是:" + (2 * tprice + 3 * kuprice)); Console.WriteLine("2件T恤和3条裤子的价格打完3.8折是:" + (2 * tprice + 3 * kuprice)*0.38); }
第五题:
31,30,42
第六题:
static void Main(string[] args) { //法一 int a = 99, b = 87; Console.WriteLine("交换前a为" + a); Console.WriteLine("交换前b为" + b); int c; c = b; b = a; a = c; Console.WriteLine("交换后a为" + a); Console.WriteLine("交换后b为" + b); //法二 }
第七题:
static void Main(string[] args) { int second = 987652; int day = (second/ (24 * 60 * 60)); int hour = ((second - (day * 24* 60 * 60)) /(60*60)); int minute = (second- (day * 24 * 60 * 60) - (hour * 60 * 60)) / 60; int seconds = second - (day * 24 * 60 * 60) - (hour * 60 * 60) - minute * 60; Console.WriteLine("现在是:"+day+"天"+hour+"小时"+minute+"分钟"+seconds+"秒"); }
2023-10-17
Lesson11_字符串拼接
class Program { static void Main(string[] args) { #region 知识点一 字符串拼接方式1 //之前的算数运算符 只是用来数值类型变量进行数学运算的 //而string不存在算数运算符不能计算 但是可以通过+号来进行字符串拼接 string str = "123"; //用+号进行字符串拼接 str = str + "456"; Console.WriteLine(str); str = str + 1; Console.WriteLine(str); // 复合运算符 += str = "123"; str += "1" + 4 + true; Console.WriteLine(str); str += 1 + 2 + 3 + 4; Console.WriteLine(str); str += "" + 1 + 2 + 3 + 4; Console.WriteLine(str); str = ""; str += 1 + 2 + "" + (3 + 4); Console.WriteLine(str); str = str + (1 + 2 + 3); Console.WriteLine(str); //注意: 用+号拼接 是用符号唯一方法 不能用-*/%.... #endregion #region 知识点二 字符串拼接方式2 //固定语法 //string.Format("待拼接的内容",内容1,内容2,......); //拼接内容中的固定规则 //想要被拼接的内容用占位符替代 {数字} 数字:0~n 依次往后 string str2 = string.Format("我是{0},我今年{1}岁,我想要{2}", "mk", "23", "学好unity,找个好工作"); Console.WriteLine(str2); str2 = string.Format("x{0}y{1}z{2}", 1, 2, 3); Console.WriteLine(str2); #endregion #region 控制台打印拼接 //后面的 内容 比占位符多 不会报错 //后面的 内容 比占位符少 会报错 Console.WriteLine("A{0}B{1}C{2}", 1, true,false,1,2); Console.Write("A{0}B{1}C{2}", 1, true); #endregion } }
第一题:
static void Main(string[] args) {
Console.WriteLine("请输入存储客户的姓名"); string name = Console.ReadLine(); string str = "你好," + name; Console.WriteLine(str); }
第二题:
static void Main(string[] args) { Console.WriteLine("请输入客户姓名"); string name = Console.ReadLine(); Console.WriteLine("请输入客户年龄"); string str = Console.ReadLine(); int age = int.Parse(str); Console.WriteLine("{0}{1}岁了", name, age); }
第三题:
static void Main(string[] args) { Console.WriteLine("请输入姓名:"); string name = Console.ReadLine(); Console.WriteLine("请输入年龄:"); string str = Console.ReadLine(); int age = int.Parse(str); Console.WriteLine("请输入邮箱:"); string email = Console.ReadLine(); Console.WriteLine("请输入家庭住址:"); string address = Console.ReadLine(); Console.WriteLine("请输入期望工资:"); string str2 = Console.ReadLine(); int money = int.Parse(str2); Console.WriteLine("姓名:{0},年龄:{1},邮箱:{2},地址:{3},期望工资:{4}",name,age,email,address,money); }
第四题:
static void Main(string[] args) { Console.WriteLine("请输入用户名:"); string name = Console.ReadLine(); Console.WriteLine("请输入年龄:"); string str = Console.ReadLine(); int age = int.Parse(str); Console.WriteLine("请输入班级:"); string str2 = Console.ReadLine(); int banji = int.Parse(str2); Console.WriteLine("用户名:{0},年龄:{1},班级:{2}",name,age,banji); }
这里直接使用string就可以,不需要转成int类型
2023-10-18
lesson12_条件运算符
static void Main(string[] args) { #region 知识点一 条件运算符 // 用于比较两个变量或常量 // 是否大于 > // 是否小于 < // 是否等于 == // 是否不等于 != // 是否大于等于 >= // 是否小于等于 <= // 条件运算符 一定存在左右两边的内容 // 左边内容 条件运算符 右边内容 int a = 5; int b = 10; //条件运算符 不能直接这样使用 //纯比较不用结果 那么对于我们来说 没有任何的意义 //a>b; // 比较的结果 返回的是 一个 bool 类型的值 // true和false 如果比较的条件满足 那就返回true 不满足 就返回false // 先算右边 再赋值给左边 bool result = a > b; Console.WriteLine(result); result = a < b; Console.WriteLine(result); result = a >= b; Console.WriteLine(result); result = a <= b; Console.WriteLine(result); result = a == b; Console.WriteLine(result); result = a != b; Console.WriteLine(result); #endregion #region 知识点二 各种应用写法 //变量和变量比较 a = 5; b = 10; result = a < 10;// true //变量和数值(常量)比较 result = a < 10;// true result = b > 5;// true //数值和数值比较 result = 5 > 3;//true result = 5 == 3;//false result = 5 != 3;//true //计算结果比较 //条件运算符的 优先级 低于算数运算符 // 8>6 // 先计算 再比较 result = a + 3 > a - 2 + 3;// true result = 3 + 3 < 5 - 1;//false //左边 条件运算符 右边 #endregion #region 知识点三 不能进行范围比较 a = 5; //判断是否在两个值之间 // 1 < a < 6; //在c#中都不能这样写 //result = 1 < a < 6; //要判断 一个变量是否在两个数之间 要结合 逻辑运算符的知识点 #endregion #region 知识点四 不同类型之间的比较 //不同数值类型之间 可以随意进行条件运算符比较 int i = 5; float f= 1.2f; double d= 12.4f; short s= 2; byte by = 20; uint ui = 222; //只要是数值 就能够进行条件运算符比较 比较大于小于等于等等 result = i > f; result = f < d; result = i > by; result = f > ui; result = ui > d; //特殊类型 char string bool 只能同类型进行 == 和 != 比较 string str = "123"; char c = 'A'; bool bo = true; result = str == "234";//false result = str == "123";//true result = str != "123";//false result = c == 'B';//false //不仅可以和自己类型进行 == !=还可以和数值类型进行比较 //还可以和 字符类型进行大小比较 result = c > 123; result = bo == true;//true #endregion }
打印结果:
标签:Console,string,WriteLine,int,学习,str,变量 From: https://www.cnblogs.com/mklearn-u3d/p/17667889.html