You are on page 1of 41

4

4.1
4.2
4.3
4.4
4.5
4.6
4.7

4.1

.NET
.NET

Console.WriteLine( )
ConSole.ReadLine( )
Int32.Parse()

4.1
.NET

C
C#



public:
private:
protected:
internal:
(class)(struct)

4.1


n!n

void

n!
()
return ;

4.1

[]
{

([])

4_1

double Area(double a, double b)


{
return a*b;
}

4.1
public, private,
protected private

returnMain(Main
voidint)C#

4.1
return
return
return

returnreturn

return

return

4.1
4_2
void Fun( int i )
{
switch( i )
{
case 1:Console.WriteLine( "1" );return;
case 10:Console.WriteLine( "10" );return;
case 20:Console.WriteLine( "20" );return;
case 30:Console.WriteLine( "30" );return;
}
Console.WriteLine( 1102030" );
}

4.2


4-3

4.2
Area( )

Area

a,b,

int

(private)


Area(length,width)

//Rectangle.cs
using System;
class Rectangle
{
static int Area(int a,int b)
{
return a*b;
}
static void Main()
{
int length=10;
int width=5;
int area=Area(length,width);
//Area
Console.WriteLine("length={0} width={1} area={2}",
length, width, area);
}
}

4.3

C#

4.3.1
4.3.2

4.3.1

4-4

//TestSwap.cs
using System;
class TestSwap
{
static void Main()
{
int i=2,j=5;
Console.WriteLine("MainSwap(int a,int b):");
Console.WriteLine("i={0}\tj={1}",i, j);
Swap(i,j);
Console.WriteLine("MainSwap(int a,int b):");
Console.WriteLine("i={0}\tj={1}",i, j);
}

static void Swap(int a,int b)


{
int temp;
Console.WriteLine("Swapab:");
Console.WriteLine("a={0}\tb={1}",a, b);
temp=a;
a=b;
b=temp;
Console.WriteLine("Swapab:");
Console.WriteLine("a={0}\tb={1}",a, b);
}
}

4.3.1

4.3.2


refout

4.3.2

static
void GetSumAndAverage(int a, int b, int c, ref int sum, ref double aver)
ref
{
ref
sum = a+b+c;
aver
ref
= (a+b+c)/3.0;

}

ref

int a=20, b=30, c=45;


int sum = 0;
double average = 0.0;
GetSumAndAverage(a,b,c, ref sum, ref average);
Console.WriteLine("{0}, {1}",sum,average);

4.3.2

static void GetSumAndAverage(int a, int b, int c, out int sum, out double aver)
{ out
sum
= a+b+c;

out
aver = (a+b+c)/3.0;

out
}

out
int a=20,
b=30, c=45;
int sum;
double average;

GetSumAndAverage(a,b,c, out sum, out average);


Console.WriteLine("{0}, {1}",sum,average);

4-5

//TestSwap1.cs
using System;
class TestSwap1
{
static void Main()
{
int i=2,j=5,max;
Console.WriteLine("MainSwap(ref int a,ref int b,out int c):");
Console.WriteLine("i={0}\tj={1}",i, j);
Swap(ref i, ref j, out max);
Console.WriteLine("MainSwap(ref int a,ref int b,out int c):");
Console.WriteLine("i={0}\tj={1}",i, j);
Console.WriteLine("{0}",max);
}

static void Swap(ref int a,ref int b,out int c)


{
int temp;
Console.WriteLine("Swapab:");
Console.WriteLine("a={0}\tb={1}",a, b);
temp=a;
a=b;
b=temp;
Console.WriteLine("Swapab:");
Console.WriteLine("a={0}\tb={1}",a, b);
c=(a>b)?a:b;
}
}

4.4

4-6

Fibonaccin
Fibonacci
F(n)=1
n=1n=2
F(n)=F(n-1)+F(n-2)
n>2

//MyFibonacci.cs
using System;
class MyFibonacci
{
static void Main()
{
int n;
Console.Write(": ");
n=Int32.Parse(Console.ReadLine());
Console.WriteLine("Fibonacci{0}{1} ",n,fib(n));
}

static int fib(int n)


{
if(n<=2)
return 1;
else
return (fib(n-1)+fib(n-2));
}
}

//

4.4

4-7

Hanoi

ABCAn
nAC
B

//HanoiTower.cs
using System;
class HanoiTower
{
static void Main()
{
int n;
Console.Write(": ");
n=Int32.Parse(Console.ReadLine());
hanoi('A', 'C', 'B',n);
}

static void hanoi(char from,char to,char temp,int n)


{
if(n==1)
Console.WriteLine("{0} move to {1}",from, to);
else
{
hanoi(from,temp,to,n-1);
Console.WriteLine("{0} move to {1}",from, to);
hanoi(temp,to,from,n-1);
}
}
}

4.5



refout

void f( int i ){}


void f( double i ){}
void f( ref int i ){}
void f( int i ,int j){}

4.5
refout

void f( ref int i ){}


void f( out int i ){i=0;}

4-8

//Overload.cs
using System;
public class Overload
{
static void Main()
{
char x1='a';
byte x2=4;
ushort x3=5;
int x4=6;
long x5=7L;
float x6=9.2f;
double x7=10.5;
f1(x1);
f1(x2); f1(x3); f1(x4);
f1(ref x4); f1(x5); f1(x6); f1(x7);
f2(x4,x4); f2(x4,x6); f2(x6,x4);
}

static void f1(char x)


{
Console.WriteLine("in f1(char)");
}
static void f1(byte x)
{
Console.WriteLine("in f1(byte)");
}
static void f1(int x)
{
Console.WriteLine("in f1(int)");
}
static void f1(ref int x)
{
Console.WriteLine("in f1(ref int)");
}

static void f1(long x)


{
Console.WriteLine("in f1(long)");
}
static void f1(float x)
{
Console.WriteLine("in f1(float)");
}
static void f1(double x)
{
Console.WriteLine("in f1(double)");
}
static void f2(int x,int y)
{
Console.WriteLine("in f2(int,int)");
}

static void f2(int x,double y)


{
Console.WriteLine("in f2(int,double)");
}
static void f2(double x,int y)
{
Console.WriteLine("in f2(double,int)");
}
}

4.5

class A{
static int f(int a){
return 1;
}
static double f(int a){
return 1.0;
}
static void Main(){
f(1); //
}
}

4.6

4-9

//StructMethod.cs
using System;
class StructMethod
{
static void Main()
{
Student stud;
stud.Name="";
stud.Sex='';
stud.Age=20;
stud.Addr="";
stud.Write();
}
}

struct Student
{
public string
Name;
public char Sex;
public int Age;
public string
Addr;
public void Write()
{
Console.WriteLine("{0} {1} {2} {3}",
Name,Sex,Age,Addr);
}
}

4-10
using System;
struct Student
{
string Name;
char Sex;
int Age;
string Addr;
void Write() {
Console.WriteLine("{0} {1} {2} {3}", Name, Sex, Age, Addr);
}
static void Main()
{
Student stud;
stud.Name = "";
stud.Sex = '';
stud.Age = 20;
stud.Addr = ";
stud.Write();
}
}

4.7
1cube
double3double

3
4

5Sum234

6Circle

You might also like