华北电力大学c++实验指导实验二、实验三改错题、填空题参考答案
- 格式:doc
- 大小:72.00 KB
- 文档页数:10
电器实验实操考试题及答案一、单项选择题1. 电流通过导体时,导体两端的电压与通过导体的电流之间的关系遵循以下哪个定律?A. 欧姆定律B. 法拉第电磁感应定律C. 基尔霍夫电压定律D. 牛顿第二定律答案:A2. 以下哪种材料不适合用作电容器的介质?A. 空气B. 陶瓷C. 玻璃D. 盐水答案:D3. 在三相电路中,星形接法(Y接法)和三角形接法(Δ接法)的主要区别是什么?A. 线电压与相电压的关系不同B. 线电流与相电流的关系不同C. 线电压与线电流的关系不同D. 以上都是答案:D二、多项选择题1. 在电路分析中,以下哪些因素会影响电路的总电阻?A. 导体的长度B. 导体的横截面积C. 导体的材料D. 电路中的电流答案:A、B、C2. 以下哪些元件属于被动元件?A. 电阻器B. 电容器C. 二极管D. 晶体管答案:A、B、C三、填空题1. 根据欧姆定律,电阻R等于电压U除以电流I,即R = ______ / I。
答案:U2. 电容器的单位是法拉,1法拉等于________库仑/伏特。
答案:1,000,000,000四、计算题1. 给定一个电阻为10欧姆的电阻器,当通过它的电流为2安培时,求电阻器两端的电压。
答案:20伏特2. 一个电容器的电容为4.7微法拉,当电压为5伏特时,求电容器存储的电荷量。
答案:23.5微库仑五、实验操作题1. 请描述如何使用万用表测量一个电阻的阻值。
答案:首先,确保万用表处于电阻测量模式。
然后,将万用表的红色探针和黑色探针分别接触电阻的两端。
读取万用表上显示的阻值,即为所测电阻的阻值。
2. 请简述如何使用示波器观察正弦波形。
答案:首先,将示波器的通道选择开关设置为AC耦合。
然后,将信号源的正弦波输出连接到示波器的输入端。
调整示波器的水平和垂直控制旋钮,使波形清晰显示在屏幕上。
通过调整触发电平,确保波形稳定显示。
2022年华北电力大学环境科学与工程专业《环境监测》科目期末试卷A(有答案)一、填空题1、依据大气污染物的形成过程来分,可分为______污染物和______污染物。
2、排污总量指某一时段内从排污口排出的某种污染物的总量,是指该时段内污水的______与该污染物______的乘积。
3、指示植物是指受到______的作用后,能较敏感和快速地产生明显反应的植物。
4、光污染一般分为______、______、______。
5、应用于环境监测的遥感技术包括______遥感、______遥感、______遥感和______遥感。
6、环境监测按监测目的可以分为______、______、______。
7、生活垃圾的处理方法包括______、______、______。
8、为满足某些特殊需要,通常引用______、______、______专用术语。
二、判断题9、采集降尘时,降尘缸放置高度应距地面5至12米,如放置在屋顶平台上,采样口应距平台1至1.5米。
()10、采集空气样品时只能用直接取样法而不能用浓缩取样法。
()11、大气污染物监测布设网点时,如果污染源比较集中,主导风向明显,应将污染源的下风向作为主要监测范围。
()12、使用高氯酸消解时,可直接向有机物的热溶液中加入高氯酸,但须小心。
()13、测定水中NO2-N是在中性溶液中,利用重氮偶联显色反应,生成红紫色染料。
()14、环境样品预处理目的:使欲测组分达到测定方法和仪器要求的形态、浓度,消除共存组分的干扰。
()15、对于某学校主教学楼噪声应该满足《城市区域环境噪声环境质量标准》4a类标准。
()16、有些动物能听到超声或次声。
()17、在选择标准物质时,不用考虑标准物质的基体组成。
()18、化学试剂的优质纯试剂一般用代码AR表示。
()三、选择题19、测定烟气烟尘浓度时,采样点的烟气流速应当()采样速度。
A.大于B.小于C.等于D.无所谓20、下列水环境的哪项指标不可以通过遥感监测?()A.CODB.BODC.DOD.氨氮21、《地面水环境质量标准》将将地面水环境功能分为5类,我们居住区域的长江水体属于()水体。
基础实验考试题及答案一、单项选择题(每题2分,共20分)1. 以下哪个选项是正确的实验操作?A. 使用酒精灯加热试管时,试管口朝上B. 将强酸直接倒入下水道C. 实验室内禁止吸烟、饮食D. 实验结束后,将所有化学试剂随意丢弃答案:C2. 实验室中常用的酸碱指示剂是什么?A. 酚酞B. 碘酒C. 石蕊D. 硫酸铜答案:A3. 实验室中,哪种物质不能用来清洗试管?A. 洗涤剂B. 酒精C. 盐酸D. 硫酸答案:D4. 以下哪种物质是强酸?A. 醋酸B. 柠檬酸C. 硫酸D. 碳酸答案:C5. 实验室中,如何正确处理废弃物?A. 随意丢弃B. 倒入垃圾桶C. 按照分类放入指定容器D. 直接倒入下水道答案:C6. 实验室中,如何正确使用酒精灯?A. 用嘴吹灭B. 用盖子盖灭C. 直接倒酒精D. 用湿布扑灭答案:B7. 实验室中,如何正确使用天平?A. 直接用手拿取称量物B. 使用镊子夹取称量物C. 将称量物直接放在托盘上D. 将称量物放在纸上称量答案:B8. 实验室中,如何正确使用滴管?A. 直接将滴管插入试管内B. 将滴管倒置使用C. 滴管不能伸入试管内D. 滴管可以随意放置答案:C9. 实验室中,如何正确使用量筒?A. 直接用手拿取量筒B. 使用量筒加热C. 视线与量筒内液体的凹液面最低处保持水平D. 将量筒倾斜以加快读数答案:C10. 实验室中,如何正确处理溢出的化学试剂?A. 用手抓取B. 用纸巾擦拭C. 使用专用的吸附材料D. 直接用水冲洗答案:C二、填空题(每空1分,共20分)1. 在实验室中,使用酒精灯时,必须使用_______来点燃。
答案:火柴或点火器2. 实验室内,所有化学试剂都应_______存放,并有明确的标签。
答案:密封3. 实验室中,使用过的试管应_______清洗。
答案:及时4. 在实验室中,如果不慎将酸溅到皮肤上,应立即用大量_______冲洗。
答案:水5. 实验室中,使用天平时,称量物应放在_______盘,砝码应放在_______盘。
1、将某紫黑色固体粉末A加热,可产生无色气体B,同时生成一种黑色固体C 和另一种固体物质D。
黑色固体C通常可用于加热氯酸钾制氧气时的催化剂。
另一黑色固体E在无色气体B中燃烧,产生使澄清石灰水变浑浊的气体F。
绿色植物可将气体F通过光合作用吸收,并转化为无色气体B。
回答:(1)写出名称:A C F;(2)加热紫黑色固体A时所发生的反应属于反应;(3)写出黑色固体E在无色气体B中燃烧的反应的文字表达式;紫黑色固体A分解的文字表式:。
三、实验探究题:2、下面是测量空气中氧气体积含量的两个实验:实验1:在集气瓶内事先装少量水,余下的容积分成五等份,做好标记(如图A)。
在带橡皮塞和导管的燃烧匙内装入足量的红磷,用弹簧夹夹紧乳胶管,点燃燃烧匙内的红磷,立即伸入集气瓶内,塞紧橡皮塞。
待红磷熄灭并冷却到室温后,打开弹夹。
A B 实验2:将试管的容积分成五等份,做好标记(如图B)。
在试管中加入一小块(足量)白磷,用橡皮塞塞紧试管口,将试管放入热水中,使白磷燃烧。
待白磷熄灭并冷却到室温后,将试管倒立于盛有室温下水的水槽中,并在水中将橡皮塞取下。
(1)在实验2中,在水中而不在空气中取下橡皮塞的原因是;(2)从测定结果分析,上述实验中效果较好的是哪一个?写出另一个实验的两点不足。
(3)红磷燃烧的现象是,A 中红磷燃烧完毕,打开止水夹,看到的是。
3、人体通过肺与外界进行气体交换,吸入空气中的氧气,排出二氧化碳和水蒸气。
但人体排出的二氧化碳究竟是空气中原有的,还是人体代谢的最终产物?为了证实这个问题,有人采用:(1)人吸气时应将活塞A_______(填“打开”或“关闭”),活塞B______(填““打开”或“关闭”)(2)人呼气时应将活塞A_______(填“打开”或“关闭”),活塞B______(填“打开”或“关闭”),此时可观察到Ⅱ瓶内的现象是______(3)Ⅰ瓶所装试剂的作用是___________;Ⅱ瓶所装试剂的作用是______________________________;将上述操作反复进行,能证明人所呼出的气体中所含的二氧化碳不是来自空气,而是人体的代谢产物.4、右图有多种功能,如收集气体、洗涤气体、贮存气体等。
电路实验指导书答案电路实验指导书答案【篇一:电路分析基础实验指导书】目录实验一电工仪表的使用与测量误差的计算1 实验二电路元件伏安特性的测量4 实验三直流电路中电位、电压的关系研究10 实验四基尔霍夫定律12 实验五叠加定理的验证15 实验六戴维南定理和诺顿定理的验证18 实验七电压源与电流源的等效变换23 实验八受控源特性测试26 实验九 rc一阶电路的动态过程研究实验31 实验十二阶动态电路响应的研究34 实验十一 rlc元件在正弦电路中的特性实验36 实验十二rlc串联谐振电路的研究39 实验十三双口网络测试42 实验十四rc选频网络特性测试45 实验十五负阻抗变换器48 实验十六回转器52 附 1 典型电信号的观察与测量56电路分析实验指导书实验一常用电工仪表的使用与测量误差的计算一、实验目的1、熟悉各类测量仪表、各类电源的布局及使用方法2、掌握电压表、电流表内电阻的测量方法3、熟悉电工仪表测量误差的计算方法二、实验说明1、为了准确地测量电路中实际的电压和电流,必须保证仪表接入电路不会改变被测电路的工作状态,这就要求电压表的内阻为无穷大;电流表的内阻为零。
而实际使用的电工仪表都不能满足上述要求。
因此,当测量仪表一旦接入电路,就会改变电路原有的工作状态,这就导致仪表的读数值与电路原有的实际值之间出现误差,这种测量误差值的大小与仪表本身内阻值的大小密切相关。
2、本实验测量电流表的内阻采用“分流法”,如图1-1所示。
图1-1可调电流源a为被测电阻(ra)的直流电流表,测量时先断开开关s,调节电流源的输出电流i使a表指针满偏转,然后合上开关s,并保持i值不变,调节电阻箱rb的阻值,使电流表的指针指在1/2满偏转位置,此时有ia=is=1/2,ra=rb//r1,r1为固定电阻器之值,rb由电阻箱的刻度盘上读得。
3、测量电压表的内阻采用分压法,如图1-2所示。
图1-2 可调稳压源图1-3v为被测内阻(rv)的电压表,测量时先将开关s闭合,调节直流稳压源的输出电压,使电压表v的指针为满偏转。
华北电⼒⼤学操作系统实验报告(含思考题答案)操作系统综合实验( 20 -- 20 年度第学期)名称:题⽬:院系:班级:学号:学⽣姓名:指导教师:成绩:⽇期:年⽉实验⼀:实验环境的使⽤⼀、实验⽬的:1、熟悉操作系统集成实验环境OS Lab的基本使⽤⽅法。
2、练习编译、调试EOS操作系统内核以及EOS应⽤程序。
⼆、实验内容:1、启动OS Lab2、学习OS Lab的基本使⽤⽅法3、EOS内核项⽬的⽣成和调试4、EOS应⽤程序项⽬的⽣成和调试5、退出OS Lab6、保存EOS内核项⽬三、实验过程:本实验实验过程主要按照eos操作系统实验教程上所对应的章节来进⾏。
实验结果:(⼀)启动OS Lab :(⽆)(⼆)学习OS Lab的基本使⽤⽅法:(1)、创建了第⼀个项⽬:(2)、⽣成了第⼀个项⽬(3)、添加了func⽂件后经过⼀系列的调试,打印出了相关内容,按shift+F5结束调试。
(4)、查看变量的值:有3种⽅法:1、将⿏标移动到源代码编辑器中变量n的名称上,此时会弹出⼀个窗⼝显⽰出变量n当前的值(由于此时还没有给变量n赋值,所以是⼀个随机值)。
2、在源代码编辑器中变量n的名称上点击⿏标右键,在弹出的快捷菜单中选择“快速监视”,可以使⽤“快速监视”对话框查看变量n的值。
然后,可以点击“关闭”按钮关闭“快速监视”对话框。
3、在源代码编辑器中变量n的名称上点击⿏标右键,在弹出的快捷菜单中选择“添加监视”,变量n就被添加到了“监视”窗⼝中。
使⽤“监视”窗⼝可以随时查看变量的值和类型。
此时按F10进⾏⼀次单步调试,可以看到“监视”窗⼝中变量n的值会变为0(1)、调⽤堆栈:使⽤“调⽤堆栈”窗⼝可以在调试的过程中查看当前堆栈上的函数,还可以帮助理解函数的调⽤层次和调⽤过程。
EOS内核项⽬的⽣成和调试:(2)、新建EOS内核项⽬(3)、⽣成项⽬(4)、调试项⽬(5)、查看软盘镜像⽂件中的内容(6)、查看EOS SDK(Software Development Kit)⽂件夹EOS应⽤程序项⽬的⽣成和调试新建EOS应⽤程序项⽬⽣成项⽬:按F7⽣成项⽬调试项⽬:按F5进⾏各种调试查看软盘镜像⽂件中的内容:使⽤FloppyImageEditor⼯具打开该项⽬中的Floppy.img⽂件,查看软盘镜像中的⽂件。
化学实验操作试题库一、填空题1、实验中,要密切关注气体产生、沉淀生成、体系颜色的变化、反应体系温度的变化等现象。
2、嗅闻样品气味应用手把少量气体轻轻煽向鼻孔进行嗅闻3、使用浓酸、刺激性或有毒性气体时,应在通风橱中进行。
4、使用乙醚、乙醇、苯等易燃品时,应远离火源,加热这类样品应用油浴或者用水浴也可用砂浴或电热套。
5、配制好的试剂都要贴好标签,注明名称、浓度和配制日期。
6、进行回流、蒸馏等操作时,应该在烧瓶中加入少量沸石,以防止爆沸。
7、钠、钾等金属应保存在煤油中,白磷应保存在水中,汞需用水封。
8、酸(碱)腐伤皮肤,应立即用大量水冲洗,再用饱和碳酸氢钠溶液或2% 醋酸溶液冲洗,最后用水冲洗,涂布氧化锌或硼酸软膏。
9、酸(碱)溅入眼中,应立即用大量水冲洗,后用2—3%的硼酸钠冲洗,最后用蒸馏水冲洗。
10、不小心将水银散落在实验室桌面或地上等,除尽量回收至水封容器内,还应立即在散落处撒一些硫磺粉,以生成相对稳定的硫化汞。
也可使用一些20%的三氯化铁溶液处理。
11、有效数字是指在实验或者实际中能够测量到的数字。
有效数字是由全部准确的数字和一位可疑数字构成。
12、容器类器皿通常有试剂瓶、烧杯、烧瓶;量器类器皿有量筒、移液管、滴定管及容量瓶。
瓷质类器皿包括蒸发皿,布氏漏斗,瓷坩埚、瓷研钵等。
13、取用试剂时,试剂瓶的瓶盖取下后应倒立仰放在桌面上放置。
14、向试管中加入固体粉末试剂时纸条应伸进试管约三分之二处。
15、间接加热方法有水浴、油浴、沙浴等。
16、仪器安装的一般顺序是:按所用热源的高低,将仪器由上而下,从左到右,依次固定、连接好。
17、物性常数符号m.p.和b.p.分别是指_物质的熔点和沸点__________。
18、Pb(Ac)2试纸是用来检验__痕量硫化氢________气体。
其反应的方程式为__H2S+Pb(Ac)PbS HAc2+黑色沉淀__________。
19、化学实验用水按制备方法分类,分成__蒸馏水______水、__去离子水___水、__软水_______水。
《工程热力学》实验指导工程热物理教研室二O年月1.实验总体目标通过实验能更好地理解工程热力学的一些现象和结论。
学习一些实验仪器的使用方法。
学习实验数据的处理方法。
2.适用专业热能与动力工程、建筑环境与设备工程、核科学与核工程3.先修课程高等数学、大学物理4.实验课时分配5.实验环境实验室环境干净整洁,水电齐全,能够满足实验的要求。
在醒目的地方有实验原理的说明,便于教师讲解和学生熟悉实验的步骤。
6.实验总体要求通过实验能够帮助学生更好地理解工程热力学的一些基本原理。
指导教师要提前做好准备,提高实验的效率。
学生要提前预习实验的内容和要求(特别是注意事项),以免发生危险和损坏实验设备。
按指导教师的要求书写实验报告,及时上交。
7.本实验的重点、难点及教学方法建议本实验的重点是气体定压比热容实验、二氧化碳压缩综合实验和喷管实验,这三个实验都是综合性实验,涉及到水浴的使用,真空泵的使用,表压力及真空度和绝对压力的关系,等等,需要大家对工程热力学的基本内容有清楚的了解。
难点是在临界温度下定温压缩二氧化碳时不好把握,绘出来的图和理想压缩有较大的差别,另外,如何通过间接方法求出二氧化碳的比体积也有一些技巧。
教学方法:学生提前预习,做实验之前老师提问;学生仔细观察指导教师的演示;实验室对学生开放,一次没有做成功,或者想更好地掌握实验技巧的学生,可以跟指导教师预约时间另做。
实验一气体定压比热容实验 (3)实验二二氧化碳综合实验 (7)实验三空气在喷管内流动性能测定实验 (8)实验四饱和蒸汽压力和温度关系实验 (11)实验一气体定压比热容实验一、实验目的1 .了解气体比热容测定装置的基本原理和构思。
2 .熟悉本实验中测温、测压、测热、测流量的方法。
3 .掌握由基本数据计算出比热值和比热公式的方法。
4 .分析本实验产生误差的原因及减小误差的可能途径。
二、实验类型综合性实验三、实验仪器实验所用的设备和仪器仪表由风机、流量计、比热仪本体、电功率调节测量系统共四部分组成,实验装置系统如图1-1所示。
华北电力大学高电压技术实验指导书电力工程系高电压与绝缘技术教研室2005年12月编写人:张重远、王永强、汪佛池前言自1995年高压教研室成立以来,高压实验室几经搬迁,同时实验设备也不断得到完善,高电压专业所需开设的实验基本上已能全部开出。
鉴于2003版教学大纲与原教学大纲差别较大,高电压技术课程已作为全系学生的一门必修课,课程实验内容较原来有较大的增加,为更好的指导学生进行实验,重新编定了本实验教程。
本指导书是在原高电压技术实验指导书的基础上,并参考清华大学、武汉大学等高校高电压专业实验指导书,同时结合多年来的教学实践,根据高压实验室现有的条件编写而成的。
本指导书的编写及新增实验的开发得到校教育改革基金的资助,是教改项目“高压实验室综合性、研究型(开放性)实验体系的建设”的一个重要子项目。
本指导书主要作为高电压技术课程实验用,结合近几年实验过程中存在的问题,重新完善了原有的“介质损耗角正切的测量”和“避雷器泄露电流的测量”两个实验中的部分内容,同时在现有实验设备的基础上,新增了“工频高压试验”、“直流高压试验”和“冲击高压试验”等实验内容,同时新增了部分开放性试验如:“冲击电流试验”、“极性效应和50%冲击放电电压试验”等实验内容。
通过这些实验内容的开设力求让学生对常见的各种高电压设备试验方法、试验设备及试验内容有更深刻的认识和了解,达到书本上的理论知识和实践有效结合,提高学生探索性创造性思维的目的。
此次指导书的修订是由华北电力大学高压试验室张重远、王永强和汪佛池同志共同完成。
由于水平和时间有限,书中若有不对之处,敬请使用者多提宝贵意见。
编者2005.12目录目录 (1)绪论 (1)实验一高压实验室参观及入室教育 (6)实验二绝缘电阻、泄漏电流的测量 (7)实验三介质损耗角正切的测量 (13)实验四工频高压演示实验 (19)实验五直流高压演示实验 (24)实验六冲击高压演示实验 (27)附录一冲击电流的产生与测量 (30)附录二棒-板间隙的极性效应及其50%冲击放电电压的确定 (33)绪论随着高电压大电网的建设和高电压电气设备的研制,高电压技术得到了迅速的发展,同时随着高电压新技术的发展,高电压技术在其他的技术物理等部门(如高电脉冲医疗、高压静电除尘等)也得到了广泛的应用。
实验二、选择结构参考答案1.修改下列程序,使之满足当x为10时输出“= =”,否则输出“!=”的条件。
#include"stdio.h"main(){int x;scanf("%d",&x);if(x==10)printf("==\n");else printf("!=\n");}2.修改下列程序,使之实现以下功能:#include “stdio.h”main( ){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if (a==b){if(b==c)printf(“a==b==c”);}elseprintf(“a!=b”);}3.程序填空。
从键盘输入任意一个字母,将其按小写字母输出。
#include <stdio.h>main(){ char c;scanf("%c",&c);if (c>='A'&&c<='Z')c=c+32;printf("\n%c",c);}7. 有一函数x (x<1)y = 2x–1 (1≤x<10)3x–11 (x≥10)编写程序输入x,输出y值。
#include "stdio.h"main(){int x,y;scanf ("%d",&x);if (x<1)y=x;else if(x<10)y=2*x-1;elsey=3*x-11;printf ("%d",y);}9.给一个不多于3位的正整数,要求:(1)求出它是几位数;(2)、分别打出每一位数字;(3)、按逆序打出各位数字,例如原数为321,应输出123。
#include "stdio.h"void main(){int a,b,c,x,n;scanf("%d",&x);a=x/100;b=(x-a*100)/10;c=x%10;if(a!=0)printf("%d为3位数,原数为%d,逆序数为%d\n",x,x,c*100+b*10+a);else if(b!=0)printf("%d为2位数,原数为%d,逆序数为%d\n",x,x,c*10+b);elseprintf("%d为1位数,原数为%d,逆序数为%d\n",x,x,c);}实验三、循环结构实验(1)1.分析并修改下面的程序,使该程序能正常结束运行。
实验二选择结构程序做改错题的一般思路:首先修改程序中的语法错误:(1)观察程序中有没有用到数学函数,如果用了,察看程序中是否包含了对应的头文件。
(2)观察程序中用到的输入输出函数与头文件是否对应。
(3)include命令行的格式是否正确:#开头,不能加分号(4)函数名、函数类型、以及函数参数是否正确,函数首部不能加分号。
(5)程序中用到的变量是否都定义了,类型是否正确。
(6)输入、输出语句是否正确。
(7)大括号是否正确对应。
(8)其它语句的语法是否正确。
然后根据程序要实现的功能,修改逻辑错误:比如,对于求和算法,求和单元赋初值的位置是否正确等等。
同学们在做题的过程中要不断总结,积累宝贵经验。
读程序写运行结果:首先分析程序的结构,然后再读,写结果时注意输出语句的格式。
P89 1.改错题(1)正确程序为:#include <iostream.h>void main(){int a,b;cin>>a>>b;if(a==b){cout<<"a,b相等";cout<<a;}else if(a!=b){ cout<<"a,b不相等,较大的数为";if(a>b)cout<<"a,值为:"<<a;else cout<<"b,值为:"<<b;}}(2)正确程序为:#include <math.h>#include <iostream.h>void main(){ float x,y;cin>>x;if(x<0)y=sin(x)+1;if(0<=x&&x<10) y=pow(x,2)+3/x;if(x>=10)y=sqrt(x+4);cout<<y;}(3)正确程序为:#include <stdio.h>void main(){float cj;char grade;printf("Please enter a score:");scanf("%f",&cj);switch((int)cj/10){ case 10:case 9:grade='A';break;case 8:grade='B';break;case 7:grade='C';break;case 6:grade='D';break;default :grade='E';}printf("The grade of score is:%c.\n",grade);}(4)正确程序为:#include <iostream.h>void main(){char ch;cin>>ch;if(ch>='a'&&ch<='z')ch=ch-32;else if(ch>='A'&&ch<='Z')ch=ch+32;else if(ch>='0'&&ch<='9')ch=ch-'0';else ch=' ';cout<<ch;}(5)正确程序如下:#include <stdio.h>void main(){int day,month,year,leap=0,error=0;printf("Please input year-month-day:\n");scanf("%d,%d,%d",&year,&month,&day);if(year%400||(year%4==0&&year%100!=0))leap=1; switch(month){case 1:if(day>31)error=1;break;case 2:if(leap){if(day>29)error=1;}elseif(day>28)error=1;break;case 3:if(day>31)error=1;break;case 4:if(day>30)error=1;break;case 5:if(day>31)error=1;break;case 6:if(day>30)error=1;break;case 7:if(day>31)error=1;break;case 8:if(day>31)error=1;break;case 9:if(day>30)error=1;break;case 10:if(day>31)error=1;break;case 11:if(day>30)error=1;break;case 12:if(day>31)error=1;break; default:error=1;break;}if(error==0)printf("It is the correct date."); else printf("It is the wrong date.");}2.读程序,写结果(1)RUN↵2,1(2)RUN↵6(3)RUN↵x=2(4)RUN↵53.写程序(4)程序如下:#include <stdio.h>void main(){float x,y;scanf("%f",&x);if(x<1)y=x*x-1;else if(x<10) y=2*x-1;else y=3*x-11;printf("x,y=%f,%f",x,y);}分段函数的程序有两种典型错误:错误程序一:#include<iostream.h>void main(){float x,y;cin>>x;if(x<1)y=x*x-1;if(x<10)y=2*x-1;elsey=3*x-11;cout<<y;}错误原因:条件x<1引出的选择结构和条件x<10引出的选择结构是并列的关系,即:执行完前一个选择结构后,再执行后一个选择结构。
若x小于1,表达式x<1为真,执行语句y=x*x-1;计算出y的值。
然后执行由条件x<10引出的选择结构,此时条件x<10也为真,因此,执行语句y=2*x-1; 导致程序出错。
即:当x小于1时,计算出的y值不对,这种错误称为逻辑错误。
错误程序一:#include<iostream.h>void main(){float x,y;cin>>x;if(x<1)y=x*x-1;if(1<x<10)y=2*x-1;elsey=3*x-11;cout<<y;}错误原因:表达式1<x<10出错,这是一个逻辑错误。
在这个表达式中,先执行1<x,设这个表达式的值为t。
由于关系表达式的取值只有两个:0或1,即当x的值大于1时,表达式为真,t取1;当x的值小于等于1时,表达式为假,t取0。
然后执行t<10,由于无论x去何值,t只能取0或1,因此t<10为真,即:无论x为何值,表达式1<x<10的取值均为1,是一个永真式,导致程序出错。
改正:表达式1<x<10修改为:1<x&&x<10实验三循环结构程序设计二1.改错题(1)正确程序如下:#include <iostream.h>void main(){int i,n,flag=-1;float sum;sum=0;cin>>n;for(i=1;i<=n;i++){ flag=-flag;sum=sum+1.0/i*flag;} cout<<sum;}(2)正确程序如下:#include "stdio.h"void main(){char c;int sum;sum=0;while((c=getchar())!='0')sum=sum+c;printf("%d",sum);}(3)正确程序如下:#include "iostream.h"void main(){int m,s,j;for(m=1;m<=1000;m++) { s=0;for(j=1;j<m;j++)if(m%j==0)s+=j;if(s==m)cout<<m<<"\n"; }}(4)正确程序如下:#include <stdio.h>void main(){int n,max=0,t;scanf("%d",&n);do{ t=n%10;if(max<t)max=t;n/=10;}while(n);printf("max=%d",max);} (5)正确程序如下:#include <iostream.h>void main(){int i,k,sum=0,m,n,t,gs=0; cin>>m>>n;if(m>n){t=m;m=n;n=t;}for(k=m;k<=n;k++){ for(i=2;i<k;i++)if(k%i==0)break;if(k==i){ sum=sum+k;gs++;}}cout<<"共有"<<gs<<"个素数\n";cout<<"平均值为:"<<sum*1.0/gs;}2.填空题做填空题的一般思路:仔细读题,然后根据题意读程序,分析程序中每一部分的功能以及各变量的作用。
(1)填空后的程序如下:#include "iostream.h"void main(){int n,i;float s;s=1;cin>>n;for(i=1;i<=n;i++)s*=i;cout<<n<<"!="<<s<<endl;}(2)填空后的程序如下:#include "iostream.h"void main(){int n,i;double sum;sum=0;cin>>n;for(i=1;i<=n;i++)if(i%3==0||i%7==7)sum+=1.0/i;cout<<"sum="<<sum<<endl;}(3)填空后的程序如下:#include "iostream.h"void main(){int n,q;double s;n=2;cin>>q;s=2.0;while(s<=q){s=s+(double)(n+1)/n;n++;}cout<<"s="<<s<<endl;}(4)填空后的程序如下:#include "iostream.h"void main(){int x,i,j,sum=0;j=0;cin>>x;for(i=1;i<=x;i++)if(x%i==0)if(i%2!=0){cout<<i<<" ";j++;sum+=i;}cout<<endl<<"个数为:"<<j<<"其和为:"<<sum<<endl; }(5)填空后的程序如下:#include "iostream.h"void main(){int i,j,n,count=0;cin>>n;for(i=2;i<=n;i++){for(j=2;j<i;j++)if(i%j==0)break;if(j>=i){ count++;cout<<i<<" ";}}cout<<endl<<count<<endl;}(6)填空后的程序如下:#include "iostream.h"void main(){int i,n,sum;sum=0;cin>>n;for(i=2;i<=n;i=i+2){sum=sum+i;}cout<<sum<<endl;}(7)填空后的程序如下:#include "iostream.h"void main(){int n,g,b,s,count=0;for(n=100;n<1000;n++){ g=n%10;s=n/10%10;b=n/100;if(g+b==s){count++;cout<<n<<" ";if(count%5==0)cout<<endl;}}cout<<endl<<count<<endl;}(8)填空后的程序如下:#include "iostream.h"#include "iomanip.h"void main(){int n,i,j;float a,s=0;cin>>n;for(i=1;i<=n;i++){a=0;for(j=1;j<=i;j++)a+=j;s=s+1.0/a;}cout<<setiosflags(ios::fixed)<<setprecision(6); cout<<s<<endl;}(9)填空后的程序如下:#include "iostream.h"void main(){int n,m;long sum;sum=0;cin>>n>>m;while(n<=m){sum=sum+n;n++;}cout<<"sum="<<sum<<endl; }(10)填空后的程序如下:#include "iostream.h"void main(){int n,i;long sum=0,t=1;cin>>n;for(i=1;i<=n;i++){ t=t*i;sum=sum+t;}cout<<"sum="<<sum<<endl; }(11)填空后的程序如下:#include "iostream.h"void main(){int n,g;for(n=1;n<=1000;n++){ g=n%10;if(n==g*g*g)cout<<n<<" ";}}(12)填空后的程序如下:#include "iostream.h"void main(){int num,k,leap,g;float sum,aver;g=0;sum=0.0;for(num=2;num<100;num++) { leap=1;for(k=2;k<num;k++)if(num%k==0){leap=0;break;}if(leap){ sum=sum+num;g++;}}aver=sum*1.0/g;cout<<"sum="<<sum<<endl; cout<<"g="<<g;cout<<"aver="<<aver<<endl; }。