当前位置:文档之家› C#程序题运行结果题

C#程序题运行结果题

三写出运行结果题(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}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();}} 星期:星期三月份:四月季节:3public class class1{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 { }public 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;0 5 0 0 5 5 True True False True}class 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("使用两个整型参数!");}}(6)using System;namespace P7_3{public class VirtualInheritSample{public static void Main(){DerivedClass c = new DerivedClass ();c.Call();}}public class BaseClass {100,0使用Params 参数!使用两个整型参数!使用Params 参数!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{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(); Derived A Derived B Base A Derived B}}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"); }}}(8)using System;class CounterDown{int val;public CounterDown(int n){val = n;}public int count(){if (val < 9)return val++;else return 0;} A1 A2 A1 A1}class NSDemo{public static void Main(){CounterDown cd1 = new CounterDown (2); int i = cd1.count(); while (i > 0){Console .Write(i + " ");i = cd1.count();}}}(9)using System;class StringDe{public void f(string s){for (int j = 0; j < s.Length; j += 2)Console .Write(s[j]);return ;}public static void Main(){string str1 = "中华人民共和国于一九四九年建立";StringDe ob = new StringDe ();ob.f(str1);}}(10)using System;class A{int x;public A(int n){x = n;}public int F(){if (x > 0)return x--;2 3 4 5 6 7 8 中人共国一四年立else return 0;}}class Test{static void Main(){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;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; }81 64 49 36 25 16 9 4 1 y=5class test{static void Main(){int a = 6, b = 8;MyTest app = new MyTest ();app.swap(ref a, ref b);Console .WriteLine("a={0} b={1}", a, b);}}四 改错题(1) 要求程序的运行结果为:using 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)要求程序的运行结果为:7913a=8 b=65103using 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);}}答:●在静态构造函数中不能访问实例字段,“x = 5;”应删除;●静态字段只能通过类名来访问,“Console.WriteLine(p.z);”应改为“Console.WriteLine(Program.z);”(3)要求程序的运行结果为:123using System;class Programprivate 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++; }}}答:●字段“next”应该为静态字段,“private int next = 1;”应改为“static private intnext = 1;”●属性“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;}}}答:●在“B”类的“X”属性的“set”访问器中,不能访问基类的是有字段“m_x”,“base.m_x = value < 0 ? 0 : value;”应改为“base.X = value < 0 ? 0 : value;”●在“B”类的“Y”属性中,没有提供“set”访问器,应将基类中的“public abstractint 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; }}}答:●“MyClass”类应该从“Base”继承,“public class MyClass”应改为“public classMyClass : Base”●“MyClass”类的“Name ”属性没有提供set访问器,应添加“set { this._nsg =value; }”(6) 要求能通过编译internal class Base{}public class MyClass : Base{}答:●派生类“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");}}}答:●应将“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 student{public int No;private string Name;}class Test{static void Main(){student s = new student();p.No = 16; = "Tom";}}答:●“private string Name;”应改为“public string Name;”●“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("{0}\t", j, n); //Console.WriteLine("{0}\t{1}", 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 Test{static void Main(){int k;k = Console.ReadLine();if (k <= 10)k = k + 1;else if (10< k <= 20)k -= 10;else if (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)}}答:●“x = 1;”应改为“int x = 1;”●“y = 3x + 1;”应改为“int y = 3 * x + 1;”●“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);}}答:●“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);}}答:●“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);}}答:●“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();}}答:●“public F()”应改为“public void F()”(20)要求能通过编译using System;class MyTest{int x;internal int X(){get{return x;}set{x = value;}}}class test{static void Main(){MyTest p = new MyTest();p.X = 3;}}答:●“internal int X()”应改为“internal int X”(21)要求能通过编译using System;class MyTest{int[] x;public void MyTest(int n){x = new int[n];}internal int this(int i){get{return x[i];}set{x[i] = value;}}}class test{static void Main(){MyTest p = new MyTest(10);p[4] = 3;}}答:●“public void MyTest(int n)”应改为“public MyTest(int n)”●“internal int this(int i)”应改为“internal int this[int i]”(22)要求能通过编译using System;class MyTest{int[] x;public MyTest(int n){x = new int[n];}}class test{static void Main(){MyTest p = new MyTest(10);p.x[4] = 3;}}答:●“int[] x;”应改为“public int[] x;”(23)要求能通过编译using System;class MyTest{static public int x;public static MyTest(){x = 10;}}class test{static void Main(){Console.WriteLine(MyTest.x);}}答:●“public static MyTest()”应改为“static MyTest()”(24)要求能通过编译using System;struct MyTest{public static int x = 10;public MyTest() { }}class test{static void Main(){Console.WriteLine(MyTest.x); }}答:删除“public MyTest() { }”行。

相关主题