c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有.docx

上传人:b****3 文档编号:12714614 上传时间:2023-04-21 格式:DOCX 页数:40 大小:292.82KB
下载 相关 举报
c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有.docx_第1页
第1页 / 共40页
c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有.docx_第2页
第2页 / 共40页
c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有.docx_第3页
第3页 / 共40页
c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有.docx_第4页
第4页 / 共40页
c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有.docx

《c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有.docx》由会员分享,可在线阅读,更多相关《c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有.docx(40页珍藏版)》请在冰豆网上搜索。

c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有.docx

c#很详细学习汇报很适合初学者和深度学习的人案例讲解都有

7.30学习汇报

1.阅读了C#程序设计学习资料,总结为以下几点

2.简介与开发环境

3.简介:

C#是微软所设计的一种物件导向语言(所谓的物件导向语言1.抽象资料型态,2.封装,3.继承,4.多型,5.覆盖,6.动态连接),是一个功能很强大的整合开发环境,包含视觉化设计模式、整合除错环境、方便的程序编辑环境等等。

VisualStudio可分为三个版本,企业版、专业版以及简洁版,其中企业版与专业版是需要付费购买的,而简洁版则是免费的。

通常一般的学习者使用简洁版就好了,简洁版只是缺少一些系统分析、团队合作、以及企业报表等工具之外,其他的部分,象是视觉化设计模式、整合除错环境、方便的程序编辑环境等,都已经包括在内。

4.命令列工具:

微软的C#语言的编译器是csc.exe这个执行档,这个档案通常被安装在.NET的路径下。

可以使用「csc文件名称」的指令,编译特定的C#程序,例如用cscHello.cs指令就可以将Hello.cs编译为Hello.exe

5.视窗程序设计:

微软目前的视窗开发套件有两种,比较旧但却很成熟的一种称为WindowForms,比较新但却较少人用的一种称为WPF(WindowsPresentationFoundation)。

因为目前还有浏览器并不支持XAML语法以创建使用者界面

6.C#使用的数据库是是MS.SQL与Access数据库。

网路主要用的是TCP/IP网络基础函式库Socket,网页采用的是微软的网页服务器IIS,游戏采用的是XNA游戏开发平台

7.变量与表达式

8.简介

以下是一个完整的C#程序(Hello.cs),可以印出Hello!

usingSystem;//引用System函式库

publicclassHello//宣告类别Hello

{

publicstaticvoidMain()//类别Hello的主程序

{

Console.WriteLine("Hello!

");//印出Hello!

}}

9.变量与型态

变量是程序用来储存资料的地方,程序透过变量存取资料,并透过指定叙述(Assign)搬移资料。

C#是一个强型态的语言,每个变量都必须要指定型态,C#中常用的基本型态包含字符(char)、整数(int)、实数(float)、字符串(string)、布林(bool)等,以下是这些基本型态的一些范例。

inta=3,b=a;//整数

doublepi=3.14;//浮点数

charc='H';//字符

stringmsg="Hello!

";//字符串

boolx=true,y=false;//布林(逻辑)

stringstr="a="+a+"b="+b;

Console.Write(str);

移位运算<<的意义,代表左移,而>>则是右移的意思。

举例而言,x<<2代表将x视为位元串,并且向左移两位。

因此若x是一个值为2的整数(int),由于其二进位表达式为00000010。

所以当我们执行表达式x=x<<2后,x将会变成00001000,也就是十进制的8,请看下列范例。

intx=2;//x=00000010=2

x=x<<2;//x=00001000=8

表达式测验案例

intx=3,y=5;

x=y;

x=x<<2;

boolt=true,u=false;

boola=t&&u;//a=trueandfalse=false

boolb=t||u;//b=trueorfalse=true

boolc=!

u;//c=!

false=true

intd=x&y;//d=00010100AND00000101=00000100=4

inte=x|y;//e=00010100OR00000101=00010101=21

10.流程控制

11.简介

在结构化的程序语言中,流程控制是以判断(if,switch)与循环(for,while)为主的。

12.if语句实现平年闰年的判断

//intyear=2018;

Console.Write(“请输入年份”)

Stringmonth=console.ReadLine();

if(year%4=0&&year%100!

=0)||(year%400==0)

Console.WriteLine(year+“该年为闰年”);

elseConsole.WriteLine(year+“该年为平年”);

13.for语句

C#当中的循环语法,包含for,while,foreach等,foreach的语法则是新创造的,其使用上比for语法更方便。

for循环的语法如下所示,其中的EXP1用来设定索引变量的初值,EXP2用来判断是否应跳出循环,EXP3则是累加条件。

for(EXP1;EXP2;EXP3)

BLOCK;

举例计算从1加到100的结果,就可以利用下列程序

intsum=0;

for(inti=1;i<=100;i++)

sum+=i;

14.While语句

while循环的语法比for循环更简单,其语法如下范例所示,其中的EXP是一个逻辑判断式,用来判断是否应该离开循环。

在还没离开之前,会不断的重复执行BLOCK区块。

while(EXP)

BLOCK

举例用while实现计算从1加到100的结果,就可以利用下列程序

intsum=0;

inti=1;

while(i<=100)

{

sum=sum+i;

i++;

}

7.31学习汇报

15.阅读了C#程序设计学习资料,总结为以下几点

16.阵列

17.简介:

阵列是传统程序设计上用来存储很多个元素的资料结构。

有了阵列,我们就可以将无数的资料放入程序当中以供存取、排序或搜寻。

虽然在现代化的语言当中都会有其他更方便的容器存在,象是字典,但这些容器也通常是利用阵列所实做出来的。

18.一维阵列

∙C#当中的阵列式用中括号的方式宣告的。

举例用一个阵列存储一年当中每个月的天数,用下列程序表示。

int[]days={31,28,31,30,31,30,31,31,30,31,30,31};

∙我们可以通过循环的方式,逐一存储阵列的内容。

例如存储一年中所有月份的天数总和。

intcount=0;

for(inti=0;i<12;i++)

count+=days[i];

∙也可以用foreach语句计算天数的总和,用d变量取出每个月的天数,然后加入count中

intcount=0;

foreach(intdindays)

count+=d;

1.二维阵列

以下我们用「矩阵加法」作为范例,以说明C#二维阵列的用法。

写出矩阵的加法int[,]c=matrixAdd(a,b)

staticvoidMain(string[]args)

{

int[]a={1,2,3,4,5};

int[]b={3,3,3,3,3};

int[]c=newint[5];

for(inti=0;i

{

c[i]=a[i]+b[i];

}

int[]d=newint[5];

arrayAdd2(a,b,d);

int[]e=arrayAdd(a,b);

printArray(a);

printArray(b);

printArray(c);

printArray(d);

printArray(e);

}

staticvoidprintArray(int[]x)

{

for(inti=0;i

Console.Write(x[i]+"");

Console.WriteLine();

}

staticvoidarrayAdd2(int[]x,int[]y,int[]z)

{

for(inti=0;i

{

z[i]=x[i]+y[i];

}

}

staticint[]arrayAdd(int[]x,int[]y)

{

int[]z=newint[x.Length];

for(inti=0;i

{

z[i]=x[i]+y[i];

}

returnz;

}

2.函数

3.简介

C#分为静态函数与成员函数两类,静态函数附属于类别,呼叫时可以直接指定类别名称即可。

成员函数附属于物件,呼叫时必须透过物件变量进行呼叫。

C#参数分为两类传值参数象是int,double,char,...等,传址参数象是StringBuilder,阵列等。

4.C#的静态函数

传值参数范例,其中的square就是静态函数,其功能是将传入的数值进行平方动作后传回。

usingSystem;

classFunc1

{

publicstaticvoidMain(string[]args)

{

intx=square(5);

Console.WriteLine("x="+x);

}

publicstaticintsquare(intn)

{

returnn*n;

}}

5.函数的参数

6.阵列也可以用来作为函数的参数,由于阵列的传递采用传址的方式,因此在函数中对阵列的修改将会是永久性的修改,离开函数后并不会恢复成原先的数值。

以下范例中的add函数用来将两个二维阵列(x,y)相加,然后将结果放入z当中,print函数则是将传入的阵列x印出来。

必须注意的是,对于二维阵列而言,要取得阵列的第一维元素个数(列数),可GetLength(0),要取得阵列的第二维元素个数(行数),必须使用GetLength

(1)。

举例

staticvoidMain(string[]args)

{

sum(10);

sum(20);

sum(30);

}

staticvoidsum(intn)

{

ints=0;

for(inti=1;i<=n;i++)

{

s=s+i;

}

Console.WriteLine("s="+s);

}

8.1学习汇报

7.阅读了C#程序设计学习资料,总结为以下几点

8.物件

9.简介:

C#将资料与程序被合并成一个结构,这个结构就称为物件。

一个物件可以包含资料部分(资料成员)与函数部分(函数成员),函数成员可以对资料成员进行操作,以下是一个C#的物件范例,该范例中定义了一个人员(Person1)的结构,该结构包含两个资料成员(name,weight)与一个成员函数(checkWeight),该函数会检查人员结构的体重(weight)看看是重还是轻。

另外,还包含了一个建构函数Person1(),这个建构函数可以让使用者在建立物件时顺便将参数传入,这是物件导向的一种常见手法。

10.举例测试体重

classObject1{

publicstaticvoidMain(String[]args){

Person1p1,p2;

p1=newPerson1("大雄",50);

p2=newPerson1("胖虎",80);

p1.checkWeight();

p2.checkWeight();

p2.weight=68;

p1.checkWeight();

p2.checkWeight();

}}

classPerson1{

publicstringname;

publicintweight;

publicPerson1(stringpName,intpWeight){

name=pName;

weight=pWeight;

}

publicvoidcheckWeight()

{

Console.Write(name+"体重"+weight+"公斤,");

if(weight<70)

Console.WriteLine("很苗条!

");

else

Console.WriteLine("很稳重!

");

}

}

11.封装

12.简介:

在传统的结构化程序设计(象是C,Fortran,Pascal)当中,我们用函数来处理资料,但是函数与资料是完全区隔开来的两个世界。

然而,在物件导向当中,函数与资料被合为一体,形成一种称为物件的结构,我们称这种将函数与资料放在一起的特性为「封装」。

13.范例一:

封装--将函数与资料装入物件当中

usingSystem;

classRectangle

{

doublewidth,height;

doublearea()

{

returnwidth*height;

}

publicstaticvoidMain(string[]args)

{

Rectangler=newRectangle();

r.width=5.0;

r.height=8.0;

Console.WriteLine("r.area()="+r.area());

}

}

执行结果

r.area()=40

修改进化版,加上建构函数也叫构造函数

usingSystem;

classRectangle

{

doublewidth,height;

publicRectangle(){}

publicRectangle(doublew,doubleh)

{

width=w;

height=h;

}

publicdoublearea()

{

returnwidth*height;

}

publicstaticvoidMain(string[]args)

{

Rectangler=newRectangle(5.0,8.0);

Console.WriteLine("r.area()="+r.area());

Rectangler2=newRectangle();

r2.width=7.0;

r2.height=4.0;

Console.WriteLine("r2.area()="+r2.area());

}}

8.2学习汇报

14.阅读了C#程序设计学习资料,总结为以下几点

15.向量物件

16.简介:

案例如下

classVector

{

double[]a;

publicVector(double[]array)

{

a=newdouble[array.GetLength(0)];

for(inti=0;i

{

a[i]=array[i];

}

}

publicVectoradd(Vectorv2)

{

Vectorrv=newVector(v2.a);

for(inti=0;i

{

rv.a[i]=this.a[i]+v2.a[i];

}

returnrv;

}

publicvoidprint()

{

for(inti=0;i

{

Console.Write(a[i]+"");

}

Console.WriteLine();

}

}

classTest

{

publicstaticvoidMain(string[]args)

{

Vectorv1=newVector(newdouble[]{1.0,2.0,3.0});

Vectorv2=newVector(newdouble[]{4.0,5.0,6.0});

Vectorv3=v1.add(v2);

v1.print();

v2.print();

v3.print();

}}

17.继承

18.范例一:

矩形、圆形继承形状(Shape)

usingSystem;

classShape

{

publicdoublethick;

publicvirtualdoublearea(){return0.0;}

publicdoublevolume()

{

returnarea()*thick;

}

}

classRectangle:

Shape

{

doublewidth,height;

publicRectangle(doublew,doubleh)

{

width=w;

height=h;

thick=2.0;

}

publicoverridedoublearea()

{

returnwidth*height;

}

}

classCircle:

Shape

{

doubler;

publicCircle(doubler)

{

this.r=r;

thick=3.0;

}

publicoverridedoublearea()

{

return3.1416*r*r;

}

}

classTest

{

publicstaticvoidMain(string[]args)

{

Shapes=newShape();

Console.WriteLine("s.area()="+s.area());

Rectangler=newRectangle(5.0,8.0);

Console.WriteLine("r.area()="+r.area());

Console.WriteLine("r.volume()="+r.volume());

Circlec=newCircle

(2);

Console.WriteLine("c.area()="+c.area());

Console.WriteLine("c.volume()="+c.volume());

c.thick=5;

Console.WriteLine("c.volume()="+c.volume());

}

}

请定义「人、学生与老师」等三个类别,其中的人有「姓名、性别、年龄」三个栏位,学生另外有「学号、年级」等两个栏位,老师另外有「职等」的栏位,所有物件都有print()函数,可以将该物件的所有栏位印出。

请建立一个具有3个学生与两个老师的阵列,利用多型机制,呼叫print函数以便印出这5个人的基本资料,如下所示。

学生--姓名:

王小明,性别:

男,年龄:

20,学号:

R773122456,年级:

一年级

学生--姓名:

李小华,性别:

女,年龄:

19,学号:

R773122432,年级:

一年级

教师--姓名:

陈福气,性别:

男,年龄:

40,职等:

教授

学生--姓名:

黄大虎,性别:

男,年龄:

22,学号:

R773122721,年级:

四年级

教师--姓名:

李美女,性别:

女,年龄:

35,职等:

助理教授

解答:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespacePerson

{

/*

*请定义「人、学生与老师」等三个类别,其中的人有「姓名、性别、年龄」三个栏位,

*学生另外有「学号、年级」等两个栏位,老师另外有「职等」的栏位,所有物件都有

*print()函数,可以将该物件的所有栏位印出。

*

*请建立一个具有3个学生与2个老师的阵列,利用多型机制,呼叫print函数以便

*印出这5个人的基本资料,如下所示。

*

*学生--姓名:

王小明,性别:

男,年龄:

20,学号:

R773122456,年级:

一年级

*学生--姓名:

李小华,性别:

女,年龄:

19,学号:

R773122432,年级:

一年级

*教师--姓名:

陈福气,性别:

男,年龄:

40,职等:

教授

*学生--姓名:

黄大虎,性别:

男,年龄:

22,学号:

R773122721,年级:

四年级

*教师--姓名:

李美女,性别:

女,年龄:

35,职等:

助理教授

*/

classProgram

{

staticvoidMain(string[]args)

{

Students1=newStudent("王小明","男",20,"R773122456",1);

Students2=newStudent("李小华","女",19,"R773122432",1);

Students3=newStudent("黄大虎","男",22,"R773122721",4);

Persont1=newPerson("陈福气","男",40);

Persont2=newPerson("李美女","女",35);

Person[]list={s1,s2,t1,s3,t2};

foreach(Personpinlist)

{

p.print();

Console.WriteLine();

}}}

classPerson

{

Stringname;

Stringsex;

intage;

publicPerson(Stringname,Stringsex,intage)

{

this.name=name;

this.sex=sex;

this.age=age;

}

publicvirtualPersonprint()

{

Console.Write("姓名:

"+name+"性别:

"+sex+"年龄:

"+age);

returnthis;

}}

classStudent:

Person

{

Stringid;

intdegree;

publicStudent(Stringname,Stringsex,intage,Stringid,intdegre

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1