简介:本资源是一套系统化的C#编程入门实战练习题集,面向零基础或初学阶段的开发者,旨在通过大量编码实践夯实语法、面向对象、集合操作、异常处理等核心能力,快速提升解决实际问题的编程水平。压缩包共1670个文件,涵盖224个C#源码文件(.cs)、94个项目配置文件(.csproj)、82个解决方案文件(.sln)及配套可执行程序(.exe)、调试符号(.pdb)、图标资源(.ico/.jpg)等,完整呈现从编码、编译到运行验证的全流程工程结构,总大小17.87MB。目前已有730人学习下载,适合自学巩固、课堂实训或课后作业拓展。学习者可直接运行示例、调试代码、对比标准实现,深入理解类设计、LINQ查询、异步编程、文件I/O等12类关键知识点,获得结构清晰、即开即用的C#基础能力训练环境。
1. C#基础练习题:不是刷题卷,而是帮你把“代码怎么动起来”这件事真正搞明白的启动器
你是不是也这样:看教程时觉得“哦,懂了”,一关页面就忘;写第一行Console.WriteLine("Hello")还挺兴奋,可接下来该写啥?变量怎么存?循环为啥老多跑一次?报错信息全是英文还带一堆箭头,像在解密黑匣子……别急,这不是你笨,是缺了一把“能立刻上手、边错边改、越练越有手感”的钥匙。C#基础练习题,就是这把钥匙——它不是考试卷,没有标准答案压力;它是一组精心设计的小任务,比如“让程序记住用户输入的三个数字,再按大小排好顺序输出”,每道题都像搭积木一样,只动一两块,就能看到结果跳出来。适合完全没写过代码的人,也适合学过但总卡在“知道概念却写不出”的朋友。它不讲大道理,只问你:“来,试试看,这行代码改一个字母,结果会变吗?”——这种“动手即反馈”的节奏,才是新手真正建立信心的第一步。
2. 先搞懂一个事实:C#不是魔法,而是一套“人和电脑约定好的说话方式”
很多人一听到“编程语言”,下意识觉得是某种高深莫测的密码。其实完全不是。C# 就像一套特别严谨的“人机普通话”:你说的话(代码),必须严格遵守它的语法规则,电脑才能听懂;反过来,它给你的反馈(比如报错提示),也全是按这套规则生成的“人话”。理解这一点,你就不会被“CS1002: 缺少分号”这类错误吓退——它不是在骂你,只是在说:“嘿,咱们约好了每句话结尾要加个‘;’,你刚才那句忘了。”下面我们就用最真实的入门路径,带你从零走通第一个练习题。
2.1 第一步:装一个“能听懂C#话”的小工具——Visual Studio Community(免费版)
你不需要买任何软件,也不用找破解。微软官方提供完全免费、功能完整的 Visual Studio Community,它就像一个“C#专属写字台”:左边写代码,右边点一下就能运行,出错了红字直接标在哪一行。安装过程比装微信还简单:
- 打开浏览器,搜索 “Visual Studio Community 官网”(认准 microsoft.com 域名)
- 下载安装程序(约1MB,很快)
- 运行安装程序 → 在工作负载里勾选“.NET 桌面开发”(这是关键!别选错成“Web开发”或“游戏开发”)
- 点击“安装”,等20–40分钟(取决于网速和电脑性能),全程默认下一步即可
提示:安装时如果提示“磁盘空间不足”,不用慌。它默认装在C盘,但你可以点击“更改”按钮,选一个空间充足的盘(比如D盘)再继续。我第一次装就卡在这儿,后来发现只是C盘满了,换了个盘就秒过。
2.2 第二步:创建你的第一个“练习本”——控制台应用项目
装完打开 Visual Studio,你会看到一个清爽的起始页。别被满屏按钮吓到,我们只走三步:
- 点击“创建新项目”
- 在搜索框输入
console,然后从列表中选择“控制台应用 (.NET Framework)”(注意:不是“.NET Core”或“.NET 5+”,初学者选这个最稳) - 点击“下一步” → 项目名称填
MyFirstPractice(名字随便写,别带空格和中文)→ 位置选你熟悉的文件夹(比如桌面)→ 点击“创建”
几秒钟后,一个崭新的窗口弹出来,中间一大片空白区域就是你的代码编辑区。你已经站在起点线了。
2.3 第三步:运行第一个练习题——“打印三遍你的名字”
现在,把编辑区里自动生成的全部代码删掉(放心,删了还能恢复),然后一字不差地敲入以下内容(注意大小写、括号、分号,一个都不能错):
using System; namespace MyFirstPractice { class Program { static void Main(string[] args) { Console.WriteLine("张三"); Console.WriteLine("张三"); Console.WriteLine("张三"); Console.ReadKey(); // 这行很重要!让窗口别一闪就关 } } }解释一下这段代码在干啥:
Console.WriteLine("张三");是告诉电脑:“在屏幕上打印‘张三’,然后换一行”- 连写三行,就是打印三遍
Console.ReadKey();是暂停指令:程序执行完三行后,会等你按任意键才关闭窗口。不然你根本看不到结果!这是新手第一个“血泪经验”——没这行,窗口闪退,你会以为代码没运行。
敲完后,按顶部菜单栏的“调试” → “开始执行(不调试)”(快捷键Ctrl + F5),或者直接点绿色三角形按钮 ▶️。
几秒后,一个黑色窗口弹出,里面清清楚楚写着:
张三 张三 张三按任意键,窗口关闭。
✅ 恭喜!你刚刚完成了人生第一个C#练习题。不是“Hello World”,而是“张三三连”,更贴近真实练习场景——它让你立刻感受到:代码是活的,你改它,它就变。
3. 别急着往下刷:先掌握三个核心零件,它们撑起所有基础题
练习题再多,如果不知道背后这三个“零件”怎么配合,你永远在靠死记硬背。我们用一道典型题来拆解:“输入两个数字,程序算出它们的和,并显示结果”。这题看着简单,但包含了C#最基础、最高频的三个动作:接收输入、存储数据、输出结果。搞懂它们,后面90%的练习题你都能自己推出来。
3.1 零件一:Console.ReadLine()—— 让程序“听”你说话
你不能指望电脑自动猜你想输啥。Console.ReadLine()就是那个“麦克风”:它暂停程序,等你键盘输入,回车后,就把你打的字变成一串字符(string)交给你。
Console.WriteLine("请输入第一个数字:"); string input1 = Console.ReadLine();注意:
input1是你给这串字符起的名字(叫“变量”),string是告诉电脑:“这玩意儿是文字,不是数字”。这里有个关键细节:你输的是“123”,电脑收到的是字符'1','2','3',不是数学里的数字123。所以不能直接拿来加减——这就是下一个零件要解决的。
3.2 零件二:int.Parse()—— 把“文字数字”变成“真数字”
int.Parse()是个“翻译官”,专门把像"123"这样的字符串,翻译成整数123,这样你才能做加减乘除。
int num1 = int.Parse(input1); // 把字符串"123"变成整数123⚠️ 警告:如果用户输了个“abc”,
int.Parse()会直接崩溃报错(叫“异常”)。新手练习阶段先不管它,专注逻辑;等你跑通10道题后,再学int.TryParse()这个“防崩溃版翻译官”。
3.3 零件三:Console.WriteLine()的升级用法——带变量的句子
前面只用了WriteLine("张三"),其实它还能把变量“塞”进句子里,让输出更自然:
int sum = num1 + num2; Console.WriteLine("两个数的和是:" + sum); // 或者用更清晰的写法(推荐新手用这个): Console.WriteLine($"两个数的和是:{sum}");
{sum}这种写法叫“插值字符串”,花括号里直接写变量名,系统自动把它替换成值。比用+拼接更不容易出错,也更好读。
把这三块拼起来,就是完整练习题代码:
using System; namespace MyFirstPractice { class Program { static void Main(string[] args) { Console.WriteLine("请输入第一个数字:"); string input1 = Console.ReadLine(); int num1 = int.Parse(input1); Console.WriteLine("请输入第二个数字:"); string input2 = Console.ReadLine(); int num2 = int.Parse(input2); int sum = num1 + num2; Console.WriteLine($"两个数的和是:{sum}"); Console.ReadKey(); } } }运行它,输入5和7,结果就是两个数的和是:12。你亲手组装了一个“计算器雏形”。这种“零件组合”的思维,比死记某道题答案重要十倍。
4. 新手必踩的5个坑:我当年翻车现场,现在全给你标好雷区
刚上手时,90%的“程序不运行”“结果不对”都不是逻辑问题,而是几个固定姿势没摆对。我把最常被卡住的5个点列出来,每一条都按“你看到什么 → 为什么这样 → 怎么一秒修好”来写,照着做,省下至少3小时无效折腾。
4.1 现象:程序一闪而过,什么都没看见
原因:忘了写Console.ReadKey();,或者写在了Main方法外面(比如写在了class Program { }大括号外面)
解决:检查最后一行是不是Console.ReadKey();,并且确保它和前面的Console.WriteLine()一样,缩进对齐,位于static void Main(...)的大括号{ }里面。复制粘贴下面这行,粘在倒数第二行(Console.ReadKey();上面)就行:
Console.ReadKey();4.2 现象:输入数字后报错,红色提示里有System.FormatException
原因:用户输入了非数字(比如空格、字母、中文),int.Parse()拒绝翻译
解决:练习阶段,先养成习惯——每次输入时,只敲阿拉伯数字,不敲空格、不敲回车两次、不敲中文。等你熟悉了,再学TryParse。现在,就当它是条铁律:“输数字,只输数字”。
4.3 现象:改了代码,运行还是旧结果
原因:Visual Studio 没重新编译,还在运行上次的旧版本
解决:按Ctrl + Shift + B(编译快捷键),看右下角状态栏是否出现“生成: 成功”。成功后再按Ctrl + F5运行。或者更简单:直接关掉当前运行窗口,再点绿色三角形 ▶️,它会自动重新编译。
4.4 现象:Console.WriteLine拼错了,比如写成Writeline(少个L)或Console.WritleLine(拼错)
原因:C# 对大小写和拼写极其敏感,错一个字母就不认识
解决:把光标放在WriteLine上,按Ctrl + 空格,会弹出智能提示列表,正确项是WriteLine(String),选中它按回车,自动补全。以后所有Console.开头的方法,都用这招,永不拼错。
4.5 现象:中文乱码,比如显示“???”或方块
原因:文件编码不是UTF-8,或者控制台字体不支持中文
解决:在 Visual Studio 里,点击顶部菜单“文件” → “高级保存选项”→ 编码选“UTF-8”→ 点确定。然后关掉当前文件,重新打开。如果还有问题,在代码最开头加一行:
Console.OutputEncoding = System.Text.Encoding.UTF8;放在Main方法第一行,紧挨着{后面。
5. 从第1题到第10题:一份新手友好型练习路线图,每一步都踩在“能立刻验证”的节奏上
别一上来就挑战“学生成绩管理系统”这种大词。真正的入门,是用一组由浅入深、每道题都能在5分钟内跑通、且结果肉眼可见的小任务,把你从“不敢动键盘”带到“我试试能不能改成这样”。下面是我按真实教学反馈打磨出的前10题路线,不求多,但求每一道你做完都心里有底。
| 序号 | 练习题目标 | 关键技能点 | 为什么这题不可跳过 |
|---|---|---|---|
| 1 | 打印三遍自己的名字(已练) | WriteLine,ReadKey | 建立“写→运行→看结果”最短闭环,破除恐惧 |
| 2 | 输入一个数字,打印它的2倍、3倍、4倍 | ReadLine,int.Parse,*运算符 | 第一次把“输入→处理→输出”串起来,感受数据流动 |
| 3 | 输入两个数字,比较谁更大,输出“X比Y大” | if语句,>比较符 | 引入“判断分支”,程序开始有“脑子”了 |
| 4 | 用for循环打印1到10 | for(int i=1; i<=10; i++) | 理解循环三要素:初始值、条件、步进,告别重复粘贴 |
| 5 | 输入一个数字N,打印1到N的所有奇数 | for+%取余运算(i % 2 == 1) | 学会用数学运算做逻辑筛选,是算法思维萌芽 |
| 6 | 创建一个数组,存3个同学名字,逐个打印 | string[] names = new string[3];+for遍历 | 理解“容器”概念,为后续处理批量数据打基础 |
| 7 | 输入5个数字,找出最大值 | 数组 +for+if嵌套 | 综合运用前三题技能,体会“小模块拼大功能” |
| 8 | 写一个方法SayHello(string name),调用它三次 | static void SayHello(string name)+ 方法调用 | 理解“封装”:把重复逻辑打包,想用就喊一声 |
| 9 | 输入一个年份,判断是否为闰年(能被4整除但不能被100整除,或能被400整除) | 复杂if条件(&&, ` | |
| 10 | 用while循环实现“猜数字”:程序随机想一个1-10的数,用户猜,直到猜中 | Random类,while(true)+break | 掌握另一种循环,理解“不确定次数”的处理范式 |
我第一次带A同学学的时候,他卡在第3题整整两天,反复问“if括号里到底写啥”。后来我让他先不管语法,只做一件事:在纸上画两个格子,一个写“小明年龄”,一个写“小红年龄”,然后问:“如果小明年龄 > 小红年龄,就写‘小明更大’,否则写‘小红更大’”。他画完,再回头看代码,突然就笑了:“哦,原来就是把纸上的字,换成电脑能懂的符号啊。”
从那以后我每次教新同学,都强制走一遍“先纸上画逻辑,再转代码”的流程。哪怕多花5分钟,换来的是后面10道题不再问“为什么”,而是直接问“我这样写对吗”。希望帮到你。
本文还有配套的精品资源,点击获取