您好,欢迎来到九壹网。
搜索
您的当前位置:首页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(); } }

public class class1

星期: 星期三 月份: 四月 季节:3 .

{

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();

0 5 0 0 5 5 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; }

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 {

100,0 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 {

public void A()

使用Params 参数!使用两个整型参数!使用Params 参数! .

{

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 {

.

A1 A2 A1 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; } }

.

class NSDemo {

public static void Main() {

2 3 4 5 6 7 8 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--; 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;

81 49 36 25 16 9 4 1 .

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; } }

y=5 class 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) 要求程序的运行结果为: 7 9 13

using System; class Program {

static void Main()

.

a=8 b=6 .

{

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)

要求程序的运行结果为: 5 10 3 .

using 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)要求程序的运行结果为: 1 2 3

using 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++; } } } 答:

 字段“next”应该为静态字段,“private int next = 1;”应改为“static private int

next = 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 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; } } }

.

答:

 “MyClass”类应该从“Base”继承,“public class MyClass”应改为“public class

MyClass : 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)

要求程序的运行结果为: A1 A2 A1 A1_2 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(); } }

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; p.Name = \"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}\\", j, n); // Console.WriteLine(\"{0}\{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() { }”行

.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务