程序设计工具与环境实验报告_第1页
程序设计工具与环境实验报告_第2页
程序设计工具与环境实验报告_第3页
程序设计工具与环境实验报告_第4页
程序设计工具与环境实验报告_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章.Net概述一.填空1.C#语言不允许(),从而避免了类型定义的混乱。2.在()状态下,C#语言不能使用指针,而是使用委托(Delegate)来模拟指针的功能。3.代码编辑器窗口主要分为3个分区,包括()、指示器边距和选定内容边距。4.在VisualStudio2008中,用户可以从安装在计算机上的本地帮助以及Internet上的()访问产品文档。5.类设计器提供了三种功能,分别是设计、()和重构类和类型。6.解决方案是一个逻辑上的容器,包含构成应用程序的()和其它文件。7.C#语言虽然从C/C++语言发展而来,但是它完全摒弃了C/C++语言中容易出错的指针和多重继承等概念,是一种()的,类型安全的语言。8.在VisualStudio2008中,使用“解决方案资源管理器”窗口来()。9.“服务器资源管理器”窗口中的每个树节点代表一个()。10.“工具箱”窗口中包含了许多(),使用户在应用程序中方便快捷地使用它们。解答:1.多重继承2.托管3.代码编辑区4.联机帮助5.可视化6.项目7.完全面向对象8.管理和监视项目9.服务器10.可用控件二.简答题1.C#语言的有何主要特点。2.C#语言的有何主要功能。3.C#集成开发环境主要有哪些窗口?4.解决方案资源管理器窗口的功能。5.服务器资源管理器窗口的功能。6.属性窗口的功能。7.工具箱窗口的功能。8.错误列表窗口的功能。9.什么是解决方案?10.解决方案和项目之间的关系。解答:1.语法简洁;面向对象;与Web紧密结合;完全的安全性和错误处理;灵活性和兼容性。2.设计Windows应用程序、设计控制台应用程序、设计ASP.NETWeb应用程序。3.解决方案资源管理器窗口、服务器资源管理器窗口、工具箱窗口、属性窗口、“类视图”窗口、代码编辑器窗口、任务列表窗口、错误列表窗口。4.使用“解决方案资源管理器”窗口来管理和监视项目。5.“服务器资源管理器”窗口负责维护数据连接,可对服务器进行管理。6.在“属性”窗口可以编辑和查看控件、项目或类的特征属性,以及在设计时查看并修改窗体设计器中被选中对象的属性和事件。7.在“工具箱”窗口中包含了许多可用控件,使用户在应用程序中方便快捷地使用使用这些控件。8.显示在编写代码、程序编译过程和程序运行时发生的错误。9.解决方案是一个逻辑上的容器,包含构成应用程序的项目和其它文件。10.包含于被包含的关系;一个解决方案可以包含一个或多个项目。六.判断1.C#语言主要面向Windows开发环境进行编程。2.C#语言完全支持面向对象编程。3..NET开发的语言无关性依赖于其它运行库的执行环境,称为COM运行库。4.C#从C/C++发展而来,但更具优势,如开发Web应用程序和NT服务等。5.C#语法简单,编程灵活,但功能有限,不适合开发Windows应用程序。6.C#拥有对.NET基类库的完全访问权,并易于访问WindowsAPI。7.VisualStudio2008是一套完整的开发工具,可轻松创建混合语言解决方案。8.在VisualStudio2008环境中,VisualBasic、C#和VisualC++分别使用不同的集成开发环境。9.在VisualStudio2008起始页中不可以打开已有的项目或创建新项目。10.“服务器资源管理器”主要对服务器的进行管理,并不负责维护数据连接。解答:1.X2.√3.X4.√5.X6.√7.√8.X9.X10.X第二章C#语言基础一.填空1.在C#语言中,每条语句都以()结束。2.在C#语言中,使用()进行单行注释。3.在C#语言中,使用()进行多行注释。4.在C#语言规定变量在使用之前必须先()后使用。5.在C#语言表达式中,可通过()改变运算符的运算顺序,使表达式更清晰易懂。6.在C#语言中,使用()关键字声明符号常量。7.在代码中,明确指示将某一数据类型转换为另一种数据类型称为()。8.在C#语言中,系统命名空间使用()关键字导入。9.10.11.将命题“a是小于正整数b的偶数”用C#表达式可以表示为()。12.循环语句“for(inti=30;i>=10;i=i-3)”的循环次数为()。13.对于do-while循环结构,当while语句中的条件表达式的值为()时结束环。14.跳转语句中的()语句用于循环结构中,表示仅从当前循环迭代中退出,然后执行下一次迭代循环。15.跳转语句中的()语句可以将程序控制直接转移到标号指定的语句。16.在C#类型转换中,不存在向()类型的隐式转换。17.已知str的值为“abcdefgh”,则表达式“str.Substring(1,3)”的值为()。18.定义方法时使用的参数是()。19.数据类型说明符用来说明方法返回值的类型,如果没有返回值,则其类型说明符应为()。20.委托声明的关键字()。解答:1.分号2.//3./**/4.声明5.()6.const7.显式转换8.using9.false10.true11.12.713.false14.continue15.goto16.char17.bcd18.形参19.void20.delegate三.读程序题1.intx,y,z; x=12;y=16;while(x!=0){ z=y%x; y=x; x=z; } 写出程序运行完后X,Y,Z的值2.inta=8,b=3,x=1,y; x+=b++; if(x>=1&&x<3)y=a+b*x; elseif(x<8&&x>=3)y=a-b%x; else y=a/b/x; 写出程序运行完后X,Y的值3.inti,x=0,y=0;for(i=5;i>=1;i--){ y=(x+1)*2;x=y; } 写出程序运行完后Y的值4.strings; StringBuildersb=newStringBuilder(); sb.Append("北运"); sb.Insert(1,"京奥"); s=sb.ToString(); s=s.Insert(s.Length,"2008"); lblShow.Text="\""+s+"\"长度为"+s.Length; 写出程序运行后文本框lblShow中的内容.5.int[]nNum={90,16,24,65,25}; intn=nNum[0]; foreach(intnTmpinnNum) { if(nTmp>n) {n=nTmp;}} Console.Write(n.ToString());6.for(inti=100;i<1000;i++) { intbai=0; intshi=0; intge=0; intbaiyushu=0; bai=i/100; baiyushu=i%100; shi=baiyushu/10; ge=baiyushu%10; if(i==bai*bai*bai+shi*shi*shi+ge*ge*ge) {Console.Write("水仙花数:"+i.ToString()+"\n");//Response.Write("水仙花数:"+i+"\n"); } } Console.ReadKey(); 写出程序运行完后屏幕上的结果显示7.intx=16;Console.WriteLine(x); inty=x>>2;Console.WriteLine(y); y=y>>2;Console.WriteLine(y); y=y>>2;Console.WriteLine(y); 写出程序运行完后屏幕上的结果显示8.intx=-16;Console.WriteLine(x); inty=x>>2;Console.WriteLine(y); y=y>>2;Console.WriteLine(y); y=y>>2;Console.WriteLine(y); 写出程序运行完后屏幕上的结果显示9.Console.WriteLine(1isint); Console.WriteLine(1isfloat); Console.WriteLine(1.0isfloat); Console.WriteLine(1.0isdouble); 写出程序运行完后屏幕上的结果显示10.inta=24,b=8;Console.WriteLine("{0}+{1}={2}",a,b,a+b); Console.WriteLine("{0}-{1}={2}",a,b,a-b); Console.WriteLine("{0}*{1}={2}",a,b,a*b); Console.WriteLine("{0}/{1}={2}",a,b,(float)a/b); 写出程序运行完后屏幕上的结果显示11.intx=23,y; if(x>0){ y=1;} else { if(x==0)y=0;elsey=-1;} Console.WriteLine("Y的值为:{0}",y); 写出程序运行完后屏幕上的结果显示12.gotoh; w:Console.WriteLine("A"); gotoe; h:Console.WriteLine("B"); gotow; e:Console.WriteLine("C"); 写出程序运行完后屏幕上的结果显示13.longx=5,i=1,p=1;while(i<=x){ p=p*i; i++;}Console.WriteLine("p={0}",p); 写出程序运行完后屏幕上的结果显示14.intd=9,x1=0,x2=1;while(d>0){ x1=(x2+1)*2;x2=x1;d--;}Console.WriteLine(x1.ToString()); 写出程序运行完后屏幕上的结果显示15.longs=0,p=1,s1,i=1,n=5;while(i<=n){ s1=1;p=1;while(p<=i) {s1=s1*p;p=p+1;} s=s+s1;i++;}Console.WriteLine("s={0}",s); 写出程序运行完后屏幕上的结果显示16.for(inti=0;i<=4;i++) { for(intj=1;j<=2;j++) { Console.WriteLine("iis{0},jis{1}",i,j); if(i+j>3)gotoa; } } a:Console.WriteLine("End"); 写出程序运行完后屏幕上的结果显示17.inti=0,s=1;do { s/=s+1;i++;}while(i<=10); Console.WriteLine("iis{0}",i); Console.WriteLine("sis{0}",s); 写出程序运行完后屏幕上的结果显示18.inti=0,s1=0,s2=0;while(i<=50){ if(i%2==0)s1+=i; else s2+=i; i++;}Console.WriteLine("s1is{0}",s1);Console.WriteLine("s2is{0}",s2); 写出程序运行完后屏幕上的结果显示19.staticintfun(intx,inty) { intz=x+y; returnz; } staticdoublefun(doublex,doubley) { doublez=x*y; returnz; } staticvoidMain(string[]args) { Console.WriteLine("theresultis:{0}",fun(3.0,4)); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示20. staticinta=0;staticintfun(intx,inty) {a=x+y; returna*a; } staticvoidMain(string[]args) { int[]arr1={1,2,3}; int[]arr2={2,4,6}; intn=0;for(inti=0;i<3;i++) { n+=fun(arr1[i],arr2[i]); } Console.WriteLine("ais:{0}",a); Console.WriteLine("nis:{0}",n); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示21. enumMonth{Januray,February=10,March} staticstringfun(Monthm) { switch(m) { caseMonth.Januray: returnString.Format("Januray={0}",(int)m); caseMonth.February: returnString.Format("February={0}",(int)m); caseMonth.March: returnString.Format("March={0}",(int)m); default: return"Month"; } } staticvoidMain(string[]args) { Console.WriteLine(fun(Month.Januray)); Console.WriteLine(fun(Month.February)); Console.WriteLine(fun(Month.March)); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示22.int[]myArray=newint[]{10,8,3,5,6,7,4,6,9}; for(intj=1;j<myArray.Length;j++) { for(inti=0;i<myArray.Length-1;i++) { if(myArray[i]<myArray[i+1]) { inttemp=myArray[i]; myArray[i]=myArray[i+1]; myArray[i+1]=temp; } } } foreach(intninmyArray) Console.Write("{0}",n); Console.ReadKey(); 写出程序运行完后屏幕上的结果显示23.inta,b=5;charc1='A'; a=c1;floatx=3;x+=b; Console.WriteLine("a={0}",a); Console.WriteLine("x={0}",x); Console.ReadKey(); 写出程序运行完后屏幕上的结果显示24.staticvoidMain(string[]args) { Console.WriteLine((0).GetType()); Console.WriteLine((0U).GetType()); Console.WriteLine((0L).GetType()); Console.WriteLine((0F).GetType()); Console.WriteLine((0D).GetType()); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示 25.staticvoidMain(string[]args) { intx=5;inty=x++; Console.WriteLine(y); y=++x; Console.WriteLine(y); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示 26.staticvoidMain(string[]args) { inta=0;intb=6;switch(b) {case1:case3:case4:case8:b=10;break; case2:case5:case6:case7:b=20;break; default: b=30;break; } Console.WriteLine(b); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示27.staticvoidMain(string[]args) { ints=0;for(inti=0;i<100;i++) { if(s>10){ break; } if(i%2==0){ s+=i; } } Console.WriteLine(s); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示28.staticvoidMain(string[]args) { for(inti=1;i<=5;i++) { for(intj=i;j<=5;j++) { Console.Write("*"); } Console.WriteLine(); } Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示29.privatestaticvoidIncrease(refintnum1,intnum2){ num1++; num2++; } staticvoidMain(string[]args) { intnum1=34;intnum2=55;Increase(refnum1,num2); Console.WriteLine(num1); Console.WriteLine(num2); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示30.staticvoidMain(string[]args) { intm=14,n=63;while(m!=n) { while(m>n) { m=m-n; } while(n>m) { n=n-m; } } Console.WriteLine(m); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示31.staticvoidMain(string[]args) {intmove=0;inty=68/8;if(y>8){ move=y/2+5;} else { inta=y; intb=6;move=a%b; } Console.WriteLine(move); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示32.staticvoidMain(string[]args) { intx=1,y,total=0;while(x<=5){ y=x*x; total+=y; x++; } Console.WriteLine(total); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示 33.staticvoidMain(string[]args) { inti=4;for(introw=1;row<=i;row++) { for(intcol=1;col<=(i-row);col++) { Console.Write(''); } for(intcol=1;col<=row;col++) { Console.Write(col); } for(intcol=row-1;col>0;col--) { Console.Write(col); } Console.WriteLine(); } Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示34.staticvoidMain(string[]args) { intn=0;doubleinc=0.075,sum=1;while(sum<=4){ sum+=(1+inc)*sum; n++; } Console.WriteLine(n); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示 35.staticintexam(intx) { intresult; if(x==0)result=1;else result=x*exam(x-1); returnresult; } staticvoidMain(string[]args) { intn=exam(5); Console.WriteLine(n); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示 36.staticvoidMain(string[]args) { for(inti=1;i<=50;i++) { if(i%3==0&&i%5==0){ Console.WriteLine(i); } } Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示37.staticvoidMain(string[]args) { intk=0;inti=1;while(i<=50){ k=2*5*i; if(k>50)break; Console.WriteLine(k); i++; } Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示38.staticvoidMain(string[]args) { intx=5;inti,j=1;for(i=1;i<x;i++) { j*=i; } Console.WriteLine(j); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示39.staticvoidMain(string[]args) { inti; stringstr=""; for(i=0;i<10;i++) { stringstrTmp=(i%3==0?1:0).ToString(); str+=strTmp; } Console.WriteLine(str); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示40.staticcharfun(chara) { charresult=''; if(a>='a'&&a<='z') result=(char)('z'-(a-'a')); elseif(a>='A'&&a<='Z') result=(char)('Z'-(a-'A')); returnresult; } staticvoidMain(string[]args) { Console.WriteLine(fun('b')); Console.WriteLine(fun('W')); Console.ReadKey(); } 写出程序运行完后屏幕上的结果显示解答:1.x=0;y=4;z=02.x=4;y=83.y=624."北京奥运2008"长度为85.906.水仙花数:153水仙花数:370水仙花数:371水仙花数:4077.164 1 08.-16-4 -1 -19.True False False True10.24+8=3224-8=1624*8=19224/8=311.的值为:112.B A C13.p=12014.153415.s=15316.iis0,jis1 iis0,jis2 iis1,jis1 iis1,jis2 iis2,jis1 iis2,jis2 End17.iis11sis018.s1is650s2is625 19.theresultis:1220.ais:9 nis:12621.Januray=0 February=10March=1122.1098766543 23.a=65x=824.System.Int32System.UInt32System.Int64System.Single System.Double25.5 726.10 27.1228.***** **** *** ** *29.3555 30.7 31.2 32.5533.1 12112321123432134.2 35.120 36.15304537.1020304050 38.2439.1001001001 40.y D四.程序题11.编写一个函数,实现求解多项式1!+2!+3!+……+N!的值,其中N!调用另外一个专门求解X!的函数完成。2.编写一个九九乘法表,要求以下三角的方式显示,即如果计算了1x2=2,就不能再出现2x1=2。3.编写程序计算,并显分别按照行列显示其计算结果。4.编写程序,可通过输入的年和月计算出当月的天数。注意闰年的条件:当年份能被400整除时为闰年;或年份能被4整除且不能被100整除时为闰年。5.使用冒泡排序对长度为10的数组{4,25,11,8,56,24,66,2,98,42}进行由小到大的排序。解答:1.staticintJieCheng(intp) { intnResult=1;for(inti=1;i<=p;i++) { nResult*=i; } returnnResult; } staticvoidMain(string[]args) { stringsInput; intn,nSum=0;Console.WriteLine("请输入正整数N:"); sInput=Console.ReadLine(); n=Convert.ToInt32(sInput); for(inti=1;i<=n;i++) { nSum+=JieCheng(i); } Console.WriteLine(nSum.ToString()); Console.ReadKey(); }2.staticvoidMain(string[]args) { //打印表头 Console.WriteLine("九九乘法表"); //打印九九表 for(inti=1;i<=9;i++) { //计算并格式化输出九九表的内容 for(intj=1;j<=i;j++) { Console.Write("{0}x{1}={2}\t",i,j,i*j); } //换行 Console.WriteLine(); } Console.ReadKey(); }3.//功能:输出矩阵 //参数: //matrixX:待打印的矩阵 //rowCount:矩阵的行数 //columnCount:矩阵的列数 privatestaticvoidoutputMatrix(int[,]matrixX,introwCount,intcolumnCount) { //如果行列数错误,则不打印矩阵 if(matrixX.Length!=rowCount*columnCount) { Console.WriteLine("行列数错误!"); return; } //打印矩阵 for(inti=0;i<rowCount;i++) { //逐一打印各行中所有元素 for(intj=0;j<columnCount;j++) { Console.Write(matrixX[i,j]+"\t"); } //换行 Console.WriteLine(); } } staticvoidMain(string[]args) { //声明一个2行3列的两维数组,用于存放矩阵A int[,]matrixA=newint[2,3]; //声明一个3行4列的两维数组,用于存放矩阵B //初始化矩阵B int[,]matrixB=newint[3,4]{{4,2,1,7},{3,6,1,0},{5,3,2,4}}; //声明一个2行4列的两维数组,用于存放矩阵A和矩阵B的乘积 int[,]matrixC=newint[2,4]; //初始化矩阵A for(inti=0;i<2;i++) { for(intj=0;j<3;j++) { matrixA[i,j]=(i+2)*(j+2)+1;} } //计算矩阵A和矩阵B的乘积 for(inti=0;i<2;i++) { for(intj=0;j<4;j++) { //初始化矩阵C matrixC[i,j]=0;//计算矩阵A和矩阵B的乘积,并把值存放在矩阵C中 for(intk=0;k<3;k++) { matrixC[i,j]+=matrixA[i,k]*matrixB[k,j]; } } } //打印矩阵A Console.WriteLine("\n********矩阵A********"); outputMatrix(matrixA,2,3); //打印矩阵B Console.WriteLine("\n********矩阵B********"); outputMatrix(matrixB,3,4); //打印矩阵C Console.WriteLine("\n********矩阵AX矩阵B********"); outputMatrix(matrixC,2,4); Console.ReadKey(); } 4.staticvoidMain(string[]args) { intyear,month,days; stringy,m; Console.WriteLine("year=?"); y=Console.ReadLine(); year=Convert.ToInt32(y); Console.WriteLine("month=?"); m=Console.ReadLine(); month=Convert.ToInt32(m); days=0;switch(month) { case1:case3:case5:case7:case8:case10:case12:days=31;break; case4:case6:case9:case11:days=30;break; case2://if(year%400==0||(year%100!=0&&year%4==0)) if(year%4==0&&year%100!=0||year%400==0)days=29;else days=28;break; default: break; } Console.WriteLine("days={0}",days); Console.ReadKey(); } 5.staticvoidMain(string[]args) { int[]myArray=newint[]{4,25,11,8,56,24,66,2,98,42}; for(intj=1;j<myArray.Length;j++) { for(inti=0;i<myArray.Length-1;i++) { if(myArray[i]>myArray[i+1]) { inttemp=myArray[i]; myArray[i]=myArray[i+1]; myArray[i+1]=temp; } } } foreach(intninmyArray) Console.Write("{0},",n); Console.ReadKey(); }六.判断1.number是C#语言数据类型。2.一个C#语言程序总是从Main()方法开始执行。3.在C#语言中,是合法的数据形式。4.赋值表达式通过赋值运算符将表达式的运算结果赋予赋值运算符左边的变量名。5.在计算表达式时,任何表达式必须从左到右依次计算。6.C#运算符优先级总的来说,一元运算符的优先级高于二元和三元运算符。7.转义符\n表示“回车符”。8.有条件赋值语句“s=(a>b)?a*a:b*b;”,若a>b,则s等于b*b。9.调用重载方法时,系统根据参数的个数和类型来选择具体的方法。10.float类型表示双精度浮点数。解答:1.X2.√3.X4.√5.X6.√7.X8.X9.√10.X第三章面向对象的程序设计一.填空1.在C#中,编译时的多态性通过()实现。2.在C#中,运行时的多态性通过()实现。3.在C#中,类型()是所有类的最终基类。4.在C#中类的继承方式称为()继承。5.在C#中支持接口的()继承。6.如果想在派生类中调用基类成员,可以使用()关键字。7.当析构函数声明包含()修饰符时,称该析构函数为外部析构函数。8.C#中的()成员提供了类的外部界面,允许类的使用者从外部进程访问。9.类的()必须与该类的名字相同,而类的其它成员名称决不能与类名相同。10.类成员中()用于定义表达式运算符,通过它对该类的实例进行运算。11.()是类中用于执行计算或其它行为的成员,它集中体现了类或对象的行为。12.一个虚拟方法的实现可以由派生类取代,取代所继承的虚拟方法的实现和过程称为()。13.当实例方法声明包含sealed修饰符时,该方法为()。14.如果实例方法声明包含sealed修饰符,则它必须也包含()修饰符。15.()是指在程序运行时获取信息的机制,这些信息包括类型本身的信息,如类的方法成员、属性成员等。16.Attribute类的()枚举值可用于类成员。17.Attribute类是一个()类,它只能作为其它类的基类,而不能被实例化。18.当属性声明包含static修饰符时,称该属性为()。19.get访问器相当于一个具有属性类型返回值的()方法。20.set访问器相当于一个具有单个属性类型值参数和()返回类型的方法。解答:1.重载2.虚成员3.object4.单一5.多重6.base7.extern8.public9.构造函数和析构函数10.运算符11.方法12.重写方法13.密封方法14.override15.反射(refection)16.ClassMember17.抽象18.静态属性19.无参数20.void二.简答题1.类的主要成员有哪些(回答五种以上)?2.构造函数的功能。3.析构函数的功能。4.虚拟方法的实质是什么。5.形参与实参的区别。6.属性的功能。7.什么是方法重载?8.什么是重写方法?9.什么是方法?10.静态成员的特征。解答:1.常量、字段(域)、方法、属性、事件、索引器、运算符、构造函数、析构函数、嵌套类型声明。2.对象的初始化。3.对象被删除时进行清理工作,如释放内存等。4.对虚拟方法的调用时在编译时决定的,而对虚拟方法的调用是在运行时决定。5.形参是声明方法时定义的参数;实参是调用方法时传入的参数。6.属性实现了良好的数据封装和数据隐藏。7.方法的重载,是指类中两个或两个以上的方法名称相同,但是参数的个数或者参数的类型不同。8.重写方法用相同的签名重写所继承的虚拟方法。9.方法是指在类的内部定义,并且可以在类或类的实例上运行的函数。10.一个静态字段只标识一个存储位置;静态函数成员不能作用于具体的实例;在成员访问中,静态成员必须通过类型访问。三.读程序题1.classMyClass { strings; staticvoidMain(string[]args) { MyClassm=newMyClass(); m.go(); Console.ReadKey(); } MyClass() { s="constructor"; } publicvoidgo() { Console.WriteLine(s); } } 写出程序运行完后屏幕上的结果显示2.classMyClass { strings; staticvoidMain(string[]args) { MyClassm=newMyClass("newstring"); m.go(); Console.ReadKey(); } MyClass() { s="constructor"; } MyClass(stringstr) { s=str; } publicvoidgo() { Console.WriteLine(s); } } 写出程序运行完后屏幕上的结果显示3.classMyClass { staticvoidMain(string[]args) { MyClassm=newMyClass(); m.go(); } MyClass() { Console.WriteLine("A"); } ~MyClass() { Console.WriteLine("B"); } publicvoidgo() { Console.WriteLine("C"); } } 写出程序运行完后屏幕上的结果显示4.classMyClass { staticvoidMain(string[]args) { ClassBc=newClassB(); } } classClassA { publicClassA() { Console.WriteLine("ClassA"); } } classClassB:ClassA { publicClassB() { Console.WriteLine("ClassB"); } } 写出程序运行完后屏幕上的结果显示5.classMyClass { staticvoidMain(string[]args) { ClassBc=newClassB(); } } classClassA { ~ClassA() { Console.WriteLine("ClassA"); } } classClassB:ClassA { ~ClassB() { Console.WriteLine("ClassB"); } } 写出程序运行完后屏幕上的结果显示 6.classMyClass { staticvoidMain(string[]args) { ClassAc=newClassB(); c.fun(); Console.ReadKey(); } } classClassA { virtualpublicvoidfun() { Console.WriteLine("ClassA"); } } classClassB:ClassA { overridepublicvoidfun() { Console.WriteLine("ClassB"); } } 写出程序运行完后屏幕上的结果显示7.classMyClass { staticvoidMain(string[]args) { ClassAc=newClassB(); c.fun(); Console.ReadKey(); } } classClassA { virtualpublicvoidfun() { Console.WriteLine("ClassA"); } } classClassB:ClassA { overridepublicvoidfun() { base.fun(); Console.WriteLine("ClassB"); } } 写出程序运行完后屏幕上的结果显示8.classMyClass { staticvoidMain(string[]args) { ClassA[]c=newClassA[2]; c[0]=newClassB(); c[1]=newClassC(); foreach(ClassAcTmpinc) { cTmp.fun(); } Console.ReadKey(); } } classClassA { virtualpublicvoidfun() { Console.WriteLine("ClassA"); } } classClassB:ClassA { overridepublicvoidfun() { Console.WriteLine("ClassB"); } } classClassC:ClassA { } 写出程序运行完后屏幕上的结果显示9.classMyClass { staticvoidMain(string[]args) { ClassA[]c=newClassA[2]; c[0]=newClassB(); c[1]=newClassC(); foreach(ClassAcTmpinc) { Console.WriteLine(cTmp.str); } Console.ReadKey(); } } abstractclassClassA { publicabstractstringstr { get; } } classClassB:ClassA { publicoverridestringstr { get{return"ClassB";} } } classClassC:ClassA { publicoverridestringstr { get{return"ClassC";} } } 写出程序运行完后屏幕上的结果显示10.classMyClass { staticvoidMain(string[]args) { ClassAc=newClassB("withstring"); Console.ReadKey(); } } classClassA { publicClassA() { Console.WriteLine("ClassA"); } publicClassA(stringstr) { Console.WriteLine("ClassA_"+str); } } classClassB:ClassA { publicClassB() { Console.WriteLine("ClassB"); } publicClassB(stringstr) { Console.WriteLine("ClassB_"+str); } } 写出程序运行完后屏幕上的结果显示解答:1.constructor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论