doc格式,60多页吧,几百道题吧,都有答案吧,看好在下!部分:1.求下面函数的返回值(微软)intfunc(x){intcountx=0;while(x){countx++;x=x&(x-1);}returncountx;}假定x=9999。
答案:8思路:将x转化为2进制,看含有的1的个数。
2.什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。
申明一个引用的时候,切记要对其进行初始化。
引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。
声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。
不能建立数组的引用。
3.将“引用”作为函数参数有哪些特点?(1)传递引用给函数与传递指针的效果是一样的。
这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。
(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;
而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;
如果传递的是对象,还将调用拷贝构造函数。
因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。
(3)使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"的形式进行运算,这很容易产生错误且程序的阅读性较差;
另一方面,在主调函数的调用点处,必须用变量的地址作为实参。
而引用更容易使用,更清晰。
4.在什么时候需要使用“常引用”? 如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。
常引用声明方式:const类型标识符&引用名=目标变量名;
例1inta;constint&ra=a;ra=1;//错误a=1;//正确例2stringfoo();voidbar(string&s);那么下面的表达式将是非法的:bar(foo());bar("helloworld");原因在于foo()和"helloworld"串都会产生一个临时对象,而在C++中,这些临时对象都是const类型的。
因此上面的表达式就是试图将一个const类型的对象转换为非const类型,这是非法的。
引用型参数应该在能被定义为const的情况下,尽量定义为const。
5.将“引用”作为函数返回值类型的格式、好处和需要遵守的规则?格式:类型标识符&函数名(形参列表及类型说明){//函数体}好处:在内存中不产生被返回值的副本;
(注意:正是因为这点原因,所以返回一个局部变量的引用是不可取的。
因为随着该局部变量生存期的结束,相应的引用也会失效,产生runtimeerror!注意事项:(1)不能返回局部变量的引用。
这条可以参照EffectiveC++[1]的Item31。
主要原因是局部变量会在函数返回后被销毁,因此被返回的引用就成为了"无所指"的引用,程序会进入未知状态。
(2)不能返回函数内部new分配的内存的引用。
这条可以参照EffectiveC++[1]的Item31。
虽然不存在局部变量的被动销毁问题,可对于这种情况(返回函数内部new分配内存的引用),又面临其它尴尬局面。
例如,被函数返回的引用只是作为一个临时变量出现,而没有被赋予一个实际的变量,那么这个引用所指向的空间(由new分配)就无法释放,造成memoryleak。
(3)可以返回类成员的引用,但最好是const。
这条原则可以参照EffectiveC++[1]的Item30。
主要原因是当对象的属性是与某种业务规则(businessrule)相关联的时候,其赋值常常与某些其它属性或者对象的状态有关,因此有必要将赋值操作封装在一个业务规则当中。
如果其它对象可以获得该属性的非常量引用(或指针),那么对该属性的单纯赋值就
2025/8/9 4:02:35 45KB C C++ 算法 经典
1
源码说明:采用纯jsp页面+Mysql的方法实现功能项目编码是gb2312,要转换格式的请自己装换,界面简洁,功能简单,实现容易,非常适合初学者有助于加深初学者对jsp的理解和使用Mysql数据库StringDBDRIVER ="com.mysql.jdbc.Driver"; StringDBURL ="jdbc:mysql://localhost:3306/db_jsp?characterEncoding=utf-8";//数据库名:tianming StringDBUSER ="root";//mysql数据库用户名 StringDBPASSWORD ="root";//mysql数据库密码功能说明:【留言内容过长的用...代替】权限设置:分为学生用户和管理员用户【不可直接访问页面,必须登陆后才可以进入】普通用户的可以实现发布内容、查看内容管理员用户的可以实现发布内容、查看内容、删除留言、编辑留言可以在登录页面进行注册页面介绍:zhuce.jsp注册页面login.jsp用户登录界面login_conf.jsp用户登录验证login_success.jsp用户登录成功提示list_notes.jsp发布内容显示和查询结果显示页面insert.jsp添加新内容页面。











使用到的数据:db_jsp.sql【位于项目的web页中】使用方法一:使用mysql命令行:createdatabasedb_jsp;usedb_jsp;把文件内容复制粘贴到命令行即可使用方法一:在mysql中新建一个名为db_jsp的数据库;
导入db_jsp.sql文件即可
2025/8/9 4:37:03 2.91MB jsp mysql 留言板
1
雷达信号和通信信号相加之后的幅度变化,导致饱和功率放大器的输出产生交调失真,影响一体化信号的性能。
本文研究了一种基于CORDIC算法的幅相转换技术,不仅消除了功放的非线性影响,而且易于工程实现。
仿真结果表明幅相转换后的信号经过功率放大器之后能恢复成原来的信号,证明了此方法的可行性。
1
基于51单片机控制CS5463的初始化、寄存器写和读、对读取到的数据进行转换处理
2025/8/5 17:03:53 3KB 51 单片机 CS5463
1
该Aspose.Words.dll文件用于去除Word转换成PDF文件中出现的水印和红色字体的表头,18.4版本的是我现在项目中用的
2025/8/4 5:05:28 14.4MB Aspose.Words.dll
1
本人是从0开始自学Emit的,中间比较难受的就是好多Opcpde指令不知道是什么意思、不会用,后来经过查资料总算是搞明白点了。
除了在网上查资料之外学习MSIL另一个好方法就是.NetReflector和ildasm.exe配合使用,.NetReflector可以把Emit代码转换为普通C#代码,ildasm.exe可以把普通C#代码转换为MSIL,不会写某一功能的Emit代码就先把它的C#代码写出来,用ildasm.exe转换成MSIL,然后根据生成的MSIL逻辑去写Emit代码,这个很好用。
2025/8/3 20:21:12 25KB Emit Opcodes
1
USB口与串口转换的驱动USB-SerialControllerDriver
2025/8/3 20:08:12 2.15MB Serial port
1
利用matlab实现的贝叶斯分类算法,其中包含数据格式转换算法,交叉验证算法和数据集统计算法,是UCI数据集通用的分类算法,准确率达到0.9427.
2025/8/3 13:15:07 5KB matlab beys UCI
1
U813.0版本,用友ERP必备数据字典!AssemVouch组装拆卸形态转换单主表cVouchType单据类型编码。
2025/8/3 11:01:16 293KB U8数据字典
1
目录录录第1章计算机基础知识 11.1计算机概论 11.1.1计算机的发展概况 11.1.2计算机的特点 21.1.3计算机的应用 21.2计算机常用的数制及编码 41.2.1二进制数 41.2.2二进制与其它数制 51.2.3不同进制数之间的转换 61.2.4二进制数在计算机内的表示 81.2.5常见的信息编码 91.3计算机系统的组成 111.3.1计算机系统 111.3.2计算机的基本结构 111.3.3微型计算机中的硬件资源 131.3.4基本输入输出设备 171.3.5微型计算机的软件配置 191.4多媒体计算机 221.4.1多媒体的基本概念 221.4.2多媒体计算机系统 221.4.3多媒体技术的应用 231.5计算机病毒简介及其防治 231.5.1计算机病毒的定义、特征及危害 231.5.2计算机病毒的结构与分类 241.5.3计算机病毒的预防 251.5.4常用杀毒软件简介 261.6计算机产业及主要产品介绍 271.6.1计算机产业的兴起和发展 271.6.2微型计算机的出现和巨大成功 271.6.3国际知名计算机产业公司及其产品简介 291.6.4国内主要计算机产业公司简介 32习题 33第2章中文Windows98 352.1概述 352.1.1发展历史 352.1.2特点 352.1.3运行环境和安装 362.1.4启动和退出 382.2Windows98的基本知识和基本操作 382.2.1桌面简介 382.2.2启动和退出应用程序 392.2.3鼠标的使用 402.2.4窗口和对话框 412.2.5菜单和工具栏 422.2.6剪贴板 432.2.7帮助系统 442.3MS-DOS方式 452.3.1DOS基础 452.3.2MS-DOS方式 482.4Windows98资源管理器 482.4.1文件和文件夹 482.4.2“资源管理器”窗口 492.4.3管理文件和文件夹 502.4.4“回收站”的使用 532.4.5快捷方式 542.4.6文件和应用程序相关联 552.5Windows98控制面板 552.5.1显示属性的调整 562.5.2添加新硬件 582.5.3系统 602.5.4打印机 612.5.5安装和删除应用程序 622.6中文操作处理 642.6.1打开和关闭汉字输入法 642.6.2操作说明 642.6.3输入法简介 652.6.4输入法设置 652.7多媒体 662.7.1Windows98的多媒体特性 662.7.2多媒体附件程序 672.7.3多媒体属性设置 682.7.4配置Windows98声音方案 712.8磁盘管理 712.8.1磁盘格式化 722.8.2软盘复制 732.8.3浏览和改变磁盘的设置 732.9画图程序 742.9.1启动“画图”程序 742.9.2“画图”程序功能简介 742.9.3创建图片 75习题 75第3章字处理软件Word2000 773.1Word概述 783.1.1功能 783.1.2启动与退出 793.1.3窗口的组成 813.2文档的基本操作 843.2.1创建一个新文档 843.2.2保存文档 853.2.3打开文档 863.2.4文本输入和基本编辑 863.3文档的排版 933.3.1视图 933.3.2字符排版 933.3.3段落的格式化 963.3.4页面排版 993.4表格 1033.4.1建立表格 1033.4.2编辑表格 1043.4.3表格属性设置 1063.4.4转换表格和文本 1103.5图片编辑 1113.5.1剪贴画 1113.5.2插入艺术字 1133.5.3绘制图形 1133.6打印预览及打印 1153.6.1打印预览 1153.6.2打印 116习题
2025/8/2 20:34:38 11.39MB 计算机 基础 教程 pdf
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡