C#期中复习
C#期中测试重点复习
//输入学生的学号,输出所在学院,年级,班级
Console.WriteLine("请输入您的学号:");
string student_id = Console.ReadLine();
int xy = int.Parse(student_id.Substring(4,2));
int grade = int.Parse(student_id.Substring(0,4));
int cla= int.Parse(student_id.Substring(8,2));
一、控制台输入输出
//控制台输出
Console.WriteLine("您的身高为: {0}cm", height);
//获取控制台输入的数据,并转换为int类型
int birth_month = int.Parse(Console.ReadLine());
二、判断语句
if(){
}else{
}
三、选择语句
//switch选择语句
switch (birth_month)
{
case 1:
break;
default:
break;
}
四、循环语句
for(){
continue;//跳出本次循环
break; //跳出循环
}
while(){
}
do{
}while()
//遍历操作
foreach(){
}
五、字符类型的转换及方法
Substring(4,2)方法:在字符串中从第四个元素取值,字长为2
int.Parse(string);
double.Parse(string);
int.toString();
//Split方法
string[] strs = textBox1.Text.Split(',');
//提取字符串的第4个元素,字长为2;
student_id.Substring(4,2);
//获取字符的长度
int length = name.Length;
六、数组,集合
- .ToArray()方法:转化为一个数组;
- .Distinct()方法:去重方法;
- .Select()方法:对分隔的字符进行遍历操作;
- .Split(',')方法:对输入的字符串按照逗号分隔;
- .Array.Sort(arr)方法:对数组内的数,从大到小进行排序;
//创建数组,并将控件中的内容以“,”分隔存入数组中
string[] strs = textBox1.Text.Split(',');
//逆序数组
Array.Reverse(strs);
//将数组转换为一个子字符串,每个字符串以空格间隔
string output = string.Join(" ", strs);
//字符串数组转化为整型数组
int[] nums = strs.select(int.Parse).ToArray();
//用逗号分割字符串,转为int数组
int[] nums = input.Split(',').Select(int.Parse).ToArray();
//创建一个集合
List<String> name1 = new List<String>();
//添加、删除
name1.Add(Console.ReadLine());
name1.Remove(name3);
//查找元素在List中的索引
int index = name1.IndexOf("name2");
七、案例
//输入一些整数,分别统计正数、负数、0的个数,并输出他们的和
string input = textBox1.Text;
int[] nums = input.Split(',').Select(int.Parse).ToArray();//用逗号分割字符串,转为int数组
int pos = 0, neg = 0, zero = 0;
int sum = 0;
foreach (int num in nums)
{
if (num > 0)
{
pos++;
sum += num;
}
else if (num < 0)
{
neg++;
sum -= num;
}
else
{
zero++;
}
}
label1.Text = "正数个数:" + pos + ",负数个数:" + neg + ",0的个数:" + zero + ",和:" + sum;
//判断用户输入字符串是否是回文
string input = textBox1.Text;
bool isPalindrome = true;
for (int i = 0; i < input.Length / 2; i++)
{
if (input[i] != input[input.Length - 1 - i])
{
isPalindrome = false;
break;
}
}
八、方法
//创建方法
static int Max(String str){
int max=1;
return max;
}
方法的递归
//求1+1/2!+1/3!+...+1/n!的和
static long jieChen(int n)
{
if (n == 0 || n == 1)
{
return 1;
}
else
{
return n * jieChen(n - 1);
}
}
九、类和对象
类、对象、属性、方法
//类的定义
publi class Student{ //类的定义
public string id; //属性
public void Max(){ //类的方法
}
}
//实例化对象:(声明对象)
Student stu = new Student();
//类成员的访问
stu.id="123456";
构造函数:与类名一致
set(),get()方法
class Person
{
private int _age;
public int Age
{
get { return _age; }
set
{
if (value < 0 || value > 120)
{
throw new ArgumentException("Age must be between 0 and 120.");
}
_age = value;
}
}
}
常用类
在 C#中,Math
类提供了很多常用的数学方法,以下是一些主要的:
- Math.Abs(double value):返回指定数字的绝对值。例如,
Math.Abs(-5)
返回 5 Math.Ceiling(double value)
:返回大于或等于指定数字的最小整数。例如,Math.Ceiling(4.2)
返回 5。Math.Floor(double value)
:返回小于或等于指定数字的最大整数。例如,Math.Floor(4.8)
返回 4。- Math.Round(double value):将值四舍五入到最接近的整数或指定的小数位数。例如,
Math.Round(4.5)
返回 4 和 5 之间的偶数 4;Math.Round(4.6)
返回 5。 - Math.Pow(double x, double y):返回指定数字的指定次幂。例如,
Math.Pow(2, 3)
返回 8。 - Math.Sqrt(double value):返回指定数字的平方根。例如,
Math.Sqrt(9)
返回 3。` Math.Max(int value1, int value2)
等一系列重载方法:返回两个指定数字中的较大值。例如,Math.Max(5, 8)
返回 8。 `Math.Min(int value1, int value2)
等一系列重载方法:返回两个指定数字中的较小值。例如,Math.Min(5, 8)
返回 5。