《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 代表了当前类本身。 ( X )
四、读代码回答问题
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函数中的关键代码即可)。
相关文章:
《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 , 那么…...
为什么ChatGPT选择了SSE,而不是WebSocket?
我在探索ChatGPT的使用过程中,发现了一个有趣的现象:ChatGPT在实现流式返回的时候,选择了SSE(Server-Sent Events),而非WebSocket。 那么问题来了:为什么ChatGPT选择了SSE,而不是We…...
appium入门基础
介绍 appium支持在不同平台的UI自动化,如web,移动端,桌面端等。还支持使用java,python,js等语言编写自动化代码。主要用于自动化测试脚本,省去重复的手动操作。 Appium官网 安装 首先必须环境有Node.js用于安装Appium。 总体来…...
jsp介绍
JSP 一种编写动态网页的语言,可以嵌入java代码和html代码,其底层本质上为servlet,html部分为输出流,编译为java文件 例如 源jsp文件 <% page contentType"text/html; charsetutf-8" language"java" pageEncoding&…...
Debian安装k8s记录
Debian安装k8s记录 在master和node上安装kube安装master安装node遇到的问题汇总1、kubelet.service报错 failed to pull image "registry.k8s.io/pause:3.6"2、node重启后报错,failed: open /run/flannel/subnet.env: no such file or directory 在master…...
第6课 用window API捕获麦克风数据并加入队列备用
今天是2024年1月1日,新年的第一缕阳光已经普照大地,祝愿看到这篇文章的所有程序员或程序爱好者都能在新的一年里持之以恒,事业有成。 今天也是我加入CSDN的第4100天,但回过头看一看,这么长的时间也没有在CSDN写下几篇…...
图片预览 element-plus 带页码
vue3、element-plus项目中,点击预览图片,并显示页码效果如图 安装 | Element Plus <div class"image__preview"><el-imagestyle"width: 100px; height: 100px":src"imgListArr[0]":zoom-rate"1.2":max…...
【小白专用】winform启动界面+登录窗口 更新2024.1.1
需求场景:先展示启动界面,然后打开登录界面,如果登录成功就跳转到主界面 首先在程序的入口路径加载启动界面,使用ShowDialog显示界面, 然后在启动界面中添加定时器,来实现显示一段时间的效果,等…...
自动化网络故障修复管理
什么是故障管理 故障管理是网络管理的组成部分,涉及检测、隔离和解决问题。如果实施得当,网络故障管理可以使连接、应用程序和服务保持在最佳水平,提供容错能力并最大限度地减少停机时间。专门为此目的设计的平台或工具称为故障管理系统。 …...
Git:常用命令(二)
查看提交历史 1 git log 撤消操作 任何时候,你都有可能需要撤消刚才所做的某些操作。接下来,我们会介绍一些基本的撤消操作相关的命令。请注意,有些操作并不总是可以撤消的,所以请务必谨慎小心,一旦失误,…...
Oracle 12c rac 搭建 dg
环境 rac 环境 (主)byoradbrac 系统版本:Red Hat Enterprise Linux Server release 6.5 软件版本:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit byoradb1:172.17.38.44 byoradb2:…...
Cisco模拟器-交换机端口的隔离
设计要求将某台交换机的端口划分在不同的VLAN。以实现连接在相同VLAN端口上的计算机可以通信,而连接在不同VLAN端口上的计算机无法通信的目的。 通过设计,一方面可以加强计算机网络的安全,另一方面通过隔绝不同VLAN间的广播包也可以提高网络…...
zdppy_api框架快速入门
概述 zdppy_api是一款为了快速开发而生的,基于异步的,使用简单的Python后端API接口开发框架。 本框架的目标是让Python后端开发变得越来越简单,直到发现原来还可以更简单! 一切都是为了提高开发效率!!&…...
https证书配置过程
相关网址: FreeSSL首页 - FreeSSL.cn一个提供免费HTTPS证书申请的网站 ACME v2证书自动化快速入门 acme.sh简单教程-CSDN博客...
如何用C语言程序生成任意手性(即具有任意m和n值),任意长度的碳纳米管,并输出三维空间坐标呢?
如何用C语言程序生成任意手性(即具有任意m和n值),任意长度的碳纳米管,并输出三维空间坐标呢? 生成任意手性、任意长度的碳纳米管可以使用 Chirality Vector 和 Unit Vector 的概念来表示。Chirality Vector (n, m) 描述…...
C++每日一练(8):图像相似度
题目描述 给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。 说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。…...
C++面试宝典第12题:数组元素相除
题目 从控制台输入若干个整数作为数组,将数组中每一个元素除以第一个元素的结果,作为新的数组元素值。比如:可以先输入3,作为数组元素的个数;然后输入3个整数,作为数组元素的值。 解析 这道题本身并不复杂,但里面隐藏了不少“坑点”和“雷区”,主要考察应聘者全面思考问…...
oCPC实践录 | 目标ROI的出价与转化回传调控算法
这篇文章我们聊聊广告主在oCPC下,怎么调控自己的出价或者回传转化优化自己的ROI。 ROI是广告主最关心的指标了,根据oCPC出价的基本原理ocpc_bid pcvr * given_cpa * k, 广告主在整个出价中有两个可以控制的变量来影响出价,一个是直接的give…...
百倍量化之Dbcd-v2中性策略
Dbcd-v2中性策略 1. 指标含义 该指标主要是计算偏置的因子,并根据偏置的平均来分析这个股票的稳定性。相比于v1,策略是更换了dbcd的计算方式 第一步主要操作就是计算当前值和前段时间的平均值的偏置 ma = bt.indicators.SimpleMovingAverage(self.data, period=self.p.peri…...
系统学习Python——装饰器:函数装饰器-[装饰器状态保持方案:函数属性]
分类目录:《系统学习Python》总目录 如果我们没有在使用Python3.X并因此无法利用一条nonlocal语句,或者我们希望代码具有可移植性,能在Python3.X和Python2.X上同时工作一一我们仍然能够针对某些可改变的状态使用函数属性来避免使用全局变量和…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
