程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#網絡應用編程基礎練習題與答案(三)

C#網絡應用編程基礎練習題與答案(三)

編輯:關於C語言
1. 編寫一個控制台應用程序,完成下列功能。

  1) 創建一個類,用無參數的構造函數輸出該類的類名。

  2) 增加一個重載的構造函數,帶有一個string類型的參數,在此構造函數中將傳遞的字符串打印出來。

  3) 在Main方法中創建屬於這個類的一個對象,不傳遞參數。

  4) 在Main方法中創建屬於這個類的另一個對象,傳遞一個字符串“This is a string.”。

  5) 在Main方法中聲明類型為這個類的一個具有5個對象的數組,但不要實際創建分配到數組裡的對象。

  6) 寫出運行程序應該輸出的結果。

  【解答】

  using System;
  class Test1
  {
  public Test1()
  {
  Console.WriteLine(this);
  }
  public Test1(string str)
  {
  Console.WriteLine(str);
  }
  public static void Main()
  {
  Test1 t1 = new Test1();
  Test1 t2 = new Test1("This is a string.");
  Test1[] t3 = new Test1[5];
  }
  }

  輸出結果:

  Test1

  This is a string.

  2. 編寫一個控制台應用程序,定義一個類MyClass,類中包含有public、private以及protected數據成員及方法。然後定義一個從MyClass類繼承的類MyMain,將Main方法放在MyMain中,在Main方法中創建MyClass類的一個對象,並分別訪問類中的數據成員及方法。要求注明在試圖訪問所有類成員時哪些語句會產生編譯錯誤。

  【解答】

  using System;
  class MyClass
  {
  public int i;
  private int j;
  protected int k;
  public void method1()
  {
  Console.WriteLine("public method.");
  }
  private void method2()
  {
  Console.WriteLine("private method.");
  }
  protected void method3()
  {
  Console.WriteLine("protected method.");
  }
  }
  class MyMain : MyClass
  {
  public static void Main()
  {
  MyClass t = new MyClass();
  Console.WriteLine("i={0}", t.i);
  Console.WriteLine("j={0}", t.j); //會出現編譯錯誤,私有成員不允許在其它類中訪問
  Console.WriteLine("k={0}", t.k); //會出現編譯錯誤,應該創建MyMain的對象,然
  //後通過MyMain的對象訪問
  t.method1();
  t.method2(); //會出現編譯錯誤,私有的方法不允許在其它類中調用
  t.method3(); //會出現編譯錯誤,應該創建MyMain的對象,然後通過MyMain的
  //對象調用該方法
  }
  }

  3. 創建一個類包含有protected數據。在相同的文件裡創建第二個類,用一個方法操縱第一個類裡的protected數據。

  【解答】

  using System;
  class Class1
  {
  protected int i = 5;
  protected void MyMethod()
  {
  Console.WriteLine("protected method.");
  }
  }
  class Class2 : Class1
  {
  private void NewMethod()
  {
  Console.WriteLine(this.i);
  this.i += 10;
  Console.WriteLine(this.i);
  }
  public static void Main()
  {
  Class2 t = new Class2();
  t.NewMethod();
  }
  }

  4. 分別寫出下列語句執行的結果。

  1) Console.WriteLine("{0}--{0:p}good",12.34F);

  2) Console.WriteLine("{0}--{0:####}good",0);

  3) Console.WriteLine("{0}--{0:00000}good",456);

  【解答】

  12.34--1,234.00%good

  0--good

  456--00456good

  5. 編寫一個控制台應用程序,計算

  要求精度為10-8。

  【解答】

  using System;
  class Test5
  {
  public static void Main()
  {
  int n = 50;
  double x = 3;
  double s = 0;
  double a = 1;
  for (int i = 1; i <= n; i++)
  {
  a *= i;
  s += Math.Pow(-1, i + 1) * Math.Pow(x, i) / a;
  }
  Console.WriteLine("n={0},s={1:0.00000000}", n, s);
  }
  }

  6. 編寫一個控制台應用程序,接收一個長度大於3的字符串,完成下列功能

  1) 輸出字符串的長度。

  2) 輸出字符串中第一個出現字母a的位置。

  3) 在字符串的第3個字符後面插入子串“hello”,輸出新字符串。

  4) 將字符串“hello”替換為“me”,輸出新字符串。

  5) 以字符“m”為分隔符,將字符串分離,並輸出分離後的字符串。

  【解答】

  using System;
  class Test6
  {
  public static void Main()
  {
  string str = "";
  while (str.Length <= 3)
  {
  Console.Write("請輸入一個長度大於3的字符串:");
  str = Console.ReadLine();
  }
  //(1)
  Console.WriteLine("字符串的長度為:{0}", str.Length);
  //(2)
  int i = str.IndexOf('a');
  if (i > -1)
  {
  Console.WriteLine("第一個出現字母a的位置是:{0}", i);
  }
  else
  {
  Console.WriteLine("字符串中不包含字母a。");
  }
  //(3)
  string str1 = str.Insert(3, "hello"); //在第3個(初始序號為)字符前插入hello
  Console.WriteLine("插入hello後的結果為:{0}", str1);
  //(4)
  string str2 = str1.Replace("hello", "me");
  Console.WriteLine("將hello替換為me後的結果為:{0}", str2);
  //(5)
  string[] arr = str2.Split('m');
  Console.WriteLine("以m為分隔符分離後的字符串有:");
  for (int j = 0; j < arr.Length; j++)
  {
  Console.WriteLine(arr[j]);
  }
  }
  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved