实验8 指针
实验八、九 子程序、中断程序实验
实验八子程序实验一、实验目的1、掌握全局、局部变量的定义与作用;2、熟悉无参子程序和有参子程序的建立和调用方法3、进一步熟悉常用功能指令(加、减、数据类型转换、循环等(另:自学内容已经布置:数学运算指令和数据转换指令)二、实验设备TKPLC-1实验实训装置一台,装有STEP7软件的计算机一台,西门子编程电缆一根、连接导线若干。
三、实验内容与步骤1、不带参数子程序调用例子:设置存储器位或字节的几种方法(注意符号的定义与使用,其它功能指令的学习包含在子程序和中断程序实验中。
下同)本程序描述了用一定值存入预定的存储器位或字节,以及清除存储区内容的几种方法采用下列指令:FILL 设置一个或几个字FOR...NEXT FOR...NEXT循环R 对一位或几位置0输入以下子程序和主程序,注意体会各指令作用及符号的使用。
子程序0功能:如果输入I0.0=1,则把VW200中值复制到VW204至VW216子程序1功能:当输入I0.1=1时,把几个初始数复制到变量存储区。
循环次数取决于VW10中的首次循环数和VW0中的最后一次循环数。
当前循环次数存储在内存字VW20中,首次计数值(50)存储在累加器AC0中,计数值缓冲区首址(& VB100)存储在累加器AC1中,AC1为计数值缓冲区指针,每循环一次的功能:AC0的计数值存入AC1指针所指向的内存单元,AC1指针加2个字节,指向下一个内存字,AC0的计数值加4,直至最后一次循环。
子程序2的功能,使V100.0开始的176个位复位,V204.0开始的112个位复位。
2、带参数子程序的调用例子:求变量区和。
局部变量设置表:子程序功能:求VW100开始的10个数据字的和。
先将整形数转为双整型数,再加,指针值每次增2,循环10次。
注意体会各指令作用。
提醒:欲间接存取字节,将指针用一递增或递减。
欲间接存取字,将指针用二递增或递减。
欲间接存取双字,将指针用四递增或递减。
实验8-常数据成员、常成员函数
#include <iostream.h> class Rectangle { public: Rectangle(int a,int b)//2个参数的构造函数Rectangle { width=a; length=b; }//负责对对象的宽和长数据成员初始化 int Area()//求矩形的面积 { return width*length; } int Periment()//求矩形的周长 { return 2*(width+length); } void Changesize(int a,int b)//改变矩形的宽和长 { width=a; length=b; } void Print();//负责打印求的的面积和周长 private: int width,length; }; void Rectangle::Print() { cout<<"AREA="<<Area()<<endl; cout<<"PERIMENT="<<Periment()<<endl; } void main() { Rectangle r(5,8);//定义对象r 初始化 r.Print(); r.Changesize(3,9);//调用对象r的成员函数Changesize改变宽和长 r.Print(); }
《教材》第六章例题(lt): 6.9 (lt6.9.cpp) 6.10 (lt6.5之:
2(xt6.5-2.cpp); 3(xt6.5-3.cpp);
2、编程实现一个简单的计算器。要求从键盘上输入两 个浮点数,计算出它们的加、减、乘、除运算的结 果。
常成员函数常数据成员什么是常数据成员成员函数指针什么是成员函数静态成员函数成员函数类的静态成员函数cstring成员函数static成员函数
实验8 探究阻力对物体运动的影响(解析版)
实验8 探究阻力对物体运动的影响基础考点梳理(1)实验装置【分析现象】 水平面越光滑,小车的速度减小得越慢,运动距离越远 ;【实验结论】①运动物体受到的阻力越大,运动的越近,阻力越小,运动得越远。
①若运动的物体不受阻力,物体的运动速度将不会减小,将保持做匀速直线运动。
【实验方法】:①控制变量法:控制小车从斜面上 同一高度处 由静止释放,使小车到斜面底端时具有 相同的初速度 ; ①转换法:通过小车在水平面上 滑行距离的长短 来间接判断小车所受阻力大小;①实验推理法:若小车不受阻力时,小车的速度将 不会减小 ,将永远做 匀速直线运动 ;【交流与讨论】(3)小车到达斜面底端继续前行的原因:小车具有 惯性 ;(4)小车最终会停下来的原因:受到 摩擦阻力(非平衡力) 的作用;(5)牛顿第一定律的内容:一切物体在没有受到外力作用时,总保持静止状态或匀速直线运动状态;(6)牛顿第一定律得到的方法:在大量 经验事实 的基础上,通过科学的 推理 总结归纳出来的, 不能直接 由实验得到。
(7)对牛顿第一定律的理解:力不是 维持 物体运动状态的原因,力是 改变 物体运动状态的原因。
(8)对小车受力情况的判断:小车在水平面上运动时 重力 和 支持力 相互平衡,水平方向上受到阻力的作用,做 减速 直线运动;(9)小车在运动过程中做功与能量转化:从斜面顶端滑动到水平面的过程中,重力势能转化为 动能和内能 ;从水平面运动到静止的过程中,动能转化为内能, 机械能不守恒 ,但能量的总量 不变 ;小车在三种不同的水平面上克服阻力做功的关系:321W W W ==,功率:321P P P >>(依次为毛巾、棉布和木板)。
【评估】(1)本实验选用小车而不选用木块的原因是:相同条件下,小车受到的阻力较小,实验现象较明显.(2)小车到达水平面后最终停下来的原因是:小车在水平面上受摩擦力的作用,力能改变物体的运动状态.典型例题赏析实验结论:(1)在其他条件相同时,平面越光滑,滑块受到的阻力越小,滑块前进的距离越远.(2)假如水平面足够光滑(完全没有摩擦阻力),滑块的速度不会减小,滑块将做匀速直线运动.1.实验小组为探究“阻力对物体运动的影响”,设计了如图所示的斜面实验,让小车从斜面上滑到接触面分别为毛巾、棉布和木板的水平面上,观察小车在水平面上滑行的距离.(1)实验时要固定斜面,分别将小车从斜面上同一位置由静止释放,目的是保证小车到达斜面底端的初速度相同.(2)本实验通过木块在水平面上滑行距离大小来判断阻力对小车运动的影响.(3)分析实验现象可知:水平面越光滑,运动的小车所受的阻力小,速度减小得慢,小车向前滑行的距离远.并进一步推测:若水平面完全光滑且足够长,小车将一直做匀速直线运动,表明物体的运动不需要(选填“需要”或“不需要”)力来维持;(4)(现象分析)(2022武汉)实验中,小车在水平面上最终都会静止下来,说明力可以改变物体的运动状态.(5)从能量转化的角度看,小车在水平面上克服阻力所做的功三次一样多(选填“在毛巾上更多”、“在棉布上更多”、“在木板上更多”或“三次一样多”),小车在水平面上克服阻力做功的功率大小关系在毛巾上最大(选填“在毛巾上最大”、“在棉布上最大”、“在木板上最大”或“三次一样大”);(6)小组的小芋同学思考了一个问题:当自己荡秋千运动到右侧最高点时,假设受到的力全部消失,自己将处于怎样的运动状态呢?你认为下列选项中正确的是D (图中的黑点表示小芋)A.做匀速圆周运动B.做匀速直线运动C.继续来回摆动D.保持静止状态(7)若让同一小车从同一斜面的不同高度由静止开始下滑,则还可以探究小车的②④关系(选填序号).①重力势能与质量;①重力势能与高度;①动能与质量;①动能与速度.(8)小芋想测出小车在毛巾表面运动时所受阻力的大小,请你利用合适的实验器材,帮她写出实验步骤:使用弹簧测力计水平匀速拉动小车,则弹簧测力计的示数就代表物体所受摩擦力大小。
实验8-1 指针
实验8-1 指针(一)1【实验目的】(1)掌握指针的概念和定义和使用指针变量的方法(2)能正确使用数组的指针和指向数组的指针变量(3)能正确使用字符串的指针和指向字符串的指针变量【实验要求】(1)熟练掌握和使用一维数组的指针和指向一维数组的指针变量(2)能正确使用字符串的指针和指向字符串的指针变量【实验环境】(1) Microsoft XP操作系统(2) Microsoft VC++ 6.0【实验内容】1、两个数比较/acmhome/problemdetail.do?&method=showdetail&id=1002题目描述:求2个数中较大者。
输入:第一行为测试的数据组数N,接下来的N行分别是两个待比较的整数输出:输出N行,每一行的值为每组数中较大的整数样例输入21 215 10样例输出2152、三个数排序/JudgeOnline/problem.php?id=1511题目描述:输入三个整数,按由小到大的顺序输出。
输入:三个整数输出:由小到大输出成一行,每个数字后面跟一个空格样例输入:2 3 1样例输出:1 2 33、字符串排序/acmhome/problemdetail.do?&method=showdetail&id=1484描述:输入3个字符串,按字典序从小到大进行排序。
输入:输入数据有一行,分别为3个字符串,用空格分隔。
输出:输出排序后的三个字符串,用空格分隔。
样例输入:abcd cdef bcde样例输出:abcd bcde cdef4、重置最值/JudgeOnline/problem.php?id=1513题目描述:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
写三个函数;①输入10个数;②进行处理;③输出10个数。
输入:10个整数输出:整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)样例输入:2 1 3 4 5 6 7 8 10 9样例输出:1 2 3 4 5 6 7 8 9 105、复制部分字符串/JudgeOnline/problem.php?id=1516题目描述:有一字符串,包含n个字符。
高考物理实验8、电表改装历年高考题
高考物理实验8、电表改装历年高考题1.(2019·新课标全国Ⅰ卷)某同学要将一量程为250 μA的微安表改装为量程为20 mA的电流表。
该同学测得微安表内阻为1 200 Ω,经计算后将一阻值为R的电阻与该微安表连接,进行改装。
然后利用一标准毫安表,根据图(a)所示电路对改装后的电表进行检测(虚线框内是改装后的电表)。
(1)根据图(a)和题给条件,将(b)中的实物连接。
(2)当标准毫安表的示数为16.0 mA时,微安表的指针位置如图(c)所示,由此可以推测出改装的电表量程不是预期值,而是。
(填正确答案标号)A.18 Ma B.21 mA C.25mA D.28 mA(3)产生上述问题的原因可能是。
(填正确答案标号)A.微安表内阻测量错误,实际内阻大于1200Ω B.微安表内阻测量错误,实际内阻小于1200ΩC.R值计算错误,接入的电阻偏小 D.R值计算错误,接入的电阻偏大(4)要达到预期目的,无论测得的内阻值是否正确,都不必重新测量,只需要将阻值为R的电阻换为一个阻值为kR的电阻即可,其中k= 。
解析:(1)电表改装时,微安表应与定值电阻R并联接入虚线框内,则实物电路连接如下图所示:(2)由标准毫安表与该装表的读数可知,改装后的电流表,实际量程被扩大的倍数为:n=16mA=100倍。
故当原微安表表盘达到满偏时,实际量程为:250×10―3×100=25mA,故本小160×10-3mA题选C;(3)根据ab,得:I=1g,改装后的量程偏大的原因可能是,原微安表内阻测量值偏小,即电表实际内阻R g真实值,大于1200Ω;或者因为定值电阻R的计算有误,计算值偏大,实际接入定值电阻R阻值偏小。
故本小题选AC;(4)由于接入电阻R时,改装后的表实际量程为25 mA,故满足I g R g=25―I g R;要想达到预期目的,即将微安表改装为量程为20 mA电流表,应满足I g R g=20―I g kR,其中I g=250μA=0.25mA,。
电路实验8、9、10注意事项
交流电源使用注意事项:
2. 调节时切忌动作过大
操作: 操作:在交流电源通电且已经调零的情况下,接好电 路,然后顺时针稍微旋转一下输出旋钮,同时注意观 察交流电源的电压指示表和电流指示表,确定无异常 之后,再继续调节,使电路中的交流电流表的示数达 到指定值,再进行记录。 说明: 说明:若观察到交流电源的电压指示表指针指零,而 交流电源的电流指示表示数很大甚至满偏,说明电路 中有短路现象,应立即逆时针旋转输出旋钮,使交流 电源输出为零,检查电路。排除故障之后,方可继续 操作。
观察到此现象说明 电路中有短路,应 立即调零、检查电 路、排除故障。
交流电源使用注意事项:
3. 通电时间不要长
操作: 操作:在调节好所需电流,记录下电压、相位角或者 功率值之后,应及时将交流电源调零。尤其是在记完 最后一个步骤的数据之后。 说明: 说明:实验中用到的0.8A是比较大的电流,测量用的 R、L、C均会发热,特别是R、L,时间过长,发热过 大,会将元件R的外壳熔变形,而且在用手取元件时, 可能会被烫伤。另外,元件发热也会影响测量数值。
5. 特别是在装置架上的AC0~24V损坏的情况下, 特别是在装置架上的AC0 24V损坏的情况下 AC0~ 损坏的情况下, 要使用台式交流源(如下图所示) 更要注意: 要使用台式交流源(如下图所示)时,更要注意:
(1)它的调节旋钮虽然有指示(短白线),但是它指零时, 未必电源输出就是零,还是要强调:空载+通电确认 (2)它只有电压输出指示表 (3)它的电压输出可以达到50V,一不小心电压加大了,更 容易出问题、发生危险
交、直流稳压电源源的输 出电压指示表 交流电源的输 出电流指示表
挂箱的电 源开关
交流电源的 输出调节旋钮
交流电源使用注意事项:
实验八 实验报告表
图形绘制
图形服务器
资料储存
网盘
游戏进度
网络游戏服务器
3400
并行算法寄存器表达式
D1+d0=d0
D2+d3=d2
D4+d5=d4
D6+d7=d6
D2+d0=d0
D6+d4=d4
D4+d0=d0
并行算法中间结果1
5118309091150
并行算法中间结果2
13412059
并行算法最终结果
3400
加速比
7/4
实验报告表8-2分布式实验数据表
要求
任务负荷及分配情况
耗时
任务分配(时长)
178
34
301
157
79
216
117
281
302
顺序计算(机器号)
1
2
3
4
1
2
3
4
1
558
空闲分配(机器号)
1
2
3
4
2
2414源自578静态手动(机器号)
1
2
2
3
4
1
3
3
4
554
动态手动(机器号)
1
2
3
4
2
4
3
1
2
458
实验报告表8-3虚拟计算实验数据表
常用配置
对应虚拟服务
日常办公
实验八实验报告表
实验名称:
学号:姓名:班级:实验时间:
实验报告表8-1并行算法和串行算法实验数据表
要求
内容
10个随机数
22489444386635274477673
C语言上机实验题目(指针)
C语言上机实验(指针)目标:1.熟悉指针变量的含义,熟悉简单变量和指针的关系;2.熟悉指针变量做为函数的参数;内容(1)熟悉书中案例,熟悉简单变量和指针的关系,了解指针值的变化;(2)通过指针变量访问整型变量。
解题思路:先定义2个整型变量,再定义2个指针变量,分别指向这两个整型变量,通过访问指针变量,可以找到它们所指向的变量,从而得到这些变量的值。
#include <stdio.h>main(){ int a=100,b=10;int *pointer_1, *pointer_2;pointer_1=&a;pointer_2=&b;printf(“a=%d,b=%d\n”,a,b);printf(“*pointer_1=%d,*pointer_2=%d\n”,*pointer_1,*pointer_2);}(3)输入a和b两个整数,按先大后小的顺序输出a和b。
(模仿p119页3.32)解题思路:用指针方法来处理这个问题。
不交换整型变量的值,而是交换两个指针变量的值。
#include <stdio.h>main(){ int *p1,*p2,*p,a,b;printf(“integer numbers:");scanf(“%d,%d”,&a,&b);p1=&a; p2=&b;if(a<b){ p=p1; p1=p2; p2=p; }printf(“a=%d,b=%d\n”,a,b);printf(“%d,%d\n”,*p1,*p2);}(4)对输入的两个整数按大小顺序输出。
(程序改错) (答案略)现用函数处理,而且用指针类型的数据作函数参数。
解题思路:定义一个函数swap,将指向两个整型变量的指针变量作为实参传递给swap函数的形参指针变量,在函数中通过指针实现交换两个变量的值。
(1)#include <stdio.h>main(){swap(int *p1,int *p2);int a,b; int*pointer_1,*pointer_2; printf("please enter a and b:"); scanf(“%d,%d”,&a,&b);pointer_1=&a;pointer_2=&b;if (a<b) swap(pointer_1,pointer_2); printf(“max=%d,min=%d\n”,a,b);}swap(int *p1,int *p2){ int *temp; (无确定方向)*temp=*p1;*p1=*p2;*p2=*temp;}(2)#include <stdio.h>main(){swap(int *p1,int *p2);int a,b; int*pointer_1,*pointer_2;printf("please enter a and b:");scanf(“%d,%d”,&a,&b);pointer_1=&a;pointer_2=&b;if (a<b) swap(pointer_1,pointer_2);printf(“max=%d,min=%d\n”,a,b);}swap(int *p1,int *p2){ int *temp; (只交换了指针的值)temp=p1;p1=p2;p2=temp;}(5)输入3个整数a,b,c,要求按由大到小的顺序将它们输出。
C语言程序设计教程(第二版)张敏霞 参考答案
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.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。
2013版物理一轮精品复习学案:实验8 描绘小电珠的伏安特性曲线
实验八描绘小电珠的伏安特性曲线【考纲全景透析】一、实验目的1.描绘小电珠的伏安特性曲线.2.分析伏安特性曲线的变化规律.二、实验器材小电珠(3.8 V,0.3 A)或(2.5 V,0.6 A)一个、电压表(0~3 V~15 V)与电流表(0~0.6 A~3 A)各一个、滑动变阻器(最大阻值20 Ω)一个、学生低压直流电源(或电池组)、开关一个、导线若干、坐标纸、铅笔.三、实验原理1.用电流表测出流过小电珠的电流,用电压表测出小电珠两端的电压,测出多组(U,I)值,在U-I坐标系中描出各对应点,用一条平滑的曲线将这些点连起来.2.电流表外接:因为小电珠的电阻很小,如果电流表内接,误差明显较大;滑动变阻器采用分压式:使电压能从零开始连续变化.3.滑动变阻器两种接法的对比4.分压和限流电路的选择原则(1)若采用限流式接法不能控制电流满足实验要求,即若滑动变阻器阻值调到最大时,待测电阻上的电流(或电压)仍超过电流表(或电压表)的量程,或超过待测电阻的额定电流(或电压),则必须选用分压式电路. (2)若待测电阻的阻值比滑动变阻器总电阻大得多,以致在限流电路中,滑动变阻器的滑片从一端滑到另一端时,待测电阻上的电流或电压变化范围不够大,此时,应改用分压式电路.(3)若实验中要求电压从零开始调节,则必须采用分压式电路.(4)两种电路均可使用的情况下,应优先采用限流式接法,因为限流式接法电路简单、能耗低.【热点难点全析】一、实验步骤1.确定电流表、电压表的量程,采用电流表外接法,滑动变阻器采用分压式接法,按图中的原理图连接好实验电路.2.把滑动变阻器的滑片调节到图中最左端,接线经检查无误后,闭合开关S.3.移动滑动变阻器滑片位置,测出12组左右不同的电压值U和电流值I,并将测量数据填入表格中,断开开关S.4.拆除电路,整理仪器.(1)闭合开关S前,滑动变阻器触头应移到最左端,以使开关闭合时小电珠电压能从0开始变化;同时,这样做也防止开关刚闭合时小电珠两端电压过大而烧坏灯丝.(2)移动滑动变阻器触头的位置,测出12组不同的电压值U和电流值I,并将测量数据填入表格.【例1】在“描绘小电珠的伏安特性曲线”的实验中,某同学测得电流—电压的数据如表所示:(1)用表中数据描绘电压随电流的变化曲线;(2)为了探究灯丝电阻与温度的关系,已作出电阻随电流的变化曲线如图所示,请指出灯丝的特征,并解释形成的原因【答案】(1)用表中数据描绘电压随电流的变化曲线,如图所示(2)电阻随电流增大存在三个区间,电阻的变化快慢不同,第一区间电流很小时,电阻变化不大;第二区间灯丝温度升高很快,电阻增大得快;第三区间部分电能转化为光能,灯丝温度升高变慢,电阻增大也变慢.二、数据处理1.在坐标纸上以U为横轴,以I为纵轴,建立坐标系.2.在坐标纸上描出各组数据所对应的点.(坐标系纵轴和横轴的标度要适中,以使所描图线充分占据整个坐标纸为宜)3.将描出的点用平滑的曲线连接起来,就得到小电珠的伏安特性曲线.4.误差分析(1)由于电压表、电流表不是理想电表,电表内阻对电路的影响会带来误差.(2)电流表、电压表的读数带来误差,要严格按照读数规则读数.(3)在坐标纸上描点、作图带来操作误差.5.注意事项(1)电路的连接方式电流表应采用外接法:因为小电珠(3.8 V,0.3 A)的电阻很小,与0~0.6 A的电流表串联时,电流表的分压影响很大.滑动变阻器应采用分压式连接:目的是使小电珠两端的电压能从零开始连续变化.(2)闭合开关S前,滑动变阻器的触头应移到使小电珠分得电压为零的一端,使开关闭合时小电珠的电压从零开始变化,同时也是为了防止开关刚闭合时因小电珠两端电压过大而烧坏灯丝.=1.0 V左右将发生明显弯曲,故在U=(3)I-U图线在U1.0 V左右绘点要密,以防出现较大误差.(4)电流表选择0.6 A量程,电压表量程的选择视小电珠的额定电压而定,即使用的若是“3.8 V,0.3 A”的小电珠,选用电压表的15 V量程;若使用“2.5 V,0.6 A”的小电珠,则选用电压表的3 V量程.(5)当小电珠的电压接近额定值时要缓慢增加,到额定值记录I后马上断开开关.(6)误差较大的点要舍去,I-U图线应是平滑曲线而非折线.【例证2】在“描绘小电珠的伏安特性曲线”的实验中,用导线a、b、c、d、e、f、g和h按如图所示方式连接好电路,电路中所有元器件都完好,且电压表和电流表已调零.闭合开关后:(1)若不管怎样调节滑动变阻器,小电珠亮度能发生变化,但电压表、电流表的示数总不能为零,则可能是_____导线断路.(2)某同学测出电源和小电珠的U-I图线如图所示,将小电珠和电阻R串联后接到电源上,要使电路中电流为1.0 A,则R=_____Ω.(3)某同学在实验中还测出a、b、c三种元件的伏安特性曲线分别如图中的(a)、(b)、(c),下列说法正确的是( )A.a可以作为标准电阻使用B.b能作为标准电阻使用C.b的阻值随电压升高而增大D.c的阻值随电压升高而增大【答案】(1)g (2)0.8 (3)A、C【详解】(1)若调节滑动变阻器,小电珠的亮度变化,但电压表、电流表示数总不能为零,说明滑动变阻器不起分压作用,所以可能是g导线断路.(2)由电源的U-I图线知E=3.0 V,r=1 Ω,当小电珠与电阻串联后,由闭合电路欧姆定律得E=I(R+r)+R灯又由小电珠的U-I图线得==1.2 ΩR灯解得R=0.8 Ω.(3)因a元件的I-U线是直线,说明其阻值不随电压的变化而变化,故可作为标准电阻,故A对,B错;因I-U图线的斜率的倒数表示电阻值的变化,故C对D错.【高考零距离】【2012年】22.(2)J4[2012·四川卷] 某学习小组的同学拟探究小灯泡L的伏安特性曲线,可供选用的器材如下:小灯泡L,规格“4.0 V,0.7 A”;,量程3 A,内阻约为0.1 Ω;电流表A1电流表A,量程0.6 A,内阻r2=0.2 Ω;2电压表V,量程3 V,内阻r V=9 kΩ标准电阻R1,阻值1 Ω;标准电阻R2,阻值3 kΩ;滑动变阻器R,阻值范围0~10 Ω;学生电源E,电动势6 V,内阻不计;开关S及导线若干.图1图2图3 图4①甲同学设计了如图l所示的电路来进行测量,当通过L的电流为0.46 A时,电压表的示数如图2所示,此时L的电阻为________Ω.②乙同学又设计了如图3所示的电路来进行测量,电压表指针指在最大刻度时,加在L上的电压值是________V.③学习小组认为要想更准确地描绘出L完整的伏安特性曲线,需要重新设计电路.请你在乙同学的基础上利用所供器材,在图4所示的虚线框内补画出实验电路图.并在图上标明所选器材代号.22.(2)[答案] ①5②4③如图所示.答图1 答图2[解析] ①由图2知,电压表的读数为2.30 V ,根据欧姆定律,L 的电阻R L =U I =2.300.46Ω=5 Ω;②电压表与电阻R 2串联,电压表两端的电压3 V ,根据串联电路电阻与电压的关系,电阻R 2两端的电压为1 V ,灯泡L 两端的电压为电压表和电阻R 2两端的电压之和,即为4 V ;③如答图1和答图2所示.22.Ⅱ.J4[2012·安徽卷] 图12为“测绘小灯泡伏安特性曲线”实验的实物电路图,已知小灯泡额定电压为2.5 V.图12(1)完成下列实验步骤:①闭合开关前,调节滑动变阻器的滑片,______; ②闭合开关后,逐渐移动变阻器的滑片,______;③断开开关,……根据实验数据在方格纸上作出小灯泡灯丝的伏安特性曲线. (2)在虚线框中画出与实物电路相应的电路图.图13Ⅱ.[答案] (1)①使它靠近变阻器左端的接线柱②增加小灯泡两端的电压,记录电流表和电压表的多组读数,直至电压达到额定电压 (2)如图所示[解析] (1)①为了保护电表不被损坏,不会因为合上开关时电流过大而超过电表量程,应将滑片移至滑动变阻器的最左端,使滑动变阻器接入电路的阻值最大;②要测绘小灯泡的伏安特性曲线,应增加电压,记下多组电流和电压值,要使数据有明显的变化,并且在移动滑动变阻器时要注意不得超过电表的量程.(2)画电路图时应注意:电流表为外接法,滑动变阻器为分压接法.【详解】○1由图2可读出电压表的示数为2.30V ,所以此时L 的电阻为2.30V/0.46A=5Ω; ○2电压表指针指在最大刻度时,电压表示数为3.00V ,加在L 上的电压值为()V42=+=R r r U U V VV L○3由于电压表量程太小,所以需要改装,将它与R2串联即成为一个量程为4.0V 的新的电压表;电流表A1量程太大,不可用,可以将A2改装:将它并联一个小电阻R1则成为一个量程为0.72A 的新的电流表了。
C语言实验报告《指针》[范本]
C语言实验报告《指针》[范本]
一、实验目的
本次实验旨在通过实验程序了解指针的基本概念及其运用,深入了解指针的用途。
二、实验内容
1. 熟悉指针基础知识
通过本次实验,学习并掌握指针的定义、运算规则、变量指针和函数指针的使用方法。
2. 编写相关实验程序
利用C语言编写实验程序,实现数组指针的操作、字符指针的操作、指针函数的调用等。
三、实验结果
1. 指针的定义
指针是一种指向另一种存储单元的变量使用的一种类型,它可以指向内存中的任何一
个位置。
指针存储的是指向另一个存储单元的地址。
2. 指针的运算规则
(1)取地址运算 &。
实验表明,& 符号具有取地址作用,把变量的地址赋给指针。
(3)算术运算。
实验表明,指针之间可以进行加减乘除运算,可以移动指针位置,以此实现指向某一
数组元素。
3. 数组指针操作
实验程序中,采用“指向指针的指针”的定义,实现了多维数组的操作,实现地址的
跳转和访问,改变指针变量的地址,实现对数组的操作。
实验程序中,采用“字符串”方法,改变指针变量的地址,实现对字符串的操作。
遍
历一条字符串,用指针变量一个一个地取得字符,此时的指针变量的值就是各个字符的地址。
5. 指针函数的调用。
C语言实验报告8模板
宁夏师范学院数学与计算机科学学院《高级语言程序设计》实验报告实验序号:8实验项目名称:指针的学习学号姓名专业、班级12级数应(2)班实验地点指导教师郑利珍时间一、实验目的及要求1、熟悉指针的正确用法。
二、实验设备(环境)及要求硬件:PC(PII以上,128M以上内存);软件:Windows XP操作系统、Visual C++ 6.0。
三、实验内容、步骤及结果1、从键盘输入3个整数,要求设3个指针变量p1、p2、p3,使p1指向3个数中的最大者,p2指向次大者,p3指向最小者,然后按由大到小的顺序输出这3个数。
2、输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
编写3个函数实现以下功能。
(1)输入10个数;(2)进行处理;(3)输出10个数。
要求:使用指针(形参)→数组名(实参)或数组名(形参)→数组名(实参)传输形式。
3、有一个整型二维数组,大小为m×n,要求找出其中最大值所在的行和列以及该最大值。
请编写一个函数max,要求如下。
(1)以数组名和数组大小为该函数的形参。
(2)数组元素的值在main函数中输入,结果在函数max 中输出。
4、输入3行字符(每行60个字符以内),要求统计出其中共有多少大写字母、小写字母、空格及标点符号。
四、分析与讨论五、教师评语成绩1.按时完成实验;2.实验内容和实验过程记录完整;3.回答问题完整、正确;4.有关于实验的心得;5.实验报告的撰写认真、报告格式符合要求。
100签名:郑利珍日期:2013年月日。
实验8-1 指针基本概念
实验8-1 指针基本概念【知识点回顾】1.指针和指针变量1)内存地址:内存存储单元的编号,从0开始,以字节为单位2)指针:一个内存地址有且仅有一个内存存储单元对应,即一个地址“指向”一个单元,故将地址称为指针3)指针变量:C语言中允许将地址作为数据值,用一个变量来存放。
存放指针的变量称为指针变量。
2.指针变量使用三步骤1)声明:一般形式如:类型说明符*指针变量名;2)初始化:一般形式如:指针变量=&变量;3)访问数据:一般形式如:*指针变量3.指针运算符1)间接访问运算符“*”2)取地址运算符“&”4.printf和scanf是否使用指针对比:假定有int x,y;int *px=&x,*py=&y;1)不使用指针的输入输出语句:scanf(“%d %d”,&x,&y);printf(“%d %d”,x,y);2)使用指针的输入输出语句:scanf(“%d %d”,px,py);printf(“%d %d”,*px,*py);5.打印地址信息:1)使用%p占位符2)使用%x占位符【典型例题】1.例题1,指针的基本使用方法#include <stdio.h>int main(){int data=100;//第一种指针变量定义方式:声明与初始化分两步完成int * pd; //声明指针变量pd=&data; //初始化指针变量,注意细节,data变量必须之前声明过//下面是第二种指针变量定义方式:声明与初始化一步完成//int * pd = &data; //声明指针变量,同时初始化指针变量printf("Direct access: data = %d\n", data); //变量的直接访问printf("Indirect access: data = %d\n",*pd); //变量的间接访问printf("The address of data is %p\n", &data);//变量的地址输出printf("The address of data is %p\n",pd); //指针变量的输出return 0;}程序运行效果如下:2.例题2,两数求和。
实验八 万用电表的使用
预习要求:1.认真阅读本实验指导书,了解万用表的基本结构及万用表使用的基本方法和注意事项。
2.在正规的实验报告纸上预先写好实验报告的[实验目的]、[仪器和用具]、[实验原理]三部份并在分组实验时呈给指导教师检查。
待实验后再补充完实验报告余下的[实验内容、步骤]、[数据记录]、[数据处理]、[结果报道]、[结果讨论]、 [实验结论]等部分。
书写实验报告应注意如下几点:1.[仪器和用具]应按实际所使用的型号、规格给出。
2.[实验原理] 需叙述如下内容:一、简述万用电表的基本结构和基本使用方法;二、详述使用万用表应注意的问题;三、详述万用表的应用画出相应应的电路图(图8-2、图8-3)。
3.[实验内容、步骤] 必须根据具体的实验过程并参考讲义中的[实验内容、要求]进行叙述并画出图8-4及图8-5。
4.[数据记录] 必须画出记录表格并标明表中物理量的单位;表中所有数据均必须按有效数字规则给出。
5.数据处理时,应给出运算式并列出相应的数字式,计算结果的有效数字位数应根据有效数字合成规则来确定。
另,运算结果为物理量的,应给出单位。
6.[结果报道]中的测量值和相对误差值的有效数字位数亦必须按有效数字合成规则给出。
7.[结果讨论]8.[实验结论]1实验八万用电表的使用[目的]学会万用电表的使用及测量误差的分析和估算。
[仪器和用具]1.万用电表(MF-50型);2.直流稳定电源(MCH-305D-Ⅱ型0-30V、0-5A);3.单相自耦调压器(500V A 0-250V);4.实验电阻板(3.0KΩ、15KΩ、47KΩ、56Ω、0.62KΩ、1.5KΩ 0.25 W各1个);5.电学暗盒(内装有47μF电解电容1个、0.22μF普通电容器1个、;6.3V稳压二极管1个、1N4007硅二极管1个、47KΩ电阻器1个)6.单刀开关;[原理]一、万用电表的基本结构及使用的基本方法万用电表是实验室常用的一种仪表,可用来测量交直流电压、电流以及电阻等电量及晶体管直流放大倍数等,还可用来检查电路、排除电路故障和检查常用电子元器件的性能。
实验8共享内存的创建与使用
实验8共享内存的创建与使用引言:共享内存是一种允许多个进程共享同一块物理内存的方法,可以有效地提高进程间的通信效率。
在操作系统中,共享内存是一个非常重要的概念,能够使多个进程之间能够高效地交换数据,提高系统的整体性能。
本文将详细介绍共享内存的创建与使用。
一、共享内存的创建在Linux环境下,可以使用shmget(函数来创建一个共享内存区域。
该函数的原型如下:int shmget(key_t key, size_t size, int shmflg);参数说明:- key:共享内存的唯一标识符,可以通过ftok(函数生成。
- size:共享内存的大小,以字节为单位。
- shmflg:共享内存的权限。
要创建一个共享内存区域,首先需要生成一个唯一的key值,可以使用ftok(函数将一个现有文件的路径和一个整数标识符转换为唯一的key 值。
示例代码如下:```ckey_t key = ftok("path/to/existing/file", 'A');int shm_id = shmget(key, 1024, IPC_CREAT , 0666);```若共享内存创建成功,shmget(函数会返回一个正数作为共享内存的标识符,否则返回-1二、共享内存的使用创建共享内存之后,可以使用shmat(函数将共享内存连接到进程的地址空间。
示例代码如下:```cvoid *shared_memory = (void *) shmat(shm_id, NULL, 0);```shmat(函数的原型如下:```cvoid *shmat(int shmid, const void *shmaddr, int shmflg);```参数说明:- shmid:共享内存的标识符。
- shmaddr:指定共享内存连接到进程的地址,一般设置为NULL,让系统自动选择地址。
- shmflg:连接共享内存的权限。
C-lab
实验目的:
1.学会独立使用该系统 2.了解在该系统上如何编辑、编译、连接和运行一 个 C程序; 3.通过运行简单的容
1. 2. 参考P370,熟悉上机运行C方法; 完成第一章中的3个例题;
注:将例1.2中"int a,b,sum;"和"sum=a+b;"的 ";"去掉进行编译,仔细分析编译信息窗口,进 行修改调试,直到不出现错误。
实验内容:
1.P183-例7.5 P193-例7.9 例7.10 3.完成课后习题:5、8、18
(提示:year%4==0&&year%100!=0||year%400==0)
P201-例7.14
2.用函数调用方法实现十个数由大到小排序。
(提示:year%4==0&&year%100!=0||year%400==0)
P201-例7.14
2.用函数调用方法实现十个数由大到小排序。
实验8 指针
实验目的:
1. 掌握调用函数是实参与形参的对应关系,以及
‚值传递‛‚地址传递‛的方式。 2. 熟悉怎样利用函数实现指定的任务。 3. 熟悉函数的嵌套调用的方法。 4. 熟悉全局变量和局部变量的概念和用法。
printf(‚圆周长:
}
l=%7.3f\n‛,l);
实验4 选择结构程序设计
实验目的:
1.了解C语言表示逻辑量的方法(0代表假,非0代 表真); 2. 学会正确使用逻辑运算符和逻辑表达式; 3. 熟练掌握if语句的使用(包括if语句的套); 4. 熟练掌握多分支选择语句—switch语句; 5. 结合程序掌握一些简单的算法。 实验内容:
实验室8
院校所在地 院校所在城市 录取专业 区
华北 华北 华北 华北 华北 华北 华东 华东 华中 东北 东北 华南 华南 华北 华中 华中 华中 华北 华北 华南 华中 华中 西南 华北 华北 华东 华东 华北 华北 华东 西南 西南 西南 西南 西南 华北 华中 华中 北京 北京 北京 北京 北京 北京 上海 上海 长沙 哈尔滨 哈尔滨 海口 海口 石家庄 郑州 长沙 长沙 北京 北京 广州 武汉 武汉 昆明 北京 北京 济南 上海 北京 北京 上海 成都 成都 成都 成都 成都 北京 武汉 武汉 电子信息科学类 环境科学类 会计学 国际经济与贸易 信息安全 计算机科学与技术 临床医学 环境科学 系统工程 机械设计制造及其自动 化 高分子材料与工程 网络工程 海洋科学 人力资源管理 环境工程 电气信息类 给排水科学与工程 工程管理 热能与动力工程 电子科学与技术 临床医学 光信息科学与技术 金融学 工程力学与航天航空工 程 机械工程及自动化 材料科学类 金融工程 金融工程 电子商务 电气信息类 电气信息类 机械设计制造及其自动 化 土建类 电子信息科学类 工商管理类 电子信息科学类 化学类 新闻传播学类
华东 华东 华东 华东 华东 华中 华中 华北 华中 华中 西南 华东 华北 华东 华东 华北 华东 东北 西南 华东 华中 西北 西北 西北 西南 西南 华东 华北 华北 华北 华中 华中 华北 西南 华东 华东 华北 华北 华北
合肥 合肥 南京 南京 南京 长沙 长沙 北京 武汉 武汉 昆明 南京 北京 南京 上海 北京 上海 沈阳 成都 上海 武汉 西安 西安 西安 昆明 昆明 杭州 北京 北京 北京 长沙 长沙 北京 重庆 上海 上海 北京 北京 北京
班级
高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1) 高三(1)
实验8 指针及其应用
实验八指针及其应用【实验内容】一、读程序,运行程序,解释程序结果。
程序1:#include <stdio.h>main(){int x,y,*pt1,*pt2,t1,t2,t3;x=8;y=4;pt1=&x;pt2=&y;t1=*pt1**pt2 -11;t2=3*-*pt2+*pt1+5;printf("Address of x =%u\n",pt1);printf("Address of y =%u\n",pt2);printf("\n");printf("x=%d,y=%d\n",x,y);printf("t1=%d,t2=%d\n",t1,t2);*pt1=*pt2+7;*pt2=*pt1-6;t3=*pt1**pt2+3;printf("\n");printf("x=%d,y=%d\n",x,y);printf("t3=%d\n",t3);}程序2:#include <stdio.h>main(){int *pt, tot=0,i;int x[5]={6,7,8,9,10};i=0;pt=x;printf("Element Value Address\n\n");while(i<5){printf(" x[%d] %d %u\n",i,*pt,pt);tot=tot+*pt;i++;pt++;}printf("\n Total = %d\n",tot);printf("\n &x[0] = %u\n",&x[0]);printf("\n &x = %u\n",&x);printf("\n x = %u\n",x);printf("\n pt = %u\n",pt);}二、编程题:1.编写程序,用指针实现读入n个整数(n值由用户输入),求它们的和,平均值,最大值、最小值。
实验8功率因数提高的实验
&电工基础实验指导书(两种形式任选一种)硬件实验实验一基尔霍夫定律一、实验目的:1、验证基尔霍夫的电流定律及电压定律。
2、学习使用电流表及电压表。
二、实验原理:1、第一定律(节点电流定律):电路中,任意时刻流入任一个节点的电流恒等于流出这个节点的电流。
若规定流入节点的电流为正,流出节点的电流为负值,则:0∑I。
=2、第二定律(回路电压定律):沿着任一个闭合回路绕行一周,电路中各元件上电压降的代数和恒为零,即:0∑U。
=说明:在分析和计算电路时,按选定的回路绕行方向列方程,若所得的值为正值时,则表明实际的电流方向和电压方向与图中所标的参考方向一致,若为负值则相反。
E2实验原理图三、实验仪器及设备1、直流电源一台(J1202)2、干电池一节3、电压表C19—V一只4、电流表C19—mA三只5、电阻三个6、开关两个7、综合实验板及连接导线若干。
四、实验内容和步骤321R R R 、、,按给定的实验值记下数据。
K 12b实验接线图E1—12V E2—1.5V图中:mA1 用0—250—500mA 表接250mA 量程。
mA2 用0—150—300mA 表接150mA 量程。
mA3 用0—100—200mA 表接100mA 量程。
1、 看懂原理图后,按照实验接线图,将所有实验的仪器仪表及电器 元件接到综合实验板上,请老师检查。
2、 用双手同时合上K1、k2开关,观察三个电流表(若指针有反向指 示,立即关闭k1、k2, 将电流表正负极调换,再重新合上K1、K2)并将三个电流数值记录下来。
3、 用电压表的15V 量程,测量回路各点(元件上电压)的电压值及 E 1、E 2,并记入下表之中。
五、填写实验报告1、用实验测得各支路电流值,计算“b ”点处I 为多少,填入表中。
2、计算各支路电流为多少,并与实验测的各值进行比较,有无误差,为什么?3、计算各回路压降值的代数是否为零?为什么? 六、注意事项:1、测量与计算,记好各电流值的正负值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验8 指针一、实验目的1. 熟练掌握指针的定义、赋值的方法2. 掌握间接引用运算符的使用方法3. 掌握通过指针引用数组元素的方法4. 掌握使用指针处理字串的方法二、实验内容实训1 循环输入学生某门课的成绩,将成绩存储到数组中,统计最高分和获得最高分的学生人数,最后输出统计信息。
1)在VS2013中新建项目,在项目中新建C++源文件,输入下面程序。
#include<iostream>// 包含输入输出接口文件using namespace std; // 引用标准命名空间int main() // 主函数{const int n = 5; // 使用常变量定义学生人数int score[n]; // 定义成绩数组,有n个整型元素int maxScore = 0; // 最高分,并初始化为int maxStudent = 0; // 得到最高分的学生人数int i; // 循环变量int *p = 0;p = score; // p指向score[0]for (i = 0; i < n; i++) // 计数循环{ // 开始循环cout << "请输入第" << i << "位学生的成绩:";cin >> p[i]; // 输入第i位学生的成绩,并存储到score[i]if (maxScore < p[i]) // 如果第i位学生的成绩高于原最高分{maxScore = p[i]; // 将最高分修改为第i位学生的成绩}} // 结束循环cout << "本班最高分为" << maxScore << endl;cout << "得到最高分的学生序号为:" << endl;for (i = 0; i < n; i++) // 计数循环{ // 循环开始if (*(p + i) == maxScore) // 如果第i位学生的成绩等于最高分{maxStudent++; // 得最高分的学生人数增1cout << i << endl; // 输出该生序号}} // 循环结束cout << "共有" << maxStudent << "位学生得到最高分" << endl;return 0;} //主函数结束2)出现下列情况。
3)在第20行处设置断点,然后按F5启动调试,当程序在第20行处暂停时,观察i、p[i]、score[i]、&score[i]、p+i、*(p+i)等表达式的值,说明这些表达式中,哪些具有相同的值。
可以看出p[i]、score[i]、*(p+i)值相同。
而&score[i]、p+i值相同。
实训2学生成绩存储在数组中,查询得到某一分数的学生的序号。
我们对第4章例4.1程序稍作修改即可完成。
1)在VS2013中新建项目,在项目中新建C++源文件,输入下面程序。
#include<iostream>// 包含输入输出接口文件using namespace std; // 引用标准命名空间int main() // 主函数{const int n = 10; // 使用常变量定义学生人数// 定义成绩数组,有n+1个整型元素,其中下标处未存放学生成绩int score[n + 1] = { 0, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98 };int x; // 待查找的学生成绩int *p = 0; // 指向数组元素的指针变量cout << "请输入待查找的学生成绩:";cin >> x;score[0] = x; // 在下标处设置监视哨for (p = score + n; *p != x; p--); // 顺序查找,从后到前循环比较当前元素if (p == score){cout << "在成绩册中查找不到该分数!" << endl;}else{cout << "查找到该分数所在的位置为:" << p - score << endl;}return 0;} //主函数结束2)出现下列情况。
3)在第21行处设置断点,然后按F5启动调试,当程序在第20行处暂停时,观察p、*p、score、p-score等表达式的值。
按F10单步执行,观察上述表达式的值。
4)第20行、21行的循环变量是指针变量p,如果将循环变量改为score,即将第20行改为:for(p = score + n; score < p && *score != x; score++),程序能得到正确的结果吗?说明理由。
能得到正确结果实训3输入一个字符串,要求按相反的顺序输出各个字符。
例如,输入为AbcD,则输出为DcbA。
则NS图如下:1)在VS2013中新建项目,在项目中新建C++源文件,输入下面程序。
#include<iostream>using namespace std;int main(){char str[100] = "";char *p = NULL;cout << "请输入字符串:";gets_s(str);for (p = str; *p != '\0'; p++);cout << "逆序输出的字符串:";for (p = p - 1; p >= str; p--);{cout << *p;}cout << endl;return 0;}2)出现下列情况。
实训4定义课程结构类型,从键盘输入多门课程的信息,然后将其按课程号从小到大排序后输出。
要求课程的门数由键盘输入。
假设课程信息包含以下属性:课程编号:字符串,不超过20字符,不包含空格,如“303177020”课程名称:字符串,不超过100字符,可包含空格,如“The C Programming”学分:数值,可为小数,如1.5学时:整数,如32周学时:数值,可为小数,如1.5学期:整数,如5则NS图如下:#include <iostream>using namespace std;struct classInfo{int classno;char classna[20];float grade;int classtime;int weektime;int term;};int main(){classInfo kzxx[100] = { 0 };classInfo *p = 0;int n = 0;int i = 0, j = 0, changed = 0;cout << "请输入课程门数:";cin >> n;p = kzxx + 1;for (; p <= kzxx + n; p++){cout << "请输入课程编号:";cin >> (*p).classno;cout << "请输入课程名称:";cin >> (*p).classna;cout << "请输入学分:";cin >> (*p).grade;cout << "请输入学时:";cin >> (*p).classtime;cout << "请输入周学时:";cin >> (*p).weektime;cout << "请输入学期数:";cin >> (*p).term;}p = kzxx;for (i = 1; i < n; i++){changed = 0;for (j = 1; j <= n - i; j++){if (p[j].classno >p[j + 1].classno){kzxx[0] = p[j];p[j] = p[j + 1];p[j + 1] = kzxx[0];changed = 1;}}if (changed == 0){break;}}for (p++; p <= kzxx + n; p++){cout << "课程编号:" << (*p).classno << endl;cout << "课程名称:" << (*p).classna << endl;cout << "学分:" << (*p).grade << endl;cout << "学时:" << (*p).classtime << endl;cout << "周学时:" << (*p).weektime << endl;cout << "学期数:" << (*p).term << endl;}return 0;}2)出现下列情况。
实验心得1.通过此次实验我学会了数组的简单应用。
在C语言的学习上又迈出了一大步。
2.我也终于明白指针的作用:程序的数据结构从原子级别的数据结构:整型、浮点型、字符型、枚举型,到分子级别的数组、结构体(又称为“记录”),再到数据结构中的队列、栈、链表、树等,无论如何复杂,数据结构总是位于计算机的内存中,因此必有地址。
利用指针就可以使用地址作为一个完整值的速记符号,因为一个内存地址在内部表示为一个整数。
当数据结构本身很大时,这种策略能节约大量内存空间。