- 相关推荐
asp.net基础笔试题全解完整答案
在平时的学习、工作中,我们最少不了的就是试题了,通过试题可以检测参试者所掌握的知识和技能。什么样的试题才是好试题呢?以下是小编为大家收集的asp.net基础笔试题全解完整答案,希望对大家有所帮助。

asp.net基础笔试题全解完整答案 1
1.面向对象的思想主要包括什么?
对向对象程序设计(OOP)思想:封装、继承、多态
封装:用抽象的数据类型将数据和基于数据操作封装在一起,数据被保护在抽象类型内部。
继承:子类拥有父类的所有数据和操作。
多态:一个程序中同名的不同方法共存的情况。 有两种形式的多态:重载与重写。
2.什么是ASP.net中的用户控件?
用户控件就是.ascx,复合控件就是.DLL
3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
应用程序域:一种边界,它由公共语言运行库围绕同一应用程序范围内创建的对象建立。
受管制的代码:受管制的代码是在CLR虚拟机中运行的代码。
强类型系统: C# 是强类型语言;因此每个变量和对象都必须具有声明类型。
装箱和拆箱:
装箱就是隐式的将一个值型转换为引用型对象。比如:
int i=0;
Syste.Object obj=i;
这个过程就是装箱!就是将i装箱!
拆箱就是将一个引用型对象转换成任意值型!比如:
int i=0;
System.Object obj=i;
int j=(int)obj;
这个过程前2句是将i装箱,后一句是将obj拆箱!
值型就是在栈中分配内存,在申明的同时就初始化,以确保数据不为NULL;
引用型是在堆中分配内存,初始化为null,引用型是需要GARBAGE COLLECTION来回收内存的,值型不用,超出了作用范围,系统就会自动释放!
重载:类中的方法名相同,但参数的个数或类型不同
CTS(Common Type System)(通用类型系统) :描述了类型的定义和行为。
CLS( Common Language Specification) 通用语言规范
CLR ( Common Language Runtime ) 通用语言运行时
4.列举一下你所了解的XML技术及其应用
xml可以用来做网页(xslt) xml可以当作数据库
5.值类型和引用类型的区别?写出C#的样例代码。
值类型存在内存栈里面,引用类型存在内存堆里面
int i = 10; //值类型变量
class a = new class(); //定义类 引用类型
6.ADO.net中常用的对象有哪些?分别描述一下。
DataSet对象:表示内存中数据的缓存,可以把它想像成一个临时的数据库,它里可以存多个表
DataTable:而且是断开式的,不用每进行一次操作就对数据库进行更新,从而提高了效率。
DataReader对象:它与DataSet最大的'不同是有连接式的,每次对数据库进行存取都会影响到数据库。
Connection对象:用于连接数据库的对象,表示到数据源的一个唯一的连接。
Command对象:表示要对数据库执行的一个SQL语句或一个存储过程。
DataAdapter对象:该对象是与DataSet配合使用的对象,用于把表填充到DataSet,和更新DataSet等
7.如何理解委托?
委托可以理解为函数指针
把方法或者函数包装成一个对象引用,然后就可以作为参数传递。
8.C#中的接口和类有什么异同。
接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念!
而类是负责功能的具体实现!
9.。net中读写数据库需要用到哪些类?他们的作用?
1、DataSet 用来无连接的储存多个表的数据,并包含表与表之间的关联关系
2、DataTable 用来存储一个表的数据
3、SqlConnection 用来创建一个到数据库的连接
4、SqlCommand 用来执行SQL语句
5、SqlDataReader 用来顺序读取数据
6、SqlDataAdapter 用来将数据填充到DataSet或DataTable
10.UDP连接和TCP连接的异同。
前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连接.
11.ASP.net的身份验证方式有哪些?分别是什么原理?
Asp.net的身份验证有有三种,分别是”Windows | Forms | Passport”验证,WINDOWS一般在做企业内部OA的时候用的多一些,FORM一般是做网站用的多他是采用COOKIE机制来实现的,PASSPORT是微软提供的一个WEBSERVICE。
12.进程和线程分别怎么理解?
进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性高。
线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
13.什么是code-Behind技术。
简单的说就是代码分离技术,也就是.net中的HTML代码和程序代码分别位于不同的文件,
14.活动目录的作用。(答案不全 不好总结)
活动目录是Windows平台的一个核心的部件,活动目录服务提供了一种管理组成网络环境的各种对象的标志和关系的方法。
15..net中读写XML的类都归属于哪些命名空间?(不全 看功能而定)
SYSTEM.XML、SYSTEM.DATA、System.io
16.解释一下UDDI、WSDL的意义及其作用。
UDDI:统一描述、发现和集成协议(UDDI, Universal Description, Discovery and Integration)是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准。UDDI提供了一组基于标准的规范用于描述和发现服务,还提供了一组基于因特网的实现。
WSDL:描述Web服务的公共接口。这是一个基于XML的关于如何与Web服务通讯和使用的服务描述
17.什么是SOAP,有哪些应用。
SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。
18.如何理解.net中的垃圾回收机制。
NET Framework 的垃圾回收器管理应用程序的内存分配和释放。每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并执行必要的操作来回收它们占用的内存。
19.常用的调用webservice方法有哪些?
vs.net里选择添加web引用
20.C#中区别多态、重载、重写的概念和语法结构2008年04月26日 星期六 18:11重写是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override。
格式:
基类中:
public virtual void myMethod()
{
}
子类中:
public override void myMethod()
{
}
重写以后,用基类对象和子类对象访问myMethod()方法,结果都是访问在子类中重新定义的方法,基类的方法相当于被覆盖掉了。
重载
用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳函数成员来实施调用。
public void test(int x,int y){}
public void test(int x,ref int y){}
public void test(int x,int y,string a){}
重载特征:
I.方法名必须相同
II.参数列表必须不相同,与参数列表的顺序无关
III.返回值类型可以不相同
=========================
但如果有泛型,就要注意了!
多态
c#的多态性主要体现在类的继承上:
子类继承父类的时候,可能出现同名但方法定义不同的情况,
所以在子类中会将原方法覆盖,实现自身的要求.
using System;
class Employee
{
virtual public void CalculatePlay()
{
Console.WriteLine(“Employee”);
}
};
class SalariedEmployee: Employee
{
override public void CalculatePlay()
{
Console.WriteLine(“Salary”);
}
};
class PolyApp
{
public static void Main()
{
Employee baseE1 = new Employee();
baseE1.CalculatePlay();
Employee baseE2 = new SalariedEmployee();
baseE2.CalculatePlay();
SalariedEmployee s = new SalariedEmployee();
s.CalculatePlay();
}
};
asp.net基础笔试题全解完整答案 2
1.编写my_strcpy函数,实现与库函数strcpy类似的功能,不能使用任何库函数;
答:char *strcpy(char *strDest, const char *strSrc)
{
if ( strDest == NULL || strSrc == NULL)
return NULL ;
if ( strDest == strSrc)
returnstrDest ;
char *tempptr = strDest ;
while( (*strDest++ = *strSrc++) != ‘’);
returntempptr ;
}
2. 头文件中的ifndef/define/endif的作用?
答:防止该头文件被重复引用。
3. #i nclude与#i nclude “file.h”的区别?
答:前者编译器从标准库路径开始搜索file.h,而后者编译器从用户的工作路径开始搜索file.h。
4. 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern“C”?
答:extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,其声明的函数和变量可以在本模块或其它模块中使用。
通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。
5. 面向对象的三个基本特征,并简单叙述之?
答:1)封装:将客观事物抽象成类,每个类对自身的数据和方法实行protection(private, protected,public)
2)继承:实现继承(指使用基类的属性和方法而无需额外编码的能力)、可视继承(子窗体使用父窗体的外观和实现代码)、接口继承(仅使用属性和方法,实现滞后到子类实现)。
3)多态:允许将子类类型的指针赋值给父类类型的`指针。
6. 重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别?
答:从定义上来说:
重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
重写:是指子类重新定义复类虚函数的方法。
从实现原理上来说:
重载:编译器根据函数不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数。
重写:当子类重新定义了父类的虚函数后,父类指针根据赋给它的不同的子类指针,动态的调用属于子类的该函数,这样的函数调用在编译期间是无法确定的(调用的子类的虚函数的地址无法给出)。
7. 多态的作用?
答:主要是两个:1)隐藏实现细节,使得代码能够模块化;扩展代码模块,实现代码重用;2)接口重用,为了类在继承和派生的时候,保证使用家族中任一类的实例的某一属性时的正确调用。
8. 分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句。
答:BOOL :if ( !a ) or if(a)
int :if ( a ==0)
float :const EXPRESSION EXP = 0.000001
if ( a < EXP && a >-EXP)
pointer : if ( a != NULL) or if(a == NULL)
9. 请说出const与#define 相比,有何优点?
答案:1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。
2) 有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。
10.简述数组与指针的区别?
数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。
(1)修改内容上的差别
char a = “hello”;
a[0] = ‘X’;
char *p = “world”; // 注意p 指向常量字符串
p[0] = ‘X’; // 编译器不能发现该错误,运行时错误
(2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的是一个指针变量的字节数,而不是p 所指的内存容量。C++/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。注意当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
char a = “hello world”;
char *p = a;
cout< cout< 计算数组和指针的内存容量
voidFunc(char a[100])
{
cout< }
【asp.net基础笔试题全解完整答案】相关文章:
CAD基础试题「附答案」06-23
java基础笔试题及答案10-18
2023年ps基础试题及答案07-06
管理学基础试题及答案08-27
护理学基础试题及答案08-14
计算机基础试题及答案10-10
文秘基础知识试题及答案08-02
管理学基础试题及答案09-18