实验7 指针
- 格式:doc
- 大小:24.50 KB
- 文档页数:2
实验七:指针的应用【实验目的】1.掌握指针和指针变量,内存单元和地址、变量与地址、数组与地址的关系;2.掌握指针变量的定义和初始化,指针变量的引用方式;3.能正确使用数组的指针和指向数组的指针变量;【实验内容】1.填空题输入一个字符串,将其中的大写字母转换成小写字母,然后输出本程序主要是比较scanf()输入和gets()输入的区别#include <stdio.h>void main(){ char s[20];char *p=s;scanf(“%s”,p); /*注意用scanf()输入和gets()输入的区别*/while( 1 ){if( 2 ) *p=*p+ (‘a’-‘A’);p++ ;}puts ( 3 );}答案:1、*p!=’\0’2、(*p>='A')&&(*p<='Z')3、s运行结果:输入:Program输出:program输入:This is Program输出:this提示:scanf ()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。
如键入any boy并回车,则2。
补充程序题输入15个整数存入一维数组,再按逆序重新调整该数组中元素的顺序然后再输出。
下面给出部分程序的内容,请将程序补充完整,然后上机调试。
部分程序清单如下:#include <stdio.h>void main(){ int a[15],*p1,*p2,x;for(p1=a;p1<a+15;p1++)scanf("%d",p1);for(p1=a,p2=a+14;p1<a+7;p1++,p2--){ x=*p1;*p1=*p2;*p2=x;}……}答案:for(p1=a;p1!=a+15;p1++)printf("%d ",*p1); // %d后面有一个空格运行结果:输入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15输出:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1提示:(1)在整型数组中,没有结束标志,必须依靠数组中数据元素的个数控制循环次数。
C语⾔教材第七章指针实验第七章指针第⼀部分知识训练【知识要点】1. 地址与指针指针变量的概念:⽤⼀个变量专门来存放另⼀个变量的地址。
2. 指向变量的指针变量指针变量的形式:基类型 *指针变量名;&: 取地址运算符;*:指针运算符。
3. 指针与数组引⽤⼀个数组元素可以⽤下标法和指针法;可以⽤数组名作函数的参数。
4.指针与函数函数指针变量定义的⼀般形式为:类型说明符 (*指针变量名)();⼀个函数的返回值可以是⼀个函数。
【典型习题与解析】5. char * const p;char const * pconst char *p上述三个有什么区别?【解析】char * const p; //常量指针,p的值不可以修改;char const * p;//指向常量的指针,指向的常量值不可以改;const char *p; //和char const *p。
6. main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}输出结果是什么?【解析】答案:输出:2,5*(a+1)就是a[1],*(ptr-1)就是a[4],执⾏结果是2,5。
&a+1不是⾸地址+1,系统会认为加⼀个a数组的偏移,是偏移了⼀个数组的⼤⼩(本例是5个int)。
1)&a是数组指针,其类型为 int (*)[5];⽽指针加1要根据指针类型加上⼀定的值,不同类型的指针+1之后增加的⼤⼩不同。
2)a是长度为5的int数组指针,所以要加 5*sizeof(int),所以ptr实际是a[5],但是prt与(&a+1)类型是不⼀样的(这点很重要),所以prt-1只会减去sizeof(int*) a,&a的地址是⼀样的,但意思不⼀样。
3)a是数组⾸地址,也就是a[0]的地址,&a是对象(数组)⾸地址,a+1是数组下⼀元素的地址,即a[1],&a+1是下⼀个对象的地址,即a[5]。
实验七功能指令的编程实验一、实验目的1、通过实验了解部分功能指令的编程与调试的方法2、进一步熟悉STEP7编程软件的使用3、熟悉数据区的下载的使用方法、特性,熟悉系统块的设置方法。
二、实验内容1、跳转与标号指令:将下面的程序下载到PLC,用状态表或程序状态功能监视各输出点和定时器的运行情况。
LD I0.0JMP 0 //I0.0为ON时跳步条件满足LD I0.4= Q0.1LD I0.1TON T37,100 //100ms定时器,设定值为10sLD I0.2TON T33,1000 //10ms定时器,设定值为10sLBL 0LD T33= Q0.0接通I0.0对应的小开关,跳步指令JMP的跳步条件满足,将跳到标号LBL 0处。
此时接通I0.4对应的小开关,观察是否能控制Q0.1。
依次检查两个定时器与跳步的关系,即在跳步条件不满足时启动某一定时器定时,在定时过程中使跳步条件满足,观察该定时器的当前值是继续变化还是保持不变,如果还在继续变化,是否还能用I0.1或I0.2来控制定时器的运行,定时时间到时定时器位是否变为ON,并在跳步区外起作用。
2、循环指令:将下面的程序下载到PLC,在状态表中监视VW100—VW108和存储累加和的VD10,将数据写入VW100—VW108,用I0.0对应的小开关启动循环指令的执行,观察求出的累加和是否正确。
//在I0.0变为ON的上升沿,求VW100—VW108中五个字的累加和。
LD I0.0EU //在I0.0变为ON的上升沿时MOVB 0,AC0 //清累加器0MOVD &VB100,AC1 //累加器1指向VB100FOR VW0,1,5 //循环开始LD SM0.0+I *AC1,AC0 //字累加+D 2,AC1 //指针AC1的值加2,指向下一个字NEXT //循环结束LD SM0.0MOVD AC0,VD103、比较指令:将下面的程序下载到PLC,运行该程序,监视T33当前值的变化情况,观察Q0.0是否能输出方波。
实验7 用球体法测量导热系数实验一、实验目的1. 学习用球体法测定粒状材料导热系数的方法。
2. 了解温度测量过程及温度传感元件。
二、实验原理1.导热的定义;导热是指物体内的不同部位因温差而发生的传热,或不同温度的两物体因直接接触而发生的传热。
2.温度场非稳态t=f (x,y,z,ι) 稳态t=f(x,y,z) 一维稳态t=f(x)上式中x,y,z 为空间坐标,ι为时间 3温度梯度等温面法向温度增量△t 与距离 n 的极限比值的极限。
即: grad ntn n t t n t ∂∂=∆∆=→∆lim。
4傅里叶定律 热流密度 Q=-λn t ∂∂=-λdxdtQ=mw5.导热系数λ=-dxdt q λ;为导热系数,w/m.k6.影响λ 的因素1),温度、密度、湿度及材料的种类的等因素。
2), 与温度呈线性关系()bt m +=10λλ7.球体法适用于测定颗粒状(或粉末)材料的导热系数。
如图7—1所示。
热导率是表征材料导热能力的物理量,其单位为W/(m ·K),对于不同的材料,热导率是不同的。
对于同一种材料,热导率还取决于它的化学纯度,物理状态(温度、压力、成分、容积、重量和吸湿性等)和结构情况。
各种材料的热导率都是专门实验测定出来的,然后汇成图表,工程计算时,可以直接从图表中查取。
球体法就是应用沿球半径方向一维稳态导热的基本原理测定粒状和纤维状材料导热系数的实验方法。
设有一空心球体,若内外表面的温度各为t 1和t 2并维持不变,根据傅立叶导热定律:drdtr dr dt Aλπλφ24-=-= (1) 边界条件2211t t r r t t r r ====时时 (2)1、若λ= 常数,则由(1)(2)式求得122121122121)(2)(4d d t t d d r r t t r r --=--=πλπλφ[W])(2)(212112t t d d d d --=πφλ [W/(m ·K)] (3)2、若λ≠ 常数,(1)式变为drdtt r )(42λπφ-= (4) 由(4)式,得dt t r dr tt r r ⎰⎰-=2121)(42λπφ 将上式右侧分子分母同乘以(t 2-t 1),得 图7—1 球壳导热过程)()(4121222121t t t t dtt rdr t t r r ---=⎰⎰λπφ (5) 式中1221)(t t dtt t t -⎰λ项显然就是λ在t 1和t 2范围内的积分平均值,用m λ表示即1221)(t t dtt t t m -=⎰λλ,工程计算中,材料的热导率对温度的依变关系一般按线性关系处理,即)1(0bt +=λλ。
实验七土壤反应及缓冲性能的测定土壤酸度是由氢、铝等离子引起的。
它可分为活性酸及潜性酸两种。
由土壤溶液中氢离子所引起的酸性反应叫活性酸,用酸碱度(pH值)表示,可用混合指示剂变色反应或电位法测定。
由土壤胶体上吸附的交换性氢离子或铝离子所引起的酸性反应叫潜性酸,是用总酸量表示,其大小和土壤阳离子交换量、盐基饱和度以及代换性铝离子有关。
一般用中性盐类或水解性盐类把被吸附在土壤胶体表面的氢离子和铝离子代换出来,再滴定溶液中的酸度。
土壤酸碱度是土壤重要的化学性质。
它影响土壤矿物质的转化,土壤养分的形态及其有效性,对作物生长和土壤微生物活动也有密切的关系。
土壤酸碱度的测定作为施用石灰改良酸性土、指导合理施肥等方面都有直接的参考意义。
一、土壤酸碱度(pH值)的测定(pH混合指示剂法)在瓷盘的几个瓷穴中滴入 pH混合指示剂2—3滴(如出现黄色或紫色,即为瓷盘不洁净,须将瓷盘洗净),加入不同土壤样品少许,然后再用指示剂湿润至呈过饱和状态,用洁净小玻璃棒拌匀,放置约1分钟,使大部土粒下沉。
将板倾侧,用标准色卡与穴内流出液的颜色比较,记载土壤酸碱度(pH值)。
二、土壤中的活性酸与潜性酸的比较取蒸馏水及1M氯化钾液各4—5滴,置瓷穴中,加指示剂1滴,记录其pH值。
氯化钾和蒸馏水的pH值均为中性,如反应呈现酸或碱性,均应调整或另配。
1.取洗净之试管4支,编号为(1)、(2)、(3)、(4),分别做以下处理。
第(1)管加入1M氯化钾液10毫升及酸性土2克。
第(2)管加人1M氯化钾液10毫升及中性土2克。
第(3)管加入蒸馏水10毫升及酸性土2克。
第(4)管加人蒸馏水10毫升及中性土2克。
2.将以上4支各塞洁净塞子,摇震1分钟放置澄清,如不澄清,则在离心机上分离之。
3.分别吸取各管内上层澄清液5毫升至另一试验管中,各加pH混合指示剂数滴,比色记载酸碱度(pH值)。
4.在各试管的澄清液中加入中性氟化钠液(3.5%浓度)5滴,摇匀后,静止5分钟,比色并记载酸碱度(pH值)。
教材P151(实验内容以本电子档为准)实验7:示波器及其使用示波器是一种常用的电子仪器,主要用于观察和测量各种电信号。
是展示和观测电信号的电子仪器,可以直接测量信号电压的大小和周期.配合各种传感器把非电量转换成电量,示波器也可以用来观察各种非电量的变化过程。
特别适用于观测瞬时变化的过程.本实验是利用示波器观察周期性改变信号和测量其主要参数。
交流电的电压(或电流)随时间作周期性变化。
实际上,所谓交流电包括各种各样的波形,如正弦波、方波、锯齿波等。
一、实验目的1.了解示波器的基本结构和工作原理,掌握示波器的基本调节和使用方法;2.学会使用常用信号发生器;掌握用示波器观察电信号波形的方法。
3.学会用示波器测量电信号电压、周期和频率等电参量;4.学会用示波器观察利萨如图形二、实验器材(型号、规格、件数)1、双踪示波器(20MHz CS—4215A) 1台示波器:用来测量实验电路的输入、输出信号。
通过示波器可显示电压或电流波形,可测量频率、周期等其它有关电参数。
2、低频信号发生器(10Hz—1MHz) 2台3、信号发生器:用来产生信号源的仪器,一般有正弦波、三角波、方波输出,输出电压和频率均可调节。
有数字式或指针式指示其输出大小,波形可根据被测实验电路要求进行选择。
本实验室低频信号发生器是指针式,只提供正弦波、方波两种波形。
•电压由FINE旋动调节其大小。
•频率由刻度盘读数及RANGE按键倍数决定。
如:频率刻度盘读数为20,RANGE按键倍数为×100,则频率值f=20×100=2000H Z4、屏蔽连接线(同轴电缆)2根三、实验原理1、示波器工作原理如图示:2、正弦交流电压波型2、正弦交流电3、利萨如图形成原理利萨如图形参考:四、实验内容:1、用示波器单通道观察信号波型(正弦波、方波),绘出波型图。
2.学习使用示波器定量测量电信号的电压、周期、频率。
3、用示波器双通道观察利萨如图,绘出利萨如波型图,并探讨利萨如图型规律。
课练7实验探究弹簧弹力与弹簧伸长量的关系验证力的平行四边形定则1。
下列是某小组做“探究弹力和弹簧伸长的关系”实验中准备完成的实验步骤.请你帮该小组按操作的先后顺序用字母排列出来:________.A.以弹簧伸长量为横坐标,以弹力为纵坐标,描出各组数据(x,F)对应的点,作出F-x图线.B.记下弹簧不挂钩码时,其下端在刻度尺上的刻度L0。
C.依次在弹簧下端挂上1个、2个、3个、4个……钩码,并分别记下钩码静止时,弹簧下端所对应的刻度并记录在表格内,然后取下钩码D.将铁架台固定于桌子上,并将弹簧的一端系于横梁上,在弹簧附近竖直固定一刻度尺.E.以弹簧伸长量为自变量,写出弹力与弹簧伸长量的关系式.F.解释函数表达式中常数的物理意义.答案:DBCAEF解析:第一步,安装实验装置,为D;第二步,记下弹簧不挂钩码时,其下端在刻度尺上的刻度L0,以便计算弹簧的伸长量,为B;第三步,依次在弹簧下端挂上1个、2个、3个、4个……钩码,并分别记下钩码静止时,弹簧下端所对应的刻度并记录在表格内,然后取下钩码,为C;第四步,画出图象,为A;第五步,写出关系式,为E;最后,解释函数表达式中常数的物理意义,为F。
所以步骤为DBCAEF。
2.某同学利用如图a所示装置做探究弹簧弹力大小和其长度的关系的实验.(1)他通过实验得到如图b所示的弹力大小F与弹簧长度x的关系图线.由此图线可得该弹簧的原长x0=________cm,劲度系数k=________N/m.(2)他又利用本实验原理把该弹簧做成一把弹簧秤,当弹簧秤上的示数如图c所示时,该弹簧的长度x=________cm.答案:(1)4 25 (2)16解析:(1)如果以弹簧长度x为横坐标,弹力大小F为纵坐标,作出F-x图象,那么图象与横轴的截距表示弹簧的原长,图线的斜率表示弹簧的劲度系数,所以根据图象可知,该弹簧的原长x0=4 cm,劲度系数k=错误!=25 N/m;(2)弹簧秤的读数表示弹力的大小,即F=3。
c语言程序设计教程(第2版)课后题及模拟题参考答案习题1 (3)1-1 填空题 (3)1-2 思考题 (3)1-3 编程题 (3)习题2 (4)2-1 单选题 (4)2-2 思考题 (4)习题3 (5)3-1 选择题 (5)3-2 填空题 (5)3-3 编程题 (5)习题4 (7)4-1单选题 (7)4-2填空题 (7)4-3 编程题 (7)习题5 (10)5-1单选题 (10)5-2填空题 (10)5-3 编程题 (10)习题6 (13)6-1单选题 (13)6-2填空题 (13)6-3 编程题 (13)习题7 (15)7-1单选题 (15)7-2填空题 (15)7-3 编程题 (15)习题8 (16)8-1单选题 (16)8-2填空题 (16)8-3 编程题 (16)习题9 (18)9-1单选题 (18)9-2填空题 (18)9-3 编程题 (18)习题10 (22)10-1单选题 (22)10-2填空题 (22)10-3 编程题 (22)习题11 (24)11-1单选题 (24)11-2填空题 (24)习题12 (25)12-1单选题 (25)12-2 填空题 (25)实验篇 (26)实验1 熟悉Visual C++6.0可视化集成开发环境 (26)实验2 顺序结构程序设计 (26)实验3 选择结构程序设计 (26)实验4 循环结构程序设计 (26)实验5 函数 (28)实验6 数组 (32)实验7 指针 (33)实验8 结构体和共用体 (35)实验9 文件 (36)实验10 综合编程 (36)模拟试卷(一)参考答案 (37)模拟试卷(二)参考答案 (38)习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。