从今天开始,我正式踏入 C# 的修炼世界。
我加入了 AIGC 宗门,并拜入了 C# 峰,成为 陈峰主 的一名弟子。
他赐予了我一件法器——控制台。
此物可吐纳文字、接引输入、演化计算。今日便用它修习至练气入门。
今日功法速览
| 功法/法器 |
用途说明 |
| Console.WriteLine() |
口诵真言,输出一行文字,自动换行 |
| Console.Write() |
输出文字,不换行,留待后续接续 |
| Console.ReadLine() |
接引外界输入,返回的是字符串 |
| Convert.ToInt32() |
炼化术:把字符串炼成整数灵力 |
| int 变量 |
装灵力的容器,只能存整数 |
| + - * / % |
五行基础术:加、减、乘、除、取余 |
| $"..." 字符串插值 |
融合术:把变量直接嵌入字符串,最优雅的拼接法门 |
作业一:输出古诗《春思》
题目要求:在控制台输出李白的《春思》。
修炼思路:这是最简单的入门题。催动法器 Console.WriteLine(),一句一行把诗文诵出,关键是注意换行和排版。
Console.WriteLine(" 李白:春思");
Console.WriteLine("燕草如碧丝,秦桑低绿枝。");
Console.WriteLine("当君怀归日,是妾断肠时。");
Console.WriteLine("春风不相识,何事入罗帏。");
运行效果:
⚠️ 注意:字符串必须用英文双引号括起来。中文标点可以随便用,但引号一旦用错,功法立刻反噬报错。
CS1011: 应输入字符 CS1002: 应输入 ; CS0103: 名称“燕草如碧丝”不存在
作业二:输出个人信息
题目要求:按指定格式输出姓名、性别、年龄。
修炼思路:一行真言,用空格分隔多个信息,直接诵出。
Console.WriteLine("我的姓名:大帅哥 我的性别:男 我的年龄:18");
运行效果:
作业三:输出简易日历
题目要求:输出一周日历,第一行是星期,下面是日期数字。
修炼思路:注意数字之间的空格要对齐,纯字符串输出即可,考的是耐心与眼力。
Console.WriteLine("日 一 二 三 四 五 六");
Console.WriteLine(" 1 2 3 4 5");
Console.WriteLine("6 7 8 9 10 11 12");
Console.WriteLine("13 14 15 16 17 18 19");
运行效果:
小技巧:两位数(10、11、12…)比一位数占位更宽,记得多补空格才能对齐,这也是修炼心性的排版题。
作业四:接收两个数字,求它们的和
题目要求:用户输入两个整数,程序输出它们的和。
修炼思路:Console.ReadLine() 接引回来的是字符串,必须先施炼化术 Convert.ToInt32() 转成整数灵力才能相加。这一步最容易被忽略,也是新手最容易走火入魔的地方。
Console.Write("请输入一个整数:");
int num1 = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入第二个整数:");
int num2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine($"第一个数 + 第二个数 = {num1 + num2}");
运行效果(示例输入 10 和 5):
⚠️ 走火入魔预警:若不做炼化直接相加,字符串会拼接而非相加,比如 "10" + "5" 得到的竟是 105!一定要先转成 int。
另外融合术 $"..." 里可以直接写 {num1 + num2} 这个表达式,法器会自动先算出结果再输出。
作业五:加减乘除取余全家桶
题目要求:接收两个数,求它们的和、差、乘积、商和余数。
修炼思路:五行基础术 + - * / % 一次性全部施展。其中 / 是除法、% 是取余数。
Console.Write("请输入第一个数:");
int number3 = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入第二个数:");
int number4 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine($"{number3} + {number4} = " + (number3 + number4));
Console.WriteLine($"{number3} - {number4} = " + (number3 - number4));
Console.WriteLine($"{number3} * {number4} = " + (number3 * number4));
Console.WriteLine($"{number3} / {number4} = " + (number3 / number4));
Console.WriteLine($"{number3} % {number4} = " + (number3 % number4));
运行效果:
修炼要点:int 除以 int 结果还是整数,30 ÷ 4 = 7(小数部分被直接丢弃,不是四舍五入);% 取余数 30 % 4 = 2。这两个特性一定要记牢,日后进阶常考。
作业六:输出我自己的个人信息
题目要求:效果图如下。
修炼思路:
Console.WriteLine("=== 个人资料录入 ===");
Console.WriteLine("注意不同变量的数据类型");
Console.Write("请输入您的名字:");
string name = Console.ReadLine();
Console.Write("请输入您的年龄:");
int age = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入您的性别:");
string sex = Console.ReadLine();
Console.Write("请输入您的收入:");
double earnings = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入您的爱好:");
string hobby = Console.ReadLine();
Console.WriteLine("====================");
Console.WriteLine("您输入的信息是:");
Console.WriteLine($"姓名:{name}");
Console.WriteLine($"年龄:{age}");
Console.WriteLine($"性别:{sex}");
Console.WriteLine($"收入:{earnings}");
Console.WriteLine($"爱好:");
Console.WriteLine(hobby);
Console.ReadKey();
运行效果:
=== 个人资料录入 ===
注意不同变量的数据类型
请输入您的名字:突击兔子06
请输入您的年龄:20
请输入您的性别:男
请输入您的收入:99999
请输入您的爱好:
吃东西,喝东西,玩东西,看东西,听东西,摸东西
====================
您输入的信息是:
姓名:突击兔子06
年龄:20
性别:男
收入:99999
爱好:
吃东西,喝东西,玩东西,看东西,听东西,摸东西
提升题(选做):购物结算功法
修炼思路
这是练气期综合试炼,需要同时操控字符串、小数、整数三种不同灵力类型,接收物品信息、计算总价、完成找零,考验数据类型的精准把控与格式化输出。
完整功法代码
Console.WriteLine("=======购买清单=======");
Console.WriteLine("注意不同变量的数据类型");
Console.Write("请输入您购买的物品名称:");
string gmname = Console.ReadLine();
Console.Write("请输入您购买物品的价格:");
double price = Convert.ToDouble(Console.ReadLine());
Console.Write("请输入您购买的物品的个数:");
int gmnumber = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入您付的钱数:");
double money = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("====================");
Console.WriteLine($"您购买的商品:{gmname}");
Console.WriteLine($"价格:{price:F1}");
Console.WriteLine($"个数:{gmnumber}");
Console.WriteLine($"您应该付的钱:{price * gmnumber:F1}");
Console.WriteLine($"您实际付的钱:{money:F1}");
Console.WriteLine($"找给您的钱:{(money - price * gmnumber):F1}");
Console.ReadKey();
运行效果(示例输入)
=======购买清单=======
注意不同变量的数据类型
请输入您购买的物品名称:香蕉
请输入您购买物品的价格:17.5
请输入您购买的物品的个数:4
请输入您付的钱数:100
====================
您购买的商品:香蕉
价格:17.5
个数:4
您应该付的钱:70.0
您实际付的钱:100.0
找给您的钱:30.0
修炼要点
- 类型分明:物品名是字符串
string,价格、钱数是小数double,个数是整数int,三者不可混用。 - 格式化输出:
:F1让金额统一保留一位小数,输出整齐规范。 - 运算优先级:乘法优先级高于减法,
price * gmnumber会自动先算总价,再用实付金额减去总价得到找零。
⚠️ 走火入魔预警
Convert.ToDouble和Convert.ToInt32不可写反,若把个数用ToDouble接收、价格用ToInt32接收,会出现精度丢失或编译报错。- 找零的表达式外层必须加括号:
(money - price * gmnumber):F1,否则格式符只会作用在最后一个数字上。
今日修炼总结
练气第一日,我掌握了 C# 的"三板斧":
- 输出:Console.WriteLine() / Console.Write(),会输出才会显化;
- 输入:Console.ReadLine() 拿到的是字符串,用 Convert.ToInt32() 炼化成数字才能计算;
- 运算:+ - * / % 五个基本术,注意整数除法和取余的特殊规则。
最让我惊喜的是融合术 $"..."——把变量直接写进大括号里,不用像以前那样辛苦拼接引号和加号,代码又短又清楚,当真是峰主赐下的好法门。
(本文为个人修炼记录,功法均在 .NET 控制台应用下编译运行通过。如有谬误欢迎指正,一同精进。)