1、构成C#语言的基本元素
1.1、关键字(Keyword)-标记(Token)
1.2、操作符(Operator)-标记(Token)
1.3、标识符(Identifier)-标记(Token)
1.3.1、什么是合法的标识符
怎样阅读语言定义文档
不能是关键字,关键字前+“@”符号就可以
1.3.2、大小写规范
驼峰法:myVariable
帕斯扣法:MyVariable
变量名用驼峰法;方法名、类名用帕斯扣法
1.3.3、命名规范
要有实际意义——可读性
类的名字一定要是名词
方法一定要是动词或动词短语
1.4、标点符号-标记(Token)
1.5、文本(字面值)-标记(Token)
1.5.1、整数
int x = 2;//普通整型
long y = 3L;//长整型
1.5.2、实数
float x =3.0F;
double y = 4.0;
1.5.3、字符
char c = 'a';
1.5.4、字符串
string str = "a";
1.5.5、布尔
bool b = true;
bool b2 = false;
1.5.6、空(null)
string str = null;//
1.6、注释与空白
//行注释
//string str = null;
//块注释
/*
string str = null;
*/
2、简要介绍类型、变量与方法
2.1、初识类型(Type)
亦称数据类型(Data Type)
2.2、变量是存放数据的地方,简称"数据"
变量的声明;变量的使用
int x;
x = 100;
2.3、方法(旧称函数)是处理数据的逻辑,又称"算法"
方法的声明;方法的调用
static void Main(string[] args)
{
Calculator c = new Calculator();
int x = c.Add(2, 3);
Console.WriteLine(x);
string str = c.Today();
Console.WriteLine(str);
c.PrintSum(4, 5);
}
}
class Calculator
{
//有输入,有输出
public int Add(int a, int b)//函数头和定义
{
int result = a + b;
return result;
}
//没输入,有输出
public string Today()
{
int day = DateTime.Now.Day;
return day.ToString();
}
//有输入,没输出
public void PrintSum(int a, int b)//加上void没有返回值
{
int result = a + b;
Console.WriteLine(result);
}
}
2.4、程序=数据+算法
有了变量和方法就可以写有意义的程序了
解锁算法学习
3、算法简介
3.1、循环
class Program
{
static void Main(string[] args)
{
Calculator c = new Calculator();
c.PrintXTo1(15);
}
}
class Calculator
{
public void PrintXTo1(int x)
{
for (int i = x; i > 0; i--)
{
Console.WriteLine(i);
}
}
}
3.2、递归
class Program
{
static void Main(string[] args)
{
Calculator c = new Calculator();
c.PrintXTo1(15);
}
}
class Calculator
{
public void PrintXTo1(int x)
{
if (x == 1)
{
Console.WriteLine(x);
}
else
{
Console.WriteLine(x);
PrintXTo1(x-1);
}
}
}
3.3、计算1到100的和
class Program
{
static void Main(string[] args)
{
Calculator c = new Calculator();
int result1 = c.SumFron1ToX1(1000);
int result2 = c.SumFron1ToX2(1000);
Console.WriteLine(result1);
Console.WriteLine(result2);
}
}
class Calculator
{
public int SumFron1ToX1(int x)
{
int result = 0;
for (int i = 1; i < x+1; i++)
{
result = result + i;
}
return result;
}
public int SumFron1ToX2(int x)
{
if (x == 1)
{
return 1;
}
else
{
int result = x + SumFron1ToX2(x - 1);
return result;
}
}
public int SumFron1ToX3(int x)
{
return (1 + x) * x / 2;
}
}
4、本节作业——独立完成"汉诺塔问题"
Int16 值类型表示值介于 -32768 到 +32767 之间的有符号整数。
Int32 值类型表示值介于 -2,147,483,648 到 +2,147,483,647 之间的有符号整数。
long即Int64 值类型表示值介于 -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之间的整数。
int是32位整数
上限是 (2^31)-1
下限是 -2^31
class Program
{
static void Main(string[] args)
{
Calculator c = new Calculator();
ulong result4 = c.SolutionHanNuoTa(64);
Console.WriteLine(result4);
}
}
class Calculator
{
public ulong SolutionHanNuoTa(ulong x)
{
if (x == 1)
return 1;
//if (x == 2)
// return 3;
//if(x == 3)
//{
// return 7;
//}
else
{
ulong result = 2 * SolutionHanNuoTa(x - 1) + 1;
return result;
}
}
}