结构体练习
(可以理解简单版的)
结构体练习
(可以理解简单版的)
结构体函数
//1,定义
struct Position
{
public double x;
public double y;
public double z;
//把方法写进结构体里
public void PrintPositiong()
{
Console.WriteLine(x + "," + y + "," + z);
}
}
//定义一个方法,这个方法为 Position 结构体服务
static void PrintPositiong(Position p)
{
Console.WriteLine(p.x + "," + p.y + "," + p.z);
}
//2,调用
static void Main(string[] args)
{
Position zBiao;
zBiao.x = 24.5;
zBiao.y = 18.6;
zBiao.z = 6.58;
zBiao.PrintPositiong();
//PrintPositiong(zBiao);
}
two \\ represents one slash if you want to print in your window.
writeline和write的区别
write输出的不换行:
writeline换行:
\n line end
\t represents four characters:
枚举类型
枚举类型
class Program
{
//定义一个枚举类型
enum RoleType //枚举类型的名字
{
//函数–定义使用
//1法师(Mage)、2射手(Archer)、3刺客(Assassin)、4坦克(Tank)、5辅助(Suppont)、6战士(Wanrion)
Mage, Archer,Assassin,Tank,Suppont,Wanrion//枚举类型的值
}
static void Main(string[] args)
{
RoleType roleType = RoleType.Assassin;//刺客(Assassin)
Console.WriteLine();
}
}
const 关键字,用来定义了属性值后就不可发生变了,为常亮
1,循环方式
//int k = 1;
//int sum = 0;
//while (true)
//{
// sum += k*k;
// if (sum>=2000)
// {
// break;
// }
// k++;
//}
//Console.WriteLine(k-1);
2、
递归函数练习
10!的阶乘
一、用循环
//1、用循环
int result = 1;
for (int i =1; i<11;i++)
{
result *= i;
}
Console.WriteLine(result);
二、用递归
static int F(int n)
{
if (n == 1)
{
return 1;
}
int res = n * F(n - 1);
return res;
}
Console.WriteLine(F(10));
面数的重载- Overload
函数名相同,参数不同,这个叫做函数的重载(编译器通过不同的参数去识别应该调用哪一个函数)
函数名相同,参数相同,这个叫做函数的重写
类型一致
右边值所需要大小一致
Console.WriteLine("Hello World!")
using System;
namespace _001_开始
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
namespace name
{
}
int a;
int a=1;
int a,b,c;a=b=c=1;
int a=1,b=1;
类型正确
先生再赋
规则人性化使用就可以。
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int a=2;
a = a + 1;
double b, c, d; b= c = d = 0.5;
b = c + d + a;
Console.WriteLine(a);
Console.WriteLine(b);
}
}
}
还是要打字才可以 光看不行
1,定义一个方法来计算最大值
static int Max(int[] array)
{
int max = array[0];
for (int i=1;i<array.Length;i++)
{
if (array[i]>max) //判断数组是否大于max
{
max = array[i];//如果大于,则附给max
}
}
return max; //放回max (最大值)
}
////1,获取用户输入
//string str = Console.ReadLine();//获取键盘上输入的值
//string[] strArray = str.Split(" ");//使用 Split()方法进行空格分割
//int[] inArray = new int[strArray.Length];//定义一个数组
//for (int j=0;j<strArray.Length;j++)
//{
// int number = Convert.ToInt32(strArray[j]);
// inArray[j] = number;
//}
//int n = Max(inArray);
//Console.WriteLine(n);
2,计算因子
//因子是可以整除的
static int[] GetIn(int number)
{
//1,拿来计算因子的个数
int count = 0;
for (int i=1;i<number+1;i++)
{
if (number%i==0)
{
count++;
}
}
//2,创建一个对应长度的数组
int[] array = new int[count ];
int index = 0;//定义一个索引用来创建存储该数组索引的位置
for (int i=1;i<number+1;i++)
{
if (number % i == 0)
{
array[index] = i;
index++;
}
}
return array;
}
//1,获取用户输入的整数
int number = Convert.ToInt32(Console.ReadLine());
//2,定义一个数组用来接收
int[] array = GetIn(number);
//用一个foreach()方法来遍历因子
foreach (int temp in array)
{
Console.Write(temp+" ");
}
Console.WriteLine("\n1\n2\t3");
Console.WriteLine("1\n2\t3");
Console.WriteLine("1\n\t2\n3");
Console.WriteLine("1\t2\n3\n");
参数数组
1,定义方法
//定义一个普通的加法
static int Add1(int a, int b)
{
return a + b;
}
//参数数组
static int Add2(int[] array)
{
int sum = 0;
foreach (int temp in array)
{
sum += temp;
}
return sum;
}
static int Add3(params int[] array)//(params)可以传递任意个个数的参数,自动数转变为数组
{
int sum = 0;
foreach (int temp in array)
{
sum += temp;
}
return sum;
}
2,在Main方法里调用
//调用方法
int sum = Add1(2,3);
Console.WriteLine(sum);
int sum2 = Add2(new int[] { 2, 3, 4 });
Console.WriteLine(sum2);
int[] array2 = { 6, 8, 9 };//先定义一个数组
int sum3 = Add2(array2);//把数组传入方法里,在方法里进行运算,返回出来
Console.WriteLine(sum3);
int sum4 = Add3(2, 3, 4, 5);//可以直接转变数组
Console.WriteLine(sum4);
!!!Parems参教必须是形参表中的最后一个参数
return 用来结束当前函数,并把某个结果返后
Console.Write("Hi Liu");
Console.ReadLine();
Console.ReadKey();
Console : 控制台
WriteLine :写入行