【C#面试编程题】 在C#面试中,编程题是评估候选人技术能力的重要环节,尤其对于基础较为关键。以下是一些常见的C#面试编程题目及其解析: 1. 计算 1-2+3-4+…+99-100 的结果 这个题目考察的是基本的循环和条件判断。代码通过`for`循环遍历1到100的整数,利用`flag`变量控制加减操作。初始时`flag`为1,每次循环后取反,确保偶数项前是减号,奇数项前是加号。最后累加的结果即为所求。 ```csharp using System; namespace test { class Program { static void Main(string[] args) { int i, n = 100, flag = 1, sum = 0; for (i = 1; i <= n; i++) { sum += i * flag; flag = -flag; } Console.WriteLine("1-2+3-4+…+99-100的结果为:" + sum); Console.Read(); } } } ``` 2. 把三个数按从小到大的顺序排列 此题目的目的是实现简单的冒泡排序,将输入的三个数字进行排序。代码通过两个嵌套的`for`循环实现比较和交换。外层循环遍历数组的前两个元素,内层循环则负责比较相邻元素并进行必要的交换。输出排序后的数字序列。 ```csharp using System; namespace test { class Program { static void Main(string[] args) { int[] a = new int[3]; int tmp; Console.WriteLine("请输入三个数:"); a[0] = Convert.ToInt32(Console.ReadLine()); a[1] = Convert.ToInt32(Console.ReadLine()); a[2] = Convert.ToInt32(Console.ReadLine()); for (int i = 1; i < 3; i++) for (int j = 0; j < 2; j++) { if (a[j] > a[j + 1]) { tmp = a[j]; a[j] = a[j + 1]; a[j + 1] = tmp; } } Console.WriteLine("排序后的顺序为:"); for (int i = 0; i < 3; i++) Console.Write("{0}\t", a[i]); Console.ReadLine(); } } } ``` 3. 定义一个 `Person` 类 这个题目要求创建一个简单的`Person`类,包含姓名、性别、年龄和地址四个属性。类中有两个构造函数,一个默认构造函数初始化`Person`对象为"小明"、"男"、12岁和"湘潭",另一个带有参数的构造函数允许自定义这些属性值。 ```csharp class Person { string name, sex, address; int age; public Person() { this.name = "小明"; this.sex = "男"; this.age = 12; this.address = "湘潭"; Console.Write("姓名:{0},性别:{1},年龄:{2},家庭住址:{3}", name, sex, age, address); } public Person(string name, string sex, int age, string address) { this.name = name; this.sex = sex; this.age = age; this.address = address; Console.Write("姓名:{0},性别:{1},年龄:{2},家庭住址:{3}", name, sex, age, address); } } ``` 4. 定义一个 `Student` 类是 `Person` 类的派生类并举出实例运算 这道题目要求创建一个`Student`类,它是`Person`类的子类,可能包含额外的属性,如学号或成绩。由于题目没有具体要求,我们可以简单地添加一个`studentID`属性,并创建一个实例来演示继承的概念。 ```csharp using System; namespace Test { public class Person { // Person 类的属性和构造函数 } public class Student : Person { string studentID; public Student(string name, string sex, int age, string address, string studentID) : base(name, sex, age, address) { this.studentID = studentID; Console.Write("姓名:{0},性别:{1},年龄:{2},家庭住址:{3},学号:{4}", name, sex, age, address, studentID); } } class Program { static void Main(string[] args) { Student student = new Student("小红", "女", 18, "长沙", "S001"); } } } ``` 以上四个题目涵盖了C#中的基本数据类型操作、循环、条件判断、数组操作、类和对象等基础知识,这些都是C#面试中常见的编程题类型。通过解决这些题目,可以检验候选人在实际编程场景下的解决问题的能力以及对C#语言特性的掌握程度。
剩余7页未读,继续阅读
- xiaohouzi62015-08-23不错,面试正好可以看看
- 晨书教育2020-05-23不错,非常谢谢
- 粉丝: 24
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AllSort(直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序)
- 模拟qsort,改造冒泡排序使其能排序任意数据类型,即日常练习
- 数组经典习题之顺序排序和二分查找和冒泡排序
- 基于 Oops Framework 提供的游戏项目开发模板,项目中提供了最新版本 Cocos Creator 3.x 插件与游戏资源初始化通用逻辑
- live-ai这是一个深度学习的资料
- FeiQ.rar 局域网内通信服务软件
- 172.16.100.195
- 光储并网simulink仿真模型,直流微电网 光伏系统采用扰动观察法是实现mppt控制,储能可由单独蓄电池构成,也可由蓄电池和超级电容构成的混合储能系统,并采用lpf进行功率分配 并网采用pq控制
- python编写微信读取smart200plc的数据发送给微信联系人
- 光储并网VSG系统Matlab simulink仿真模型,附参考文献 系统前级直流部分包括光伏阵列、变器、储能系统和双向dcdc变器,后级交流子系统包括逆变器LC滤波器,交流负载 光储并网VSG系