实验(8)-指针-参考答案

合集下载

网龙秋招测评

网龙秋招测评

网龙xxx秋招测评1. 垃圾:果皮,错误选项为:()A. 粮食:米B. 流水线:工人C. 电器:冰箱D. 动物:兔子参考答案:B2. 竹简:纸张,正确选项为:()A. 马鞍:汽车B. 水车:电C. 跑车:公交车D. 煤油:橄榄油参考答案:B3. 卓越的艺术家大多是疯子,例如梵高,他是具有高超色彩表现力和创造力的传奇画家,也是一个会将自己耳朵割下来的男人。

以下哪一项,最严重的削弱了上述论证?()A. 米开朗基罗是一个卓越的艺术家,但是他却不是疯子。

B. 有确切的证据表明梵高割下自己的耳朵不是因为疯狂,而是因为病痛C. 大多数疯子都不是艺术家D. 大多数艺术家都不是疯子参考答案:B4. 台风“莲花”和“灿鸿”同时在海面上活动,两个台风有可能发生合体,但是要发生合体,需要两个台风相互靠近。

但是近到一定距离时两个台风会绕着两者之间连线的某个点互相旋转,之后的路径往往会变得十分神秘莫测,有可能继续靠近到合并,有可能先靠近再分开,有可能先靠近再登陆然后又分开。

根据这段描述,以下哪一项为真?()A. 莲花和灿鸿很有可能合并B. 莲花和灿鸿有可能先靠近后分开C. 无法判断莲花和灿鸿是否会合并D. 莲花和灿鸿都会登陆参考答案:C5. 所有武汉人都是湖北人,所有武汉人都爱吃鸭脖子,有些湖北人爱吃藕,根据这些,可以推断以下哪项为真?()A. 有些湖北人不爱吃鸭脖子B. 有些武汉人爱吃藕C. 有些武汉人不爱吃藕D. 有些湖北人爱吃鸭脖子参考答案:D6.静电的神秘之处在于,尽管绝缘体表面积聚的同性带电粒子之间会互相排斥,这种排斥力使得它们均匀分布在物体表面并引发漏电,但电荷仍然能够稳定的大量积聚。

因此,静电能够积累足够的量,在导电途径出现时瞬间放电。

理解上述句子后,可以得出静电的神秘之处在于?()A. 静电能够积累足够的量,在导电途径出现时瞬间放电B. 绝缘体表面积聚的同性带点粒子会在物体表面引发漏电C. 电荷可以在绝缘体表面稳定地大量积聚D. 绝缘体表面积聚的电离子会互相排斥参考答案:C7.北京市互联网宣传管理办公室常务副主任佟力强对于微博实名制解释说,真实身份信息只用于后台注册,前台发言则可以继续使用匿名,也就是“后台实名,前台自愿”,不会影响余户的微博体验。

第5章 质量与密度附参考答案沪科版物理八年级全一册

第5章 质量与密度附参考答案沪科版物理八年级全一册

沪科版物理八上第5章质量与密度附参考答案一、填空题。

1、在“测量液体质量”的实验中,小刚把天平放在工作台面上,当移动游码至零刻度时,看到指针在分度盘中央两侧摆动,摆动的幅度如图1所示,此时应将平衡螺母向调。

用调节好的天平测得烧杯和盐水的总质量为50.2g,将盐水倒出,再用调节好的天平测量此时烧杯的质量,天平平衡时,砝码及游码的位置如图2所示,则倒出的盐水质量为g。

2、如图所示,使用量筒按正确的方法读数时,应沿虚线________的方向观察量筒刻度,此时的读数是________mL。

若沿虚线a的方向观察,读数会________(选填”偏大”或”偏小”)。

3、“全碳气凝胶”的密度仅为0.16 kg/m3,即为__ __g/cm3,用它制成体积为100 m3的实心“人造山峰”,质量只有__ __kg.若将它切去一半,剩下部分的密度将__ __(填“变大”“变小”或“不变”).4、地沟油中含有杂质及有毒物质,很多人猜想它的密度应该比正常食用油的密度要大,为了验证这种猜想,小明找到质量为0.46 kg的地沟油,测出其体积为0.5×10-3 m3,该地沟油的密度是________kg/m3;________(选填”能”或”不能”)用密度这一指标鉴别地沟油。

(已知正常食用油的密度约为0.91×103~0.93×103 kg/m3)5、某同学调节托盘天平平衡时,发现指针停在分度盘的右侧。

要使天平平衡。

应将横梁右端的平衡螺母向(左/右)移动;当他用天平测物体质量时,发现指针偏向分度盘的左侧,这时应该在天平右盘中(增加/减少)砝码;当他在天平右盘中放入50g、20g和5g的砝码各一个,并将游码拨到如图所示的位置时,指针恰好指在分度盘的中央,则被测物体的质量为。

6、用量筒可以测量形状不规则石块的体积,如图所示。

(1)图甲中水的体积为V1=________mL=________cm3。

(2)用细线拴住石块并浸没在水中,如图乙所示,则石块和水的总体积V2=______cm3。

单片机 第二章 习题参考答案

单片机 第二章 习题参考答案

一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。

2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。

3、当使用8751且EA=1,程序存储器地址小于 1000H 时,访问的是片内ROM。

4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。

5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。

6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。

7、PSW中RS1 RS0=10时,R2的地址为 12H 。

8、PSW中RS1 RS0=11时,R2的地址为 1AH 。

9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。

10、PC复位后为 0000H 。

11、一个机器周期= 12 个振荡周期= 6 个时钟周期。

12、PC的内容为将要执行的的指令地址。

13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。

14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。

15、若A中的内容为63H,那么,P标志位的值为 0 。

16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW=00H 。

这时当前的工作寄存器区是第 0 工作寄存器区。

17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。

18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区和用户RAM区。

19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。

调用返回时,再进行出栈保护,把保护的断点送回到 PC 。

20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为 64 KB。

习题参考答案1章

习题参考答案1章

习题参考答案1章第1章单片机概述1.除了单片机这一名称之外,单片机还可称为和答:微控制器,嵌入式控制器。

2.单片机与普通微型计算机的不同之处在于其将、、和3部分集成于一块芯片上。

答:CPU、存储器、I/O口。

3.8051与8751的区别是A.内部数据存储单元数目不同B.内部数据存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器的数目不同答:C。

4.在家用电器中使用单片机应属于微计算机的A.辅助设计应用;B.测量、控制应用;C.数值计算应用;D.数据处理应用答:B。

5.微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别?答:微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。

6.MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751。

它们的差别是在片内程序存储器上。

8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。

7.为什么不应当把51系列单片机称为MCS-51系列单片机?答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。

8.AT89C51单片机相当于MCS-51系列单片机中的哪一种型号的产品?答:相当于MCS-51系列中的87C51,只不过是AT89C51芯片内的4KBFlah存储器取代了87C51片内的4KB的EPROM。

第2章AT89C51单片机片内硬件结构1.在AT89C51单片机中,如果采用6MHz晶振,一个机器周期为答:2μ2.AT89C51单片机的机器周期等于个时钟振荡周期。

答:12。

3.内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为和答:28H;88H。

高中物理《电学实验》练习题(附答案解析)

高中物理《电学实验》练习题(附答案解析)

高中物理《电学实验》练习题(附答案解析)学校:___________姓名:___________班级:___________一、单选题1.用欧姆表的×100挡测一电阻,发现指针偏角太小,应换下面哪个倍率挡位()A.×1挡B.×10挡C.×100挡D.×1k挡2.关于欧姆表及其使用中的问题,下列说法中正确的是()A.接表内电源负极的应是黑表笔B.换挡后,都要重新调零C.表盘刻度是均匀的D.表盘刻度最左边表示电阻阻值为03.如图,该电路元器件对应的符号是()A.B.C.D.4.在利用多用电表欧姆挡前要进行欧姆调零,欧姆调零利用的是()A.甲旋钮B.乙旋钮C.丙旋钮D.丁插孔5.某同学通过实验测定阻值约为5Ω的电阻x R,用内阻约为3kΩ的电压表,内阻约为0.125Ω的电流表进行测量。

他设计了图甲和图乙两种电路,下列说法正确的是()A .实验中应采用图甲电路,此电路测得的x R 偏大B .实验中应采用图乙电路,此电路测得的x R 偏大C .实验中应采用图甲电路,误差主要是由电压表分流引起的D .实验中应采用图乙电路,误差主要是由电流表分压引起的6.电容器是一种重要的电学元件,在电工和电子技术中应用广泛.使用图甲所示电路观察电容器的充电和放电过程.电路中的电流传感器(不计内阻)与计算机相连,可以显示电流随时间的变化.直流电源电动势为E ,实验前电容器不带电.先将开关K 拨到“1”给电容器充电,充电结束后,再将其拨到“2”,直至放电完毕.计算机显示的电流随时间变化的i t -曲线如图乙所示.则下列说法正确的是( )A .乙图中阴影部分的面积12S SB .乙图中阴影部分的面积12S S <C .由甲、乙两图可判断阻值12R R >D .由甲、乙两图可判断阻值12R R =7.在使用多用电表的欧姆档测电阻时,下列说法正确的是( )A .将红黑表笔短接,调节欧姆调零旋钮使指针指向左侧“0”刻度处B .测量时若发现指针偏转角度过小,则应该减小倍率,并重新欧姆调零后再进行测量C .欧姆表的电池使用时间太长,虽然仍能正常调零,但测量值将略偏大D .使用完毕,直接将多用电表摆放整齐即可8.用如图所示的电路测定电池的电动势和内阻,由于电表内阻的影响,关于电动势的真实值E 0与测量值E 及电池内阻的真实值r 0与内阻的测量值r 的说法正确的是( )A.E0>E,r0>r B.E0=E,r0<rC.E0=E,r0>r D.E0<E,r0<r二、多选题9.在用欧姆表测电阻的实验中,用“×10”挡测量一个电阻的阻值,发现表针偏转角度极小,正确的判断和做法是A.这个电阻值很小B.这个电阻值很大C.为了把电阻测得更准确一些,应换用“×1”挡,重新测量D.为了把电阻测得更准确一些,应换用“×100”挡,重新测量10.使用多用电表的欧姆挡测电阻时,下列说法正确的是.A.测量前应检查指针是否停在“Ω”刻度线的“∞”处B.每一次换挡,都要重新进行一次调零C.在外电路,电流从红表笔流经被测电阻到黑表笔D.测量时,若指针偏转很小(靠近∞附近),应换倍率更大的挡进行测量11.如图所示是伏安法测电阻的部分电路,开关先后接通a和b时,观察电压表和电流表示数的变化。

2024年高考真题理综(新课标卷)含参考答案

2024年高考真题理综(新课标卷)含参考答案

2024年普通高等学校招生全国统一考试(新课标卷)理科综合(含参考答案)注意事项:1.答卷前,考生务必将自己的姓名、准考证号填写在答题卡上。

2.回答选择题时,选出每小题答案后,用铅笔把答题卡上对应题目的答案标号涂黑。

如需改动,用橡皮擦干净后,再选涂其他答案标号。

回答非选择题时,将答案写在答题卡上。

写在本试卷上无效。

3.考试结束后,将本试卷和答题卡一并交回。

可能用到的相对原子质量:H1C12N14O16S32Mn55Fe56Co59Ni59Zn65一、选择题:本题共13小题,每小题6分,共78分。

在每小题给出的四个选项中,只有一项是符合题目要求的。

1.大豆是我国重要的粮食作物。

下列叙述错误的是()A.大豆油含有不饱和脂肪酸,熔点较低,室温时呈液态B.大豆的蛋白质、脂肪和淀粉可在人体内分解产生能量C.大豆中的蛋白质含有人体细胞不能合成的必需氨基酸D.大豆中的脂肪和磷脂均含有碳、氢、氧、磷4种元素2.干旱缺水条件下,植物可通过减小气孔开度减少水分散失。

下列叙述错误的是()A.叶片萎蔫时叶片中脱落酸的含量会降低B.干旱缺水时进入叶肉细胞的会减少C.植物细胞失水时胞内结合水与自由水比值增大D.干旱缺水不利于植物对营养物质的吸收和运输3.人体消化道内食物的消化和吸收过程受神经和体液调节。

下列叙述错误的是()A.进食后若副交感神经活动增强可抑制消化液分泌B.唾液分泌条件反射的建立需以非条件反射为基础C.胃液中的盐酸能为胃蛋白酶提供适宜的pH环境D.小肠上皮细胞通过转运蛋白吸收肠腔中的氨基酸4.采用稻田养蟹的生态农业模式既可提高水稻产量又可收获螃蟹。

下列叙述错误的是()A.该模式中水稻属于第一营养级B.该模式中水稻和螃蟹处于相同生态位C.该模式可促进水稻对二氧化碳的吸收D.该模式中碳循环在无机环境和生物间进行5.某种二倍体植物的P1和P2植株杂交得F1,F1自交得F2。

对个体的DNA进行PCR检测,产物的电泳结果如图所示,其中①~⑧为部分F2个体,上部2条带是一对等位基因的扩增产物,下部2条带是另一对等位基因的扩增产物,这2对等位基因位于非同源染色体上。

2024年北京海淀区初三一模考试物理及答案

参考答案一、单项选择题(共24分,每小题2分)二、多项选择题(共6分,每小题2分)三、实验探究题(共28分,16、17、21、22题各4分,18、19、20、23题各3分)16.(1)3.80(2分) (2) S (2分)17.(1)晶体(2分) (2) 有固定的熔点(2分)18.(1)逆时针 (1分)(2)灵敏电流计的指针偏转角度与摇绳的速度有关吗? (2分)19.(1)153 (1分)(2)60 (1分)(3)1.1 (1分)20.(1)U 型管两侧的液面高度差(1分)(2)液体压强与液体的深度有关 (1分);(3)没有控制液体的深度不变(1分) 21.(1)电阻大小(1分) (2)2(1分);(3)当电阻大小和通电时间相同时,通过导体的电流越大,电流通过导体产生的热量越多(2分)22.(1)照相机 (1分)(2)C (1分)(1)靠近 (1分)(2)凹 (1分)23.由于在水中静止时处于漂浮状态所以ρ水>ρ物, F 浮=G即ρ水gV 排 =ρ物gV 物 V 排=9/10V 物 所以ρ物=0.9×103kg/m 3F 1=F 浮1-G =ρ水gV -ρ物gV=(1×103kg/m 3-0.9×103kg/m 3)= 0.1×103kg/m 3 gVF 2=G -F 浮2 =ρ物gV -ρ水gV=(0.9×103kg/m 3-0.8×103kg/m 3)=0.1×103kg/m 3 gV所以F 1=F 2题号1 2 3 4 5 6 7 8 9 10 11 12 答案 A D A C A C D D B D B B 题号 13 14 15 答案 BC AC ACD F 浮2 F 浮1G在水中 F 1F 2四、科普阅读题(共4分) 24.(1)太阳同步晨昏轨道(1分)(2)5.6 (1分)(3)M3(2分)五、计算题(共8分,25题4分,26题4分 )25.(4分)(1)小灯泡的额定功率P =UI=2.5V×0.3A=0.75W (2分)(2)通过电阻R 的电流I R =U/R =2.5V/25Ω=0.1A电路的总电流I =I L + I R =0.1A +0.3A=0.4A (2分)26.(4分)(1)(2) 在水中 G=F 1+F 浮在煤油中G=F 2+F 浮, F 浮 =ρ水gVF 浮,=ρ油gVF 1+ρ水gV=F 2+ρ油gVF 2 -F 1=(ρ水-ρ油)gV3.2N -3N=(1×103kg/m 3-0.8×103kg/m 3)×10N/kg ×V V=1×10-4m 3G=4N(3)在液体中G=F 3+F 浮F 浮=ρ液gV4N=2N+ρ液×10N/kg ×1×10-4m 3ρ液=2×103kg/m 3F 浮 GF 拉G在酒精中。

微机原理及接口技术李干林—习题参考解答

习题参考解答1.1 什么是微处理器、微型计算机、微型计算机系统?参考答案:将运算器和控制器集成在一块大规模集成电路芯片上作为中央处理部件,简称为微处理器;以微处理器为核心,再配上存储器、接口电路等芯片,构成微型计算机;微型计算机系统由硬件和软件系统两大部分组成:(1)硬件系统由微型计算机和外设组成的计算机实体;(2)软件系统是指为微型计算机运行的全部技术资料和各种程序,由系统软件和应用软件构成。

1.2 什么是微型计算机的三种总线?参考答案:系统总线包含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。

“数据总线DB”用于传送数据信息。

数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或I/O接口等其它部件,也可以将其它部件的数据传送到CPU。

“地址总线AB”是专门用来传送地址的,由于地址只能从CPU传向外部存储器或I/O端口,所以地址总线总是单向三态的。

“控制总线CB”用来传送控制信号和时序信号。

1.3 评估微型计算机的主要技术指标有哪些?参考答案:评估微型计算机的主要技术指标有:⑴CPU的字长,决定计算机内部一次可以处理的二进制代码的位数;⑵内存储器容量与速度,内存储器容量是衡量它存储二进制信息量大小的一个重要指标,内存储器的速度用存取周期来衡量;⑶CPU指令执行时间,反映CPU运算速度的快慢;⑷系统总线的传输速率等。

1.4 将下列十进制数分别转换为二进制、十六进制数。

⑴ 35 ⑵ 130 ⑶ 0.625 ⑷ 48.25参考答案:⑴ 100011B,23H ⑵⑶ 0.101B,0.AH ⑷ 110000.01B,30.4H1.5 将下列二进制数分别转换为十进制、八进制、十六进制数。

⑴ 101101B ⑵⑶ 110110.101B ⑷ 101011.011B参考答案:⑴ 45,55Q,2DH ⑵ 230,346Q,E6H⑶ 54.625,66.5Q,36.AH ⑷ 43.375,53.3Q,2B.6H1.6 写出下列十进制数的原码、反码、补码(分别采用8位二进制和16位二进制表示)。

栈与队列习题参考答案

习题三参考答案备注: 红色字体标明的是与书本内容有改动的内容。

一、选择题1.在栈中存取数据的原则是( B )。

A.先进先出 B. 先进后出C. 后进后出D. 没有限制2.若将整数1、2、3、4依次进栈,则不可能得到的出栈序列是( D )。

A.1234 B. 1324 C. 4321 D. 14233.在链栈中,进行出栈操作时(B )。

A.需要判断栈是否满 B. 需要判断栈是否为空C. 需要判断栈元素的类型D. 无需对栈作任何差别4.在顺序栈中,若栈顶指针top指向栈顶元素的下一个存储单元,且顺序栈的最大容量是maxSize,则顺序栈的判空条件是( A )。

A.top==0 B.top==-1 C. top==maxSize D.top==maxSize-15.在顺序栈中,若栈顶指针top指向栈顶元素的下一个存储单元,且顺序栈的最大容量是maxSize。

则顺序栈的判满的条件是( C )。

A.top==0 B.top==-1 C. top==maxSize D.top==maxSize-16.在队列中存取数据元素的原则是( A )。

A.先进先出 B. 先进后出C. 后进后出D. 没有限制7.在循环顺序队列中,假设以少用一个存储单元的方法来区分队列判满和判空的条件,front和rear分别为队首和队尾指针,它们分别指向队首元素和队尾元素的下一个存储单元,队列的最大存储容量为maxSize,则队列的判空条件是(A )。

A.front==rear B. front!=rearC. front==rear+1D. front==(rear+1)% maxSize8.在循环顺序队列中,假设以少用一个存储单元的方法来区分队列判满和判空的条件,front和rear分别为队首和队尾指针,它们分别指向队首元素和队尾元素的下一个存储单元,队列的最大存储容量为maxSize,则队列的判满条件是(D )。

A.front==rear B. front!=rearC. front==rear+1D. front==(rear+1)% maxSize9.在循环顺序队列中,假设以少用一个存储单元的方法来区分队列判满和判空的条件,front和rear分别为队首和队尾指针,它们分别指向队首元素和队尾元素的下一个存储单元,队列的最大存储容量为maxSize,则队列的长度是(C )。

单片机 第二章 习题参考答案

第二章习题参考答案一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。

2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。

3、当使用8751且EA=1,程序存储器地址小于 1000H 时,访问的是片内ROM。

4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。

5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。

6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。

7、PSW中RS1 RS0=10时,R2的地址为 12H 。

8、PSW中RS1 RS0=11时,R2的地址为 1AH 。

9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。

10、PC复位后为 0000H 。

11、一个机器周期= 12 个振荡周期= 6 个时钟周期。

12、PC的内容为将要执行的的指令地址。

13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。

14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。

15、若A中的内容为63H,那么,P标志位的值为 0 。

16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW=00H 。

这时当前的工作寄存器区是第 0 工作寄存器区。

17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。

18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区和用户RAM区。

19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。

调用返回时,再进行出栈保护,把保护的断点送回到 PC 。

20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为 64 KB。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 C语言程序设计 实验教学(8) 【实验目的】指针是C语言中非常重要的一章内容。通过实验让学生掌握各类指针的定义与引用、指针作为函数参数的应用、字符指针的应用、函数指针的应用。 【实验要求】使用指针来完成变量的引用,编写程序将指针作为参数进行传递,理解指针的含义。 【实验课时】10.0 【实验内容】

1. 上机编程实现用函数来将从键盘上输入的三个数按由小到大的顺序输出。要求编写自定义函数swap()用于交换两个变量的值;且函数原型为:void swap(int *p1,int *p2);;并在main函数中用指针变量作为实际参数调用函数swap();最后输出排序后的结果。

#include main() {void swap(int *p1,int *p2); int n1,n2,n3; int *p1,*p2,*p3; printf("Input three integers n1,n2,n3: "); scanf("%d,%d,%d",&n1,&n2,&n3); p1=&n1; p2=&n2; p3=&n3; if(n1>n2) swap(p1,p2); if(n1>n3) swap(p1,p3); if(n2>n3) swap(p2,p3); printf("Now, the order is: %d,%d,%d\n",n1,n2,n3);}

void swap(int *p1,int *p2) {int p; p=*p1;*p1=*p2;*p2=p;} 运行结果如下: Input three integers n1,n2,n3: 34,21,25↙ Now, the order is: 21,25,34 2

2. 上机编程实现用函数来将从键盘上输入的三个字符串按由小到大的顺序输出。要求编写自定义函数swap()用于交换两个变量的值;且函数原型为:void swap(char *p1,char *p2);;并在main函数中用字符数组名作为实际参数调用函数swap();最后输出排序后的结果。

#include #include main() {void swap (char *p1,char*p2); char str1[20],str2[20],str3[20]; printf("Input three strings:\n"); gets(str1); gets(str2); gets(str3); if(strcmp(str1,str2)>0) swap(str1,str2); if(strcmp(str1,str3)>0) swap(str1,str3); if(strcmp(str2,str3)>0) swap(str2,str3); printf("Now, the order is:\n"); printf("%s\n%s\n%s\n",str1,str2,str3);}

void swap (char *p1,char*p2) /*交换两个字符串*/ { char p[20]; strcpy(p,p1); strcpy(p1,p2); strcpy(p2,p);}

运行结果如下: Input three lines: I study very hard.↙ C language is very interesting.↙ He is a professor.↙ Now, the order is: C language is very interesting. He is a professor. I study very hard. 3

3. 上机编程实现用函数来返回一维数组a中的最大值。要求设计一个自定义函数max()函数原型为:int max(int *p,int n);;在main函数中用数组名a和数组的长度n作为实际参数调用函数max();最后输出结果。

int max(int *p,int n) {int i,max; max=p[0]; for(i=1;iif(maxreturn max;}

main() {int i,a[6]; for(i=0;i<6;i++) scanf("%d",&a[i]); printf("max=%d \n",max(a,6));} /*或者用max(&a[0],6) */

4. 上机编程实现从键盘上输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请编写3个函数:(1)输入10个数;input()函数原型为:void input(int *);;(2)进行处理;max_min_value()函数原型为:void max_min_value(int *);(3)输出10个数。output()函数原型为:void output(int *); 解:输入输出函数的N-S图见图10.1。交换函数的N-S图见图10.2。

#include 4

main() {void input(int *); void max_min_value(int *); void output(int *); int number[10]; input(number); max_min_value(number); output(number);}

void input(int array[10]) {int i; printf("input 10 numbers: "); for(i=0;i<10;i++) scanf("%d",&array[i]);}

void max_min_value(int array[10]) {int *max,*min,*p,*array_end; array_end=array+10; max=min=array; for(p=array+1;pif(*p>*max) max=p; else if(*p<*min) min=p; *p=array[0]; array[0]=*min; *min=*p; *p=array[9];array[9]=*max;*max=*p;}

void output(int array[10]) {int *p; printf("Now, they are: "); for(p=array;p<=array+9;p++) printf("%d ",*p);}

运行结果如下: input 10 numbers: 32 24 56 78 1 98 36 44 29 6↙ Now, they are: 1 24 56 78 32 6 36 44 29 98

5.编写一函数,函数原型为:void invert(char *p,int m);,实现将n个数按输入顺序的逆序存放,并输出。 5

#include main() {void invert(int *p,int m); int i,n; int *p,num[20]; printf("\ninput n: "); scanf("%d",&n); printf("please input these numbers:\n"); for(i=0;iscanf("%d",&num[i]); p=&num[0]; invert(p,n); printf("Now, the sequence is:\n"); for(i=0;iprintf("%5d",num[i]); }

void invert(int *p,int m) {int i; int temp,*p1,*p2; for(i=0;i{p1=p+i; p2=p+(m-1-i); temp=*p1; *p1=*p2; *p2=temp;} }

运行结果: input n: 10↙ please input these numbers: 10 9 8 7 6 5 4 3 2 1 ↙ Now,the sequence is: 1 2 3 4 5 6 7 8 9 10

6. 在主函数中输入n个整数,编写一函数move(),是n个整数循环向后移一个位置,函数原型为:void move(int *,int,int); 再通过函数的递归调用实现将前面各数顺序向后移m个位置,使得最后m个数变成最前面m个数,(效果见图10.3)。并在主函数中输出调整后的n个数。 6

#include main() {int number[20],n,m,i; void move(int array[20],int n,int m); printf("\nHow many numbers? "); /* 共有多少个数 */ scanf("%d",&n); printf("Input %d numbers: \n",n); /* 输入n个数 */ for(i=0;iscanf("%d",&number[i]); printf("How many place you want to move? "); /* 后移多少个位置 */ scanf("%d",&m); move(number,n,m); /* 调用move 函数 */ printf("Now, they are: \n"); for(i=0;iprintf("%5d",number[i]);}

void move(int array[20],int n,int m) /* 循环后移-次的函数 */ {int *p,array_end; array_end=*(array+n-1); for(p=array+n-1;p>array;p--) *p=*(p-1); *array=array_end; m--; if(m>0) move(array,n,m); /*递归调用,当循环次数m减至0时,停止调用*/ }

运行结果: How many numbers? 8↙ Input 8 numbers:

相关文档
最新文档