欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《C#程序设计》高级程序设计.docx

    • 资源ID:12526700       资源大小:57.83KB        全文页数:19页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《C#程序设计》高级程序设计.docx

    1、C#程序设计高级程序设计C#程序设计 一、单项选择题1下面( B )是合法的变量名。 A accp5.0 B _Csharp C99s DMain2下面这段代码的输出为( A )A进入了if B进入了if,进入了else C进入了else D进入了if ,进入了else if,进入了else int year = 2046; if (year % 2 = 0) Console.WriteLine(进入了if); else if (year % 3 = 0) Console.WriteLine(进入了else if); else Console.WriteLine(进入了else); Conso

    2、le.ReadLine();3下面程序的输出结果是 ( D ) A)1 B)2 C)4.5 D)4 static void Main(string args) int a=5,b =2; float x=4.5f, y=3.0f, u; u=a/3+b*x/y+1/2; Console .WriteLine (0,u); Console.ReadLine(); 4运行下面这段代码的结果为( B )A去上课 B去上课,聚餐,逛街,睡觉 C什么都不输出 D编译出错 string day = 星期一; switch (day) case 星期一: case 星期三: case 星期五: Consol

    3、e.Write(去上课); case 星期六: Console.Write(,聚餐); case 星期日: Console.Write(,逛街); default : Console.WriteLine(,睡觉); Console.ReadLine();5分析下面这段代码,执行后count的值为( B )int i, j ,count=0;for(i=0;i4;i+) for(j=0;j0|k+0 &i+0) Console .WriteLine (0,1,2,i,j,k); Console.ReadLine(); 7若想打印如下图案,下面代码划线处应分别填入( D )。 * * *int i

    4、=1,j;while(i ) for(j=0;jb?(ac?a:c):(b); Console .WriteLine (0,d); Console.ReadLine(); 10运行下面这段代码,将( B ) static void Main(string args) int mile = 0; Run(mile); Console.WriteLine(mile); Console.ReadLine(); private static void Run( ref int mile)/ref相当于指针 mile = mile + 80; Console.WriteLine(mile); A 输出:

    5、800 B输出:800 C输出:0 D编译出错 0 800 800 11用户单击消息框(MessageBox)的按钮时的返回值是( A )类型的。 A DialogValue BDialogBox CMessageResult DDialogResult12有以下程序段,其输出结果是( C )int x=3; do Console .Write (0t,x-=2);while(-x)=0);A) 1 B)3 0 C)1 -2 D)死循环13图1-1窗体中,不包含( B )控件。 A TextBox BComboBox CPanel DButton14( A )控件用于显示多个选项卡,每个选项卡

    6、均可包含图片和其他控件。 A TabControl B GroupBox CImageList DListBox15有以下程序段,其输出结果是( C )int x=3; while(-x)=0) Console .Write (0t,x-=2);A) 不执行循环体 B)1 C)0 D)死循环16下面( )可以显示一个模式窗体。 AApplication.Run(new Form1() ); BForm1.Show( ) CForm1.ShowDialog( ) DMessageBox.Show( )17如果想建立应用程序与数据库的连接,应该使用( B )对象。A Connection BCom

    7、mand CDataReader D DataAdapter18以下叙述正确的是( D )A)do-while语句构成的循环不能用其他语句构成的循环来代替B)do-while语句构成的循环只能用break语句退出C)do-while语句构成的循环,在while 后的表达式为真时结束循环D)do-while语句构成的循环,在while 后的表达式为假时结束循环19下面的代码在执行过程中,注释标注的地方出现了异常,将显示( C )消息框。 A 执行了catch B执行了catch,执行了finally C执行了try,执行了finally D执行了finally try /.异常代码 Messag

    8、eBox.Show(执行了try); catch(Exception e) MessageBox.Show(执行了catch); finally MessageBox.Show(执行了finally); 20某超市管理系统的数据库中有一个商品信息表,若想向数据表中添加一条商品信息,应使用Command对象的( D )方法。 AExecuteScalar() BExecuteReader() CExecuteQuery() DExecuteNonQuery()21以下循环体的执行次数是( C ) A)3 B)2 C)1 D)0 static void Main(string args) int

    9、i,j; for(i=0,j=1;i 8; y = +i) Console.Write( 0 1, x-, y); Console.ReadLine(); 25使用( D )对象来向DataSet中填充数据。 AConnection BCommand CDataReader DDataAdapter26使用( )对象可以用只读的方式快速访问数据库中的数据。 ADataSet BDataReader CDataAdapter DConnection27. 以下程序的执行结果是( A ) A)4 B)2 C)1 D)0static void Main(string args) int i,j,m=

    10、0,n=0; for(i=0;i2;i+) for(j=0;j=i) m=1;n+; Console .WriteLine (0,n); Console.ReadLine(); 28从数据库读取记录我们不可能用到的方法是( C ) AExecuteScalar BExecuteReader CRead DExecuteNonQuery29有一个WinForms应用程序,在程序中已经创建了一个数据集dataSet和一个数据适配器dataAdapter,现在想把数据库中的Friends表中的数据放在dataSet中的MyFriends表中,下面( A )语句正确的。 AdataAdapter.Fi

    11、ll(dataSet, “MyFriends”); BdataAdapter.Fill(dataSet, “Friends”); CdataAdapter.Update(dataSet, “MyFriends”); DdataAdapter.Update(dataSet, “Friends”);30以下程序的执行结果是( D ) A)00010000 B)00010010 C)00000110 D)00010100static void Main(string args) int i=0,y=18,j; int a=new int8; do ai=y%2; i+; y=y/2; while(y

    12、=1); for (j = a.Length - 1; j = 0; j-) Console.Write(0,aj); Console .WriteLine (); Console.ReadLine(); 二、多项选择题 略三、填空题1控制控件是否显示的属性是 Visible 。2指定是否允许编辑文本框中的文本,设置文本框的 Text 属性。3向方法中传递参数,包括 值参数 和 引用型参数 传递两种方式。其中 引用型参数 传递需要使用 ref 关键字修饰参数。4C#中使用 using 关键字引用命名空间。5利用VS创建的窗体都是 类,用Partail 关键字标识。6若要在窗体标题栏中显示文本,

    13、应指定 Text 属性。7使用Message.Show( )方法可以显示消息框,消息框的返回值是一个 类型。8如想使控件始终保持在窗体的边缘或填充窗体,应设置该控件的 Location 属性。9MDI(多文档界面)主要由两种窗口组成: 父窗体 和 子窗体 。10窗口有两种显示方式: 窗口和 窗口。显示第一种窗口使用 方法,显示第二种窗口使用 方法。 11ADO。NET提供了两个主要组件,分别是 和 。12使用DataReader查询数据记录,通过Command对象的ExecuteReader( )方法返回一个 对象。13使用DataReader读取数据时,每次调用 方法读取一行数据。 14使用

    14、Command对象的 方法对数据进行增删改的操作。15使用DataAdapter的 方法填充DataSet,使用 方法把DataSet中修改过的数据返回给数据库。16下面程序的输出结果是 8 static void Main(string args) int a=0; a+=(a=8); Console .WriteLine(a); Console.ReadLine(); 17以下程序执行后的输出结果是 24 static void Main(string args) int data=11,13,14,15,16,17,18; int i=0,k=0; while(i7&datai%2!=0

    15、) k=k+datai; i+; Console .WriteLine (0,k); Console.ReadLine(); 简答题第3章 1.简述C#中有哪些数据类型答案:C#中的数据类型有:整数类型,字符类型,布尔类型,实数类型,结构类型,枚举类型,类,委托,数组,接口。2.简述C#中结构类型和枚举类型的声明方法答案:结构类型是由若干的“成员”组成的,数据成员称为字段,每个字段都有自己的数据类型,声明结构类型的一般格式如下:Struct 结构类型名称【字段访问修饰符】 数据类型 字段1; 【字段访问修饰符】 数据类型 字段2;. 【字段访问修饰符】 数据类型 字段n;; 其中struct是

    16、关键字,字段访问修饰符主要取值有public,private。3.简述C#中常用类的静态方法和非静态方法的差异答案:对于静态方法:只能通过类名来调用,而对于非静态方法:需通过类对象来调用。第5章 1. 简述C#中一维数组定义和初始化方法答案:定义一维数组的格式如下:数组类型【】 数组名;其中,“数据类型”为C#中合法的数据类型,“数组名”为C#中合法的标识符。一维数组的初始化有两种:动态初始化,数组类型【】 数组名 = new 数组类型【n】元素值0,元素值1,元素值2.元素值n-1,静态初始化,数组类型【】 数组名=元素值0,元素值1,元素值2.元素值n-1。2. 简述C#中二维数组定义和初

    17、始化方法答案:定义一维数组的格式如下:数组类型【,】 数组名;其中,“数据类型”为C#中合法的数据类型,“数组名”为C#中合法的标识符。一维数组的初始化有两种:动态初始化,数组类型【,】 数组名 = new 数组类型【m】【n】元素值0,0,元素值0,1,元素值0,2.元素值0,n-1,元素值1,0,元素值1,1,元素值1,2.元素值1,n-1,.元素值n-1,0,元素值n-1,1,元素值n-1,2.元素值n-1,n-1,静态初始化,数组类型【】 数组名=元素值0,0,元素值0,1,元素值0,2.元素值0,n-1,元素值1,0,元素值1,1,元素值1,2.元素值1,n-1,.元素值n-1,0,

    18、元素值n-1,1,元素值n-1,2.元素值n-1,n-1。3. 简述C#中交错数组的声明和使用方法答案:交错数组是元素为数组的数组,与多维数组类似,只是交错数组元素的维度和大小可以不同,定义如下:Int a= new int3;a0=new int5;a1=new int4;a2=new int2;交错数组的使用和二维数组的使用方式一样(确保下标不越界),例如:a12。4. 简述C#中集合的定义和使用方法答案:定义集合的语法格式如下:ArrayList 数组名 = new ArrayList(【初始容量】);5. 编写一个控制台应用程序项目Proj5-6,假设10个整数用一个一维数组存放,求其

    19、最大值和次大值using Systemnamespace Proj5_6 class program static void Main(string args)int a = 1,2,3,4,5,6,7,8,9,10,i=0,j,k;For(i;i9;i+)K=ai;For(j=i+1;j10;j+)If(aiaj)k=j;If(k!=i)t=ai;ai=ak;ak=t;Console.Write(“最大值为:0,次大值为:1”,a0,a1);Console.WriteLine();6. 编写一个控制台应用程序项目Proj5-7,用一个二维数组存放5个考生4门功课的考试成绩,求每位考生的平均成

    20、绩。using Systemnamespace Proj5_7 class program static void Main(string args)double, a = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,k=0;Int i,j;For(i=0;i5;i+)For(j=0;j4;j+)K+=aij;Console.Write(“第0为同学的平均分数为:1”,i,k/4);Console.WriteLine();第6章 1.简述C#中命名空间的作用答案:在应用程序开发设计中,程序设计人员可以根据实际需要创建更多的类。为此采用命

    21、名空间的方法来组织类,命名空间提供了可以将类分成逻辑组的方法,将系统中的大量类库有序地组织起来,使得类更容易使用和管理。在每个命名空间下,所有的类都是“独立”和“唯一”的。2.简述C#中类成员的几种访问方式答案:3.简述C#中构造函数和析构函数的主要作用是什么。它们各有什么特点答案:构造函数:构造函数是在创建指定类型的对象时自动执行的类方法,特点:析构函数:在对象不再需要时,希望确保它所占的存储空间能被收回,特点:4.简述C#中属性的特点,为什么要设置类的属性答案:属性提供灵活的机制来读取,设置或计算私有字段的值,这使得相关数据在被轻松访问的同时,仍能提供方法的安全性和灵活性。设置属性是为了保

    22、护类的字段。5.在设计方法时,ref和out有什么不同?答案:以ref修饰符声明的参数属于引用型参数,引用型参数本身并不创建新的存储空间,而是将实参的存储地址传递给形参,所以对形参的修改会影响原来的实参的值,在调用方法前引用型实参必须被初始化。以out修饰符声明的参数属于输出参数,它与引用型参数的差别在于,调用方法前无须对变量进行初始化。6.简述C#中实现委托的具体的步骤答案:1.声明委托类型,【修饰符】 delegate 返回类型 委托类型名(参数列表)。2.实例化委托对象,委托类型名 委托对象名 = new 委托类型名(静态方法或实例方法)。3.调用委托,委托对象名(实参列表);7.什么是

    23、事件,如何预订与取消事件?答案:事件是类在发生其关注的事情时用来提供通知的一种方式;事件的预定:首先必须第一个包含事件的类对象,然后将事件的处理方法和该对象关联起来,格式如下:事件类对象名.事件名+=new 委托类型名(事件处理方法);事件取消:事件取消的格式如下事件类对象名.事件名-=new 委托类型名(事件处理方法);第7章 1.简述C#中类继承的特点答案:1).C#中只允许单继承,即一个派生类只有一个基类。2).C#中继承是可以传递的,如果C从B派生,B从A派生,那么C不仅继承B的成员,还继承A的成员。3)C#派生类中可以添加新的成员,但不可以删除基类的吃成员4)C#中派生类不能继承基类

    24、的构造函数和析构函数,但能继承基类的属性。5)C#中派生类可以隐藏类的同名成员,如果在派生类乐意隐藏了基类的同名成员,基类成员在派生类中就不能被直接访问,只能通过“base. 基类方法名”来访问。6)C#中就派生类对象也是基类的对象,但基类对象却不一样是基类派生类的对象,也就是说,基类的引用变量可以引用基派生类对象,而派生类的引用变量不可以引用基类对象。2.简述C#类继承时调用构造函数和析构函数的执行次序答案:构造函数的调用的次序将从最远的基类开始,到最远的派生类结束。析构函数的调用次序正好与构造函数的调用次序相反。3.简述C#中方法重写和重载的区别答案:重载是指编写(在同一个类中)具有相同的

    25、名称、却有不同参数的即有不同签名的方法。也就是说,重写是指子类中的方法与基类中的方法具有相同的签名,而重载方法具有不同的签名。4.简述C#中抽象类的特点答案:1)抽象类不能实例化2)抽象类可以包含抽象方法和抽象访问器3)抽象类中可以存在非抽象的方法,即在抽象类中可以包含某些方法的实现。4)不能用sealed修饰符修饰抽象类,这也意味着抽象类不能被继承。5)从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实现。6)抽象类可以被抽象类所继承,结果仍是抽象类。5.简述C#中接口的特点答案:1)接口类似于抽象类,继承接口的任何非抽象类型都必须实现接口的所有成员。2)不能直接实例化接口3)接口可以包含事件,索引器,方法和属性4)接口不包含方法的实现。5)接口不能定义字段,构造函数,常量,和委托。6)类和结构可从多个接口继承7)接口自身可以从多个接口继承。6.简述C#中虚方法有什么作用。答案:定义的虚方法在派生类中可以被重写。第8章 1.简述C


    注意事项

    本文(《C#程序设计》高级程序设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开