All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
调整Windows参数提高SQL,Server性能_mssql学习_编程技术
Asp.Net2.0中实现多任务异步页的一点提示_.net资料_编程技术
不一样的项目,不一样的PHP_php资料_编程技术
11种php编程典型安全隐患及处理_[PHP教程]
Delphi图像化的导航界面实例
PHP函数:php中rename()函数的妙用_[PHP教程]
C++类与对象概念解析
实用举例:利用PHP代码实现网页自动判断转向_php资料_编程技术
php下免费的加速器,PHP Accelerator_[PHP教程]
ASP.NET,2.0发送电子邮件中存在的问题_.net资料_编程技术
Reading number is top 10 pictures
Sora aoi in China4
一万二一支的万珂,用得真心肉疼。
Summer is most suitable for young people to travel in China6
Wild animals melee moment of life and death2
非常漂亮的泳装美女
The mother was a stay-at-home children too tired took three baby suicide
NeedWallpaper6
狗狗与主人神同步1
Hunan province aizhai super-large suspension bridge open to traffic and 4 world first2
Average female college students2
Download software ranking
Ashlynn Video5
Tram sex maniac 2 (H) rar bag3
虚拟机汉化软件
Boxer vs Yellow4
WebService在.NET中的实战应用教学视频 → 第3集
DreamWeaver8
天龙八部十二宫服务端
美女写真2
Such love down(擒爱记)
Macromedia Dreamweaver 8
delv published in(发表于) 2014/1/16 9:29:45 Edit(编辑)
C#网络应用编程基础练习题与答案(二)_[Asp.Net教程]

C#网络应用编程基础练习题与答案(二)_[Asp.Net教程]

C#网络应用编程基础练习题与答案(二)_[Asp.Net教程]

1. C#支持的数据类型有那些?与C++相比有哪些特点?

  【解答】


  C#支持的数据类型有:


  (1) 值类型


  包括:简单类型、结构类型、枚举类型。其中,简单类型又分为:整型、布尔型、字符型、浮点型、小数型。


  (2) 引用类型


  包括:对象类型、类类型、接口、元数据、字符串类型、数组。


  与C++相比,C#的主要特点有:


  1) C#语言自C/C++演变而来。但是,它是完全按照面向对象的思想来设计的,并保证了类型的安全性。


  2) C#简化了C++在类、名称空间、方法重载和异常处理等方面的使用。摒弃了C++的复杂性,使它更易用、更少出错。


  3) C#减少了C++的一些特性,不再有宏、多重继承。特别对企业开发者来说,上述功能只会产生更多的麻烦而不是效益。


  4) C#采用严格的类型安全、版本控制、垃圾收集(garbage collect)等等。所有的这些功能的目标都是瞄准了开发面向组件的软件开发。


  5) C#中不再有“::”、“.”、和“->”操作符,仅使用单个操作符“.”。


  6) C#使用统一的类型系统,摒弃了C++多变的类型系统。


  7) 在C#中,不能在类的外部定义全局函数、变量或者是常量等。所有的东西都必须封装在类中,包括实例成员或静态成员。从而使C#代码更加易读且有助于减少潜在的命名冲突。


  8) 在C#中,不能使用没有初始化的变量。从而避免了由于使用不经初始化的变量而导致的计算结果错误。


  2. C#语言中,值类型和引用类型有何不同?


  【解答】


  值类型和引用类型的区别在于,值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。


  值类型变量直接把变量的值保存在堆栈中,引用类型的变量把实际数据的地址保存在堆栈中,而实际数据则保存在堆中。注意,堆和堆栈是两个不同的概念,在内存中的存储位置也不相同,堆一般用于存储可变长度的数据,如字符串类型;而堆栈则用于存储固定长度的数据,如整型类型的数据int(每个int变量占用四个字节)。由数据存储的位置可以得知,当把一个值变量赋给另一个值变量时,会在堆栈中保存两个完全相同的值;而把一个引用变量赋给另一个引用变量,则会在堆栈中保存对同一个堆位置的两个引用,即在堆栈中保存的是同一个堆的地址。在进行数据操作时,对于值类型,由于每个变量都有自己的值,因此对一个变量的操作不会影响到其它变量;对于引用类型的变量,对一个变量的数据进行操作就是对这个变量在堆中的数据进行操作,如果两个引用类型的变量引用同一个对象,实际含义就是它们在堆栈中保存的堆的地址相同,因此对一个变量的操作就会影响到引用同一个对象的另一个变量。


  3. 结构和类的区别是什么?


  【解答】


  1) 结构是一个值类型,保存在栈上,而类是一个引用类型,保存在受管制的堆上。


  2) 对结构中的数据进行操作比对类或对象中的数据进行操作速度要快。


  3) 一般用结构存储多种类型的数据,当创建一个很多类或对象共用的小型对象时,使用结构效率更高。


  4. C#中的数组类型有何特点?


  【解答】


  1) 数组一般用于存储同一种类型的数据,包括Object类型。


  2) 数组是一种引用类型,而不是值类型。


  3) C#中除了可以有一维数组、多维数组外,还有交错型数组。


  5. C#中不同整型之间进行转换的原则是什么?


  【解答】


  在整型之间进行转换时,小范围类型可以隐式转换为大范围类型,但大范围类型转换为小范围类型时需要使用显式转换。


  6. 简述装箱和拆箱的过程。


  【解答】


  装箱是将值类型隐式地转换为object类型或者转换为由该值类型实现了的接口类型。装箱一个数值会为其分配一个对象实例,并把该数值拷贝到新对象中。拆箱是显式地把object类型转换成值类型,或者把值类型实现了的接口类型转换成该值类型。


  7. 下列写法哪些是错误的?为什么?


  1) if (nMyValue1=5) i=1;


  2) if(nMyValue2==1)i=1;


  3) int[] myInt={1,2,3};


  foreach(int test in myInt)


  {


  test++;


  Console.WriteLine(temp);


  }


  4) int[] myInt1={1,2,3};


  foreach(int test in myInt1)


  {


  Console>WriteLine(test);


  }


  【解答】


  1) 错误。if中的条件表达式结果不是布尔型。


  2) 正确。


  3) 错误一:temp没有定义。


  错误二:在foreach块内,test作为枚举成员是只读的,不能使用test++修改其值。


  4) 错误。Console后应该是点,而不应该是大于号。


  8. 错误和异常有什么区别,为什么要进行异常处理,用于异常处理的语句有哪些?


  【解答】


  错误是指在执行代码过程中发生的事件,它中断或干扰代码的正常流程并创建异常对象。当错误中断流程时,该程序将尝试寻找异常处理程序(一段告诉程序如何对错误做出响应的代码),以帮助程序恢复流程。换句话说,错误是一个事件,而异常是该事件创建的对象。


  当使用短语“产生异常”时,表示存在问题的方法发生错误,并创建异常对象(包含该错误的信息及发生的时间和位置)来响应该错误。导致出现错误和随后异常的因素包括用户错误、资源失败和编程逻辑失败。这些错误与代码实现特定任务的方法有关,而与该任务的目的无关。


  如果不进行异常处理,即不对错误做出响应,程序的健壮性就会大打折扣,甚至无法保证正常运行,所以必须要进行异常处理。


  用于异常处理的语句有:try-catch语句、try-catch-finally语句、throw语句。


  9. 编写一个控制台应用程序,输出1到5的平方值,要求:


  1) 用for语句实现。


  2) 用while语句实现。


  3) 用do-while语句实现。


  【解答】


  using System;
  using System.Collections.Generic;
  using System.Text;
  namespace outputSquareValue
  {
  class Program
  {
  static void Main()
  {
  //用for语句实现
  for (int i = 1; i <= 5; i++)
  {
  Console.WriteLine("{0}的平方值为{1}", i, i * i);
  }
  //用while语句实现
  int j = 0;
  while (j++ < 5)
  {
  Console.WriteLine("{0}的平方值为{1}", j, j * j);
  }
  //用do-while语句实现
  int k = 1;
  do
  {
  Console.WriteLine("{0}的平方值为{1}", k, k * k);
  } while (k++ < 5);
  Console.ReadLine();
  }
  }
  }


  10. 编写一个控制台应用程序,要求用户输入5个大写字母,如果用户输入的信息不满足要求,提示帮助信息并要求重新输入。


  【解答】



  using System;
  using System.Collections.Generic;
  using System.Text;
  namespace inputCapitalLetter
  {
  class Program
  {
  static void Main()
  {
  bool ok = false;
  while (ok == false)
  {
  Console.Write("请输入5个大写字母:");
  string str = Console.ReadLine();
  if (str.Length != 5)
  {
  Console.WriteLine("你输入的字符个数不是5个,请重新输入。");
  }
  else
  {
  ok = true;
  for (int i = 0; i < 5; i++)
  {
  char c = str[i];
  if (c < 'A' || c > 'Z')
  {
  Console.WriteLine("第{0}个字符“{1}”不是大写字母,请重新输入。", i + 1, c);
  ok = false;
  break;
  }
  }
  }
  }
  }
  }
  }


  11. 编写一个控制台应用程序,要求完成下列功能。


  1) 接收一个整数n。


  2) 如果接收的值n为正数,输出1到n间的全部整数。


  3) 如果接收的值为负值,用break或者return退出程序。


  4) 转到(1)继续接收下一个整数。


  【解答】



  using System;
  using System.Collections.Generic;
  using System.Text;
  namespace testOutput
  {
  class Program
  {
  static void Main()
  {
  while (true)
  {
  Console.Write("请输入一个整数(负值结束):");
  string str = Console.ReadLine();
  try
  {
  int i = Int32.Parse(str);
  if (i < 0) break;
  for (int j = 1; j <= i; j++) Console.WriteLine(j);
  }
  catch
  {
  Console.WriteLine("你输入的不是数字或超出整数的表示范围,请重新输入");
  }
  }
  }
  }
  }


  12. 编写一个控制台应用程序,求1000之内的所有“完数”。所谓“完数”是指一个数恰好等于它的所有因子之和。例如,6是完数,因为6=1+2+3。


  【解答】



  using System;
  using System.Collections.Generic;
  using System.Text;
  namespace completeNumber
  {
  class Program
  {
  static void Main(string[] args)
  {
  for (int i = 2; i <= 1000; i++)
  {
  int s = 1;
  string str = "1";
  for (int j = 2; j <= (int)Math.Sqrt(i); j++)
  {
  if (j * (i / j) == i)
  {
  if (j != i / j)
  {
  s += j + i / j;
  str += string.Format("+{0}+{1}", j, i / j);
  }
  else
  {
  s += j;
  str += string.Format("+{0}", j);
  }
  }
  }
  if (s == i) Console.WriteLine("{0}={1}", i, str);
  }
  Console.ReadLine();
  }
  }
  }





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.