c#语言基础练习100题
时间: 2025-04-07 12:00:55 浏览: 68
以下是基于 C# 的基础练习题目集合,涵盖了数组操作、循环结构、面向对象编程等多个方面。这些题目可以帮助初学者巩固基础知识并提升实际编码能力。
---
### 题目列表
#### 数组与循环
1. 编写一个程序,输入三个整数并按从小到大的顺序输出它们[^1]。
2. 实现一个函数 `FindNumbersWithCondition`,找出指定范围内的所有满足条件的三位数(如水仙花数)。
3. 使用 `while` 循环实现判断某个范围内所有的水仙花数,并打印出来[^2]。
4. 创建一个二维数组,初始化为随机值,并计算其行列平均值。
5. 输入一组数字,统计其中正数、负数和零的数量。
#### 字符串处理
6. 编写一段代码,反转字符串中的字符顺序。
7. 判断给定字符串是否为回文字符串(忽略大小写和空格)。
8. 将一个句子拆分为单词,并统计每个单词出现的次数。
9. 替换字符串中的特定子串为另一个子串。
10. 计算两个字符串之间的最长公共前缀。
#### 条件语句与逻辑运算
11. 编写一个简单的计算器程序,支持加减乘除四种基本运算。
12. 判断某一年份是否为闰年。
13. 根据用户输入的成绩等级(A-F),输出对应的分数区间。
14. 设计一个猜数字游戏,提示用户输入直到猜测正确为止。
15. 编写一个程序,模拟石头剪刀布的游戏过程。
#### 函数与方法
16. 定义一个求阶乘的方法 `Factorial(int n)` 并测试。
17. 编写一个递归函数来计算斐波那契数列的第 N 项。
18. 实现冒泡排序算法,对整型数组进行升序排列。
19. 编写快速排序算法,用于对任意类型的数组进行排序。
20. 构造一个通用交换函数,可以交换两种不同数据类型的变量值。
#### 类与对象
21. 定义一个人类 `Person`,包含姓名、年龄属性以及打招呼的方法 `SayHi()`[^4]。
22. 扩展上一题的人类,增加继承关系,派生出学生类 `Student` 和教师类 `Teacher`。
23. 调用基类构造器,在派生类中重写虚方法[^3]。
24. 实现抽象类的功能,设计一个多态场景下的方法调用。
25. 使用接口定义多个类的行为规范,并验证其实现。
#### 文件读写
26. 编写一个程序,将用户的输入保存到文件中。
27. 从文件中读取内容,并逐行显示在控制台上。
28. 复制一个文本文件的内容到另一个新文件中。
29. 统计文本文件中的总字数、行数和单词数量。
30. 过滤掉文件中的敏感词,并生成一个新的净化版本。
#### 异常处理
31. 捕获并处理除法运算中的被零除异常。
32. 在文件读写过程中加入异常捕获机制,防止路径错误等问题。
33. 自定义一种异常类型,并在适当位置抛出该异常。
34. 测试多种可能发生的异常情况,记录日志以便后续分析。
35. 结合数据库访问操作,演示如何优雅地处理 SQL 查询失败的情况。
#### LINQ 与集合
36. 使用 Lambda 表达式筛选出列表中大于某一阈值的所有元素。
37. 对 List<T> 中的数据按照某种规则分组并汇总结果。
38. 查找 Dictionary<K,V> 中键值最大的条目及其对应值。
39. 合并两个有序数组成新的有序数组。
40. 应用 LINQ 查询语法完成复杂查询任务。
#### 线程与并发
41. 创建多线程环境,分别执行不同的独立任务。
42. 使用锁机制保护共享资源免受竞争条件影响。
43. 展示异步编程模型的优势,通过 Task 或 async/await 关键字实现。
44. 设置定时器触发事件,每隔固定时间间隔运行一次回调函数。
45. 解决生产者消费者问题,利用队列协调两者的工作节奏。
#### 图形界面开发
46. 开发一个简易窗口应用程序,允许用户点击按钮改变背景颜色。
47. 添加菜单栏功能至 GUI 工具集中,提供退出选项。
48. 显示动态进度条控件,反映后台耗时工作的进展状态。
49. 接收键盘快捷键指令,响应相应的 UI 动作。
50. 整合图表库绘制折线图展示统计数据变化趋势。
...
由于篇幅有限,仅列举部分典型题目作为示范。如果需要完整的百道练习题清单,请进一步说明需求!
---
### 示例代码片段
以下是一个简单例子——判断水仙花数:
```csharp
static void Main(string[] args)
{
int a = 100;
while (a <= 999)
{
int q = (int)(a / 100 % 10);
int c = (int)(a / 10 % 10);
int d = (int)(a % 10);
if (q * q * q + c * c * c + d * d * d == a)
Console.WriteLine($"这是一个水仙花数为: {a}");
a++;
}
}
```
---
阅读全文
相关推荐


















