C#程序题运行结果题.doc_第1页
C#程序题运行结果题.doc_第2页
C#程序题运行结果题.doc_第3页
C#程序题运行结果题.doc_第4页
C#程序题运行结果题.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

三 写出运行结果题(1)using System;class Program static void Main() int x = 3; Console.Write(星期:); Console.WriteLine(Weekday)x); Console.Write(月份:); Console.WriteLine(Month)x); Console.Write(季节:); Console.WriteLine(Season)x); enum Weekday 未知 = -1, 星期天, 星期一, 星期二, 星期三, 星期四,星期五,星期六 enum Month 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月, 未知 = -1星期: 星期三月份: 四月季节:3 enum Season 春, 夏 = 2, 秋 = 4, 冬 = 8 (2)using System;class Program static void Main() class1 c1 = new class1(); class1.y = 5; c1.Output(); class1 c2 = new class1(); c2.Output(); public class class1050055 private static int x = 0; public static int y = x; public int z = y; public void Output() Console.WriteLine(class1.x); Console.WriteLine(class1.y); Console.WriteLine(z); (3)using System;class Program static void Main() IA ia = new B(); Console.WriteLine(0 1 2 4, ia is IA, ia is IB, ia is A, ia is A, ia is B, ia is C); public interface IA public interface IB : IA True True False Truepublic class A : IA public class B : IB public class C : B, IB (4)using System;class Program static void Main(string args) MyClass y = new MyClass(); BaseClass x = y; x.i = 100; Console.WriteLine(0, 1, x.i, y.i); class BaseClass public int i;100,0class MyClass : BaseClass public new int i;(5)using System;class Program static void Main(string args) MyClass x = new MyClass(); x.testParams(0); x.testParams(0, 1); x.testParams(0, 1, 2); class MyClass public void testParams(params int arr) Console.Write(使用Params参数!); public void testParams(int x, int y) Console.Write(使用两个整型参数!);使用Params 参数!使用两个整型参数!使用Params 参数! (6)using System;namespace P7_3 public class VirtualInheritSample public static void Main() DerivedClass c = new DerivedClass(); c.Call(); public class BaseClass public void A() Console.WriteLine(Base A); public virtual void B() Console.WriteLine(Base B); public class DerivedClass : BaseClass public new void A() Console.WriteLine(Derived A); public override void B() Console.WriteLine(Derived B); public void Call() this.A(); this.B(); (BaseClass)this).A(); (BaseClass)this).B(); (7)using System;namespace P7_6 public class SealedSample Derived ADerived BBase ADerived B public static void Main() A a = new A1(); a.Output(); a = new A2(); a.Output(); a = new A1_1(); a.Output(); a = new A1_2(); a.Output(); public abstract class A public abstract void Output(); public class A1 : A public override sealed void Output() Console.WriteLine(A1); public sealed class A2 : A public override void Output() Console.WriteLine(A2); A1A2A1A1 public class A1_1 : A1 public class A1_2 : A1 public new void Output() Console.WriteLine(A1_2); (8)using System;class CounterDown int val; public CounterDown(int n) val = n; public int count() if (val 0) Console.Write(i + ); i = cd1.count(); (9)using System;class StringDe public void f(string s) for (int j = 0; j 0) return x-; else return 0; class Test static void Main() 81 64 49 36 25 16 9 4 1 A a = new A(9); int j = a.F(); while (j 0) Console.Write(0 , j * j); j = a.F(); (11)using System;class Sumw static void Main() int x = 0, y = 0; do x = x + 1;y=5 if (x % 2 != 0) continue; y = y + 1; while (x = 10); Console.WriteLine(y=0, y); (12)using System;class MyTest public void swap(ref int x, ref int y) int temp = x; x = y; y = temp; class test static void Main() a=8 b=6 int a = 6, b = 8; MyTest app = new MyTest(); app.swap(ref a, ref b); Console.WriteLine(a=0 b=1, a, b); 四 改错题(1) 要求程序的运行结果为:7913using System;class Program static void Main() Console.WriteLine(OuterClass.x); Console.WriteLine(OuterClass.InnerClass.y); Console.WriteLine(OuterClass.inner.z); public class OuterClass public const int x = 7;public static readonly InnerClass inner ;public class InnerClass public const int y = 9; public readonly int z = 13; 答:字段“inner”没有初始化,此行应改为public static readonly InnerClass inner = new InnerClass();(2)要求程序的运行结果为:5103using System;class Program int x = 1; static int y = 2; const int z = 3; public Program() x = 5; y = 10; static Program() x = 5; y = 10; void F() x *= 2; y *= 2; static void Main() Program p = new Program(); Console.WriteLine(p.x); Console.WriteLine(Program.y); Console.WriteLine(p.z); 答:l 在静态构造函数中不能访问实例字段,“x = 5;”应删除;l 静态字段只能通过类名来访问,“Console.WriteLine(p.z);”应改为“Console.WriteLine(Program.z);”(3)要求程序的运行结果为:123using System;class Program private static void Main() Counter p = new Counter(); Console.WriteLine(p.Next); p = new Counter(); Console.WriteLine(p.Next); p = new Counter(); Console.WriteLine(p.Next); class Counter private int next = 1; public int Next() get return next+; 答:l 字段“next”应该为静态字段,“private int next = 1;”应改为“static private int next = 1;”l 属性“Next”的语法不对,“public int Next()”应改为“public int Next”(4)要求能通过编译public abstract class A private int m_x = 0; public virtual int X get return m_x; set m_x = value; public abstract int Y get; set; public class B : A private int m_y = 0; public new int X set base.m_x = value 0 ? 0 : value; public override int Y get return m_y; 答:l 在“B”类的“X”属性的“set”访问器中,不能访问基类的是有字段“m_x”,“base.m_x = value 0 ? 0 : value;”应改为“base.X = value 0 ? 0 : value;”l 在“B”类的“Y”属性中,没有提供“set”访问器,应将基类中的“public abstract int Y get; set; ”改为“public abstract int Y get; ”(5) 要求能通过编译public abstract class Base public abstract string Name get; set; public class MyClass string _nsg; public override string Name get return this._nsg; 答:l “MyClass”类应该从“Base”继承,“public class MyClass”应改为“public class MyClass : Base”l “MyClass”类的“Name ”属性没有提供set访问器,应添加“set this._nsg = value; ”(6) 要求能通过编译internal class Basepublic class MyClass : Base 答:l 派生类“MyClass”与基类“Base”的访问限制有矛盾,“internal class Base”应改为“public class Base”(7)要求程序的运行结果为:A1A2A1A1_2using System;namespace P7_6 public class SealedSample public static void Main() A a = new A1(); a.Output(); a = new A2(); a.Output(); a = new A1_1(); a.Output(); a = new A1_2(); a.Output(); public abstract class A public abstract void Output(); public class A1 : A public override sealed void Output() Console.WriteLine(A1); public sealed class A2 : A public override void Output() Console.WriteLine(A2); public class A1_1 : A1 public class A1_2 : A1 public new void Output() Console.WriteLine(A1_2); 答:l 应将“Main”函数中最后一行“a.Output();”改为“(A1_2)a).Output();”(8)要求能通过编译if (gender=1) Console.WriteLine(Girl); else; Console.WriteLine(Boy);答:“if (gender=1)”应改为“if (gender=1)”“else;”应改为“else”(9)要求能通过编译public class studentpublic int No; private string Name; class Test static void Main() student s = new student(); p.No = 16; p.Name = Tom; 答:l “private string Name;”应改为“public string Name;”l “student s = new student();”应改为“student p = new student();”(10) 要求能通过编译class EventDemo static void Main() int i; for (int i = 0; i 100; i += 3) j = i * 3 + 1; Console.WriteLine(0t, j, n); / Console.WriteLine(0t1, j, i); i += 3; 答:“int i;”应改为“int j;”(11) 要求能通过编译public class Employee public int ID; double Salary;class A static void Main() Employee e = new Employee(); e.ID = 16; e.Salary = 1286; 答:“double Salary;”应改为“public double Salary;”(12) 要求能通过编译using System;class Teststatic void Main() int k; k = Console.ReadLine(); if (k = 10) k = k + 1; else if (10 k 30) k = k * 2 - 20; Console.WriteLine(k=0 , k); 答: “k = Console.ReadLine()”应改为“k = int.Parse(Console.ReadLine();”“else if (10 k = 20)”应改为“else if (k = 20)”(13) 要求能通过编译using System;class Sumw static void Main() x = 1; do y = 3x + 1; Console.WriteLine(0 , y); x += 3; while (x 100) 答:l “x = 1;”应改为“int x = 1;”l “y = 3x + 1;”应改为“int y = 3 * x + 1;”l “while (x 100)”应改为“while (x 100);”(14)要求能通过编译using System;abstract class MyTest public double n;class test static void Main() MyTest p = new MyTest(); p.n = 10; Console.WriteLine(p.n); 答:“abstract class MyTest”应改为“class MyTest”(15) 要求能通过编译using System;sealed class MyTest public double n;class test : MyTest static void Main() test p = new test(); p.n = 20; Console.WriteLine(p.n); 答:“sealed class MyTest”应改为“class MyTest”(16) 要求能通过编译using System;static class MyTest public double n;class test static void Main() MyTest.n = 30; Console.WriteLine(MyTest.n); 答:l “public double n;”应改为“static public double n;”(17) 要求能通过编译using System;class MyTest public const double x =2.0;class test static void Main() MyTest p = new MyTest(); p.x += 5.0; Console.WriteLine(p.x); 答:l “public const double x =2.0;”应改为“public double x =2.0;”(18) 要求能通过编译using System;class MyTest public readonly double x; public MyTest() x = 8.0; class test static void Main() MyTest p = new MyTest(); p.x += 2.5; Console.WriteLine(p.x); 答:l “public readonly double x;”应改为“public double x;”(19) 要求能通过编译using System;class MyTest public F() Console.WriteLine(MyTest.F); class test static void Main() MyTest p = new MyTest(); p.F(); 答:l “public F()”应改为“public void F()”(20) 要求能通过编译using System;class MyTest int x; internal int X() get return x; set x = valu

温馨提示

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

评论

0/150

提交评论