《C#程序设计教程》总复习

  
一、单项选择题
1.short 类型的变量在内存中占据的位数是 (    )。
A.  8    
B. 16    
C. 32
D. 64
 
2.对千 int[ 4,5]型的数组 a, 数组元素 a[2,3] 存在数组第 (    )个位置上。
A.  11    
B.  12    
C.  14    
D.  15
 
3.设 int 类型变量 x,y,z 的值分别是2、3、6 , 那么执行完语句(z=y=x=z) 后他们的值为 (    )。
A.  2,3,6   
B.  2,2,2
C.  6,6,6  
D.  3,3,3
 
4.以下说法中不正确的是 (    )。
A.构造函数和析构函数都不能有返回值
B.构造函数可以是静态的
C. 一个类只能有一个构造函数
D.一个类只能有一个析构函数
 
5.以下不属千object 类型的成员方法是 (    )。
A.ToString()    B.Dispose()    C.Equals()    .GetType()
 
6.语句ReadLine()方法用来从控制台的键盘上,读取(        ),直到用户按下Enter键它才会放回。
A.一行字符   B.一个字符

7.下面代码:

X=2;
Y=X++;
Console.Write (X);
Console.Write (Y);

完成后,最后值为:
A.32  B.33  C.23  D.22

 
8.下列能够被创建对象的是 (    )。
A.接口
B.抽象类
C.委托
D.只有私有构造函数的类
 
9. 关千接口和抽象类,下列说法中正确的是 (    )。
A.接口不能创建对象,而抽象类可以    
B.接口不能包含字段, 而抽象类可以
C.抽象类中的方法必须是抽象方法    
D.接口中的方法也可以有实现代码
 
10.关于 finally 代码段,下列是说法正确的是 (    )。
A.仅在程序正常时执行    
B.仅在程序发生异常时执行
C.在程序发生异常时会被跳过    
D.无论程序是否发生异常都会被执行

11.C#中的值类型分为三种:

A.简单类型、结构类型和枚举类型  B.整数、小数、布尔类型  C.结构类型、枚举类型、类类型

12.C#语言是一种类型安全的、现代的、简单的,由C和C++衍生处理的的(       )的编程语言。

A.面向接口  B.面向过程  C.面向对象  D.面向剖面

13. C#语言是由美国的哪一个公司发明的?
A.谷歌  B.微软  C.IBM  D.Oracle

14.WriteLine()的方法的作用是:
A.从键盘上接收一个字符
B.从键盘上接收一行信息
C.将信息输出到键盘上
D.将信息输出到屏幕上,并自动换行

15.语句Console.WriteLine(“{0:n2}”,12.345) 输出结果是: [单选题] *
A.12.345
B.12.3
C.12.35
D.12.34

16.整数7除以3,商为2,余数为1,下面说法正确的是: *
A.用/取商,用%取余
B.用\取商,用%取余
C.用%取商,用/取余

17.while 语句循环结构和do...while语句循环结构的区别在于:
A.while语句的执行效率较高
B.do...while的语句编程程序较复杂
C.无论条件是否成功,do...while语句至少执行一次循环体
D.do...while循环是先执行循环体,后判断条件表达式是否成立,而while语句是先判断条件表达式,再决定是否执行循环体,两者的实际执行效果是一样的

18. 关于break和continue和goto语句描述正确的:
A.continue语句用于终止并退出当前循环
B.使用break语句只可以跳出外围最近的一层循环
C.使用goto语句可以方便地跳出多重循环,因而编程时尽可能多地使用goto语句

二、填空题
1.一般将类的构造方法声明为( 公有 public  )访问权限。如果声明为 private, 就不能创建该类
的对象。
2.在方法定义中, virtual 含义:(虚方法  )。    
3.C#数组元素的下标从( 0 )开始。
4.元素类型为 double 的 2 行 5 列的二维数组共占用(80)字节的存储空间。
5.对于方法,参数传递分为值传递和(引用传递)两种。
6.传入某个属性的 SET 方法的隐含参数的名称是(value)。
7.能用 foreach 遍历访问的对象需要实现( IEnumerable) 接口。
8.委托声明的关键字是 ( delegate   )。    
9.C#的类不支持多重继承, 但可以用( 接口 Interface)来实现。
10.C#中所有的类型实质上都是从( object   )类派生而来的。
 
 
 
三、判断题(正确打√, 错误打 X )
1.不能指定接口中方法的修饰符。 ( √  )
2.DotNet 包含两个部分,即公共语言运行时和框架类库。 ( X   )
3.在同一行上可以书写多条语句,每条语句间用分号分隔。 (  )
4.在数据类型转化时,只能通过类型转换关键字或 Convert  类实现。 ( X   )
5.在定义数组时不允许为数组中的元素赋值。  ( X   )
6.定义枚举时至少为其中的一个枚举成员赋值。 ( X   )
7.通过类的继承,保证对象品种的传承;通过接口继承,保证对象技能的增强。 (  )
8.委托是将方法作为参数传递给另一方法的一种数据类型,事件与委托没有关系。  ( X   )
9.如果要实现重写,在基类的方法中必须使用 virtual 关键字,在派生类的方法中必须使用
override关键字。 (   √ )
10.在 C#类中, this 代表了当前类本身。 (   )
 
四、读代码回答问题

1.现实生活当中的插头(Plug)与插座(Socket),国家为其建立了国家标准;厂家生产的插头和插座要和国家标准匹配;生产厂家虽然有很多,但都要符合国家标准。厂家的具体工艺及实现方法,可以有所不同。插头与插座也许分属不同品牌,但可以共同作用,可完成插头与插座的连接匹配电流传导相关测试。

using System;namespace InterfaceInOutDemo
{interface ISocket{void JoinPlug(IPlug plug);}interface IPlug{int EQuantity { get; set; }      }public class Socket:ISocket{void ISocket.JoinPlug(IPlug plug){Console.WriteLine("插座接收到插头的电流:"+plug.EQuantity);}}public class Plug : IPlug{private int eQuantity;int IPlug.EQuantity{          get{return eQuantity;}set{eQuantity = value;Console.WriteLine("插头向插座输出电流:" + eQuantity);}}    }class Program{static void Main(string[] args){Plug pg = new Plug();Socket sk = new Socket();            ((IPlug)pg).EQuantity = 120;                     ((ISocket)sk).JoinPlug(pg);  }}
}

请用引喻的方法描述解读上方的代码:

 2.下方代码课堂演练过:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace EventDemo
{//public delegate void MsgHandler(string msg);public class PinDuoDuo{public event Action<string> msgHandler;public void Order(User user){Console.WriteLine("{0}已拼单", user.Name);msgHandler += user.OnMessage;}public void UnOrder(User user){Console.WriteLine("{0}取消拼单", user.Name);msgHandler -= user.OnMessage;}public void ShipGoods(string msg){Console.WriteLine("发货");msgHandler?.Invoke(msg);}}public class User{public User(string name){Name = name;}public string Name { get; set; }public void OnMessage(string msg){Console.WriteLine("{0}收到消息:{1}", Name, msg);}}public class Program{ public static void Main(){PinDuoDuo pdd = new PinDuoDuo();User zs = new User("张三");User lisi = new User("李四");User wmz = new User("王麻子");pdd.Order(zs);pdd.Order(lisi);pdd.Order(wmz);pdd.UnOrder(lisi);pdd.ShipGoods("货已发出");}}
}

问题1:请解释代码
Action<string>
的含义.

问题2:假如上述代码是
Func<int,string>
请解释含义。

问题3:请解释代码
msgHandler += user.OnMessage;
的含义。

问题4: 请解释代码
msgHandler?.Invoke(msg);
的含义。

问题5:请解释代码
 User zs = new User("张三");
的含义。

问题6:请解释代码
  pdd.Order(zs);
的含义。


问题7:请解释代码
 pdd.UnOrder(lisi);
的含义。


问题8:请解释代码
 pdd.ShipGoods("货已发出");
的含义。

五.写代码:

利用循环语句显示出 1-100之间同时能被7整除和能被3整除的数据序列(注:只写出Main函数中的关键代码即可)。

 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/583336.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NVMe over Fabrics:概念、应用和实现

对于大部分人来说&#xff0c;NVMe over Fabrics&#xff08;简称NVMf&#xff09;还是个新东西&#xff0c;因为其第一个正式版本的协议在今年6月份才发布。但是这并不影响人们对NVMf的关注&#xff0c;因为这项依托于NVMe的技术很可能继续改变存储市场格局。 NVMf的贡献在于…

labuladong日常刷题-双指针 | LeetCode 83删除排序链表中的重复元素 5最长回文子串

双指针操作链表与字符串 LeetCode 83 删除排序链表中的重复元素 2023.12.28 题目链接labuladong讲解[链接] ListNode* deleteDuplicates(ListNode* head) {/*暴力求解ListNode* cur new ListNode();ListNode* prenode cur;cur->next head;cur cur->next;while(cu…

web自动化(4)——POM设计重构

1. 什么是POM Page Object Model 是ui自动化测试中常见的封装方式。 原理&#xff1a;将页面封装为PO对象&#xff0c;然后通过面向对象的方式实现UI自动化 2. 封装原则 PO无需包含全部UI元素PO应当验证元素PO不应该包含断言PO不应该暴露元素 3. 怎么进行POM封装 面向对象…

2.5 C语言之类型转换

2.5 C语言之类型转换 一、类型转换 一、类型转换 当一个运算符的几个操作数类型不同时&#xff0c;就需要通过一些规则把它们转换为某种共同的类型。 一般来说&#xff0c;自动转换是指把“比较窄的”的操作数转换为“比较宽的”的操作数&#xff0c;并且不丢失信息的转换。例…

架构设计系列 5:常见架构介绍

前面讲了架构是什么&#xff0c;架构的发展史&#xff0c;架构设计的基础理论&#xff0c;这次针对常见架构设计风格进行介绍和分析。 一、MVC&#xff1a;三层架构经典 经典的 MVC 架构&#xff08;Model-View-Controller&#xff09;架构是软件系统架构设计中的经典&#xf…

高阶组件和高阶函数是什么

高阶组件和高阶函数都是在函数式编程中常见的概念。 高阶组件&#xff08;Higher-Order Component, HOC&#xff09;是一种函数&#xff0c;接受一个组件作为参数&#xff0c;并返回一个新的组件。它可以用来增强现有的组件&#xff0c;给它添加额外的功能或属性。高阶组件在R…

数据结构与算法教程,数据结构C语言版教程!(第二部分、线性表详解:数据结构线性表10分钟入门)一

第二部分、线性表详解&#xff1a;数据结构线性表10分钟入门 线性表&#xff0c;数据结构中最简单的一种存储结构&#xff0c;专门用于存储逻辑关系为"一对一"的数据。 线性表&#xff0c;基于数据在实际物理空间中的存储状态&#xff0c;又可细分为顺序表&#xff…

【AI】人工智能爆发推进器之变分自动编码器

一、变分自动编码器&#xff08;VAE&#xff09; 变分自动编码器&#xff08;Variational Autoencoder&#xff0c;简称VAE&#xff09;是一种生成式模型&#xff0c;属于深度学习领域中的一种重要技术。它通过结合深度学习和概率图模型的思想&#xff0c;能够学习到数据分布的…

NFC物联网构建移动智能仓储系统解决方案

仓储管理作为企业研发生产活动的重要环节&#xff0c;正朝着标准化、信息化方向发展。高新作为典型的资产密集 技术密集型企业,原料样品为代表的资产数量巨大品种繁杂&#xff0c;对仓库管理的实时性及准确性要求较高。传统的人工作业模式和管理方法逐渐难以满足仓储管理对高效…

【 YOLOv5】目标检测 YOLOv5 开源代码项目调试与讲解实战(4)-自制数据集及训练(使用makesense标注数据集)

如何制作和训练自己的数据集 看yolov5官网创建数据集1.搜索需要的图片2.创建标签标注数据集地址&#xff1a;放入图片后选择目标检测创建文档&#xff0c;每个标签写在单独的一行上传结果此处可以编辑类别把车框选选择类别即可导出数据 3.新建一个目录放数据写yaml文件 4. 测试…

【赠书第14期】AI短视频制作一本通:文本生成视频+图片生成视频+视频生成视频

文章目录 前言 1 前期准备 2 拍摄与录制 3 后期编辑 4 技巧与注意事项 5 推荐图书 6 粉丝福利 前言 随着智能技术的迅猛发展&#xff0c;AI 短视频制作成为了一种新兴而创新的表达方式&#xff0c;广泛应用于社交媒体、广告营销、教育培训等领域。本文将介绍 AI 短视频…

JavaScript介绍,特点及组成(详解)

✨前言✨   本章将介绍 JavaScript 的基本概念、编写方法&#xff0c;并带领大家编写第一个 avaScript 程序。 &#x1f352;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f352;博主将持续更新学习记录收获&#xff0c;友友们有任何…

垃圾收集器与内存分配策略

内存分配和回收原则 对象优先在Eden区分配 大对象直接进入老年代 长期存活的对象进入老年代 什么是内存泄漏 不再使用的对象在系统中未被回收&#xff0c;内存泄漏的积累可能会导致内存溢出 自动垃圾回收与手动垃圾回收 自动垃圾回收&#xff1a;由虚拟机来自动回收对象…

什么是高并发系统?

1.1 什么是高并发&#xff1f; 高并发&#xff08;High Concurrency&#xff09;&#xff0c;通常是指通过设计保证系统能够同时处理很多请求。即在同一个时间点&#xff0c;有很多的请求同时访问同一个接口。高并发意味着大流量&#xff0c;需要运用技术手段去抵抗这种大流量…

用通俗易懂的方式讲解大模型:Prompt 提示词在开发中的使用

OpenAI 的 ChatGPT 是一种领先的人工智能模型&#xff0c;它以其出色的语言理解和生成能力&#xff0c;为我们提供了一种全新的与机器交流的方式。但不是每个问题都可以得到令人满意的答案&#xff0c;如果想得到你所要的回答就要构建好你的提示词 Prompt。本文将探讨 Prompt 提…

yolov5旋转目标检测-遥感图像检测-无人机旋转目标检测-附代码和原理

综述 为了解决旋转目标检测问题&#xff0c;研究者们提出了多种方法和算法。以下是一些常见的旋转目标检测方法&#xff1a; 基于滑动窗口的方法&#xff1a;在图像上以不同的尺度和角度滑动窗口&#xff0c;通过分类器判断窗口中是否存在目标。这种方法简单直观&#xff0c;…

Flutter 三点二:Dart 异步 async 和 await

async 和 await Future 链式调用 更清晰异步操作依赖关系比较复杂 可使用async awaitasync await 调用逻辑更清晰async await 异常处理 try{}catch(){} 即可async 修饰的方法 总是返回Future对象 不会阻塞主线程await 关键字只有在async修饰的方法内才有效都是把事件交给 Even…

数据可视化能为我们带来哪些好处?

在信息爆炸的时代&#xff0c;数据量呈指数级增长&#xff0c;企业和个人都面临着处理大量信息的挑战。在这个背景下&#xff0c;数据可视化崭露头角&#xff0c;成为解决复杂数据呈现和理解难题的得力工具。那么&#xff0c;数据可视化究竟能为我们带来哪些好处呢&#xff1f;…

SeaTunnel流处理同步MySQL数据至ClickHouse

ClickHouse是一种OLAP类型的列式数据库管理系统&#xff0c;ClickHouse完美的实现了OLAP和列式数据库的优势&#xff0c;因此在大数据量的分析处理应用中ClickHouse表现很优秀。 SeaTunnel是一个分布式、高性能、易扩展、用于海量数据同步和转化的数据集成平台。用户只需要配置…

YOLOv5改进 | 2023注意力篇 | BiFormer双层路由注意力机制(Bi-level Routing Attention)

一、本文介绍 BiFormer是一种结合了Bi-level Routing Attention的视觉Transformer模型&#xff0c;BiFormer模型的核心思想是引入了双层路由注意力机制。在BiFormer中&#xff0c;每个图像块都与一个位置路由器相关联。这些位置路由器根据特定的规则将图像块分配给上层和下层路…