实验十指针
C语言教材第七章指针实验

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]。
四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。
2、掌握选择结构的程序设计。
3、掌握分支结构的嵌套。
二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。
自变量x与函数值均采用双精度类型。
(2)自变量x值从键盘输入,且输入前要有提示信息。
(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。
记录结果。
(5)源程序以sy4_1.c存盘。
2、编程,将一个百分制成绩转换成等级制成绩。
具体要求如下:(1)百分制与等级制的对应关系如下:(3)用键盘输入百分制成绩,输入前要有提示信息。
(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。
(5)输出结果中应包含百分制成绩和成绩等级。
(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。
记录结果。
(7)源程序以sy4_2.c存盘。
三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。
2、掌握三种常用的循环语句的格式和功能。
3、初步掌握循环结构的编程方法。
二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。
要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。
2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。
C语言上机实验1-18

实验一C程序的运行环境及简单程序编写一、实验目的1.了解tc2.0编译系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容1.编写一个计算球体体积的程序,要求用户自行录入球体的半径。
参考公式V=4/3πr3.。
2.编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款。
运行结果:Ener a dollar amount:93$20 bills:4$10 bills:1$5 bills:0$1 bills:3实验二顺序结构程序设计一、实验目的1.熟悉C语言中的基本数据类型,掌握定义常量和变量以及对它们赋值的方法,了解数据输出时所用格式转换符。
2.掌握格式输入/输出函数的用法。
3.学会简单顺序程序的设计。
4.养成良好的程序设计习惯。
二、实验内容1.编写一个程序,对用户录入的产品信息进行格式化。
Enter item number:583Enter unit price:13.5Enter purchase date(mm/dd/yyyy):3/24/2010Item Unit PurchasePrice date583 $ 13.50 3/24/20102.编写一个程序,要求用户输入一个两位数,然后按数位的逆序打印出这个数。
Enter a two-digit number:28The reversal is :82实验三选择结构程序设计一、实验目的1.熟练使用if、switch编写程序。
二、实验内容1.编写一个程序,确定一个数的位数。
Enter a number:374The number 374 has 3 digits假设输入的数最多不超过4位。
提示:利用if语句进行数的判定。
例如,如果数在0到9之间,那么位数为1;如果数在10到99之间,那么位数为2。
程序设计基础(一)实验

程序设计基础(一)实验实验一上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉VC++语言的上机环境及上机操作过程。
2、了解如何编辑、编译、连接和运行一个C程序。
3、初步了解C程序的特点。
三、实验内容:说明:前三题为必做题目,后两题为选做题目。
1、输出入下信息:*************************Very Good*************************2、计算两个整数的和与积。
3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
4、在屏幕上显示一个文字菜单模样的图案:=================================1 输入数据2 修改数据3 查询数据4 打印数据=================================5、从键盘上输入两个整数,交换这两个整数。
四、实验步骤与过程:五、实验调试记录:实验二简单的C程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言的数据类型。
2、学会使用C语言的运算符及表达式。
3、掌握不同数据类型的输入输出方法。
三、实验内容:说明:前四题为必做题目,后两题为选做题目。
1、输入r1、r2,求出圆形垫片面积。
2、输入华氏温度h,输出摄氏温度c。
3、从键盘输入一个3位整数,将输出该数的逆序数。
4、输入并运行以下程序,分析运行结果。
#include <stdio.h>void main( ){ int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}5、输入三角形三条边的边长,求三角形的面积。
6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
上机实验九 指针一

上机实验九指针(一)
学号: 姓名:
一.目的要求
1.掌握指针的基本概念。
2.掌握指针变量的定义和初始化。
二.实验内容
1.使两个指针变量交换指向。
2.编写一个交换两个数的函数swap,函数的形式参数使用指针变量。
3.有三个整型变量i,j,k。
请编写一个程序,设置三个指针变量p1,p2,p3,分别指向i,j,k。
然后通过指针变量使i,j,k三个变量的值顺序交换,即原来i的值赋给j, 原来j 的值赋给k, 原来k的值赋给i。
i,j,k的原值由键盘输入,要求输出i,j,k的原值和新值。
4.从键盘输入三个整数,要求设计三个指针变量p1,p2,p3,使p1指向三个数的最大者,p2指向次大者,p3指向最小者,然后由从大到小的顺序输出三个数。
5.输入三个整数,要求设计2个指针变量p1,p2 ,使p1指向这三个数的最大值,p2指向最小者 ,并输出最大值和最小值。
信息学院高级语言实验内容

实验报告撰写:实验报告应包括以下内容:1.实验目的。
2.实验内容。
3.程序清单。
4.运行结果。
5.对运行结果的分析,以及本次调试程序所获得的经历。
实验六数组的根本应用一、实验目的:1.掌握一维数组和二维数组的定义、赋值和输入输出的方法;2.掌握字符数组的定义、赋值和输入输出方法;3.掌握字符串的处理函数及其使用。
二、实验内容1.将两个字符串连接起来,不要用strcat函数〔必做〕2.读入一行字符串〔不多于80个字符,以回车完毕〕,判断该字符串是否为回文串〔即从左向右拼写〔选做〕3.与从右向左拼写是一样的〕,是输出Y,否那么输出N。
〔选做〕实验七数组在排序、矩阵运算中的应用一、实验目的1.掌握与数组有关的算法〔如排序、矩阵运算等〕。
二、实验内容:1.用选择法对10个整数排序。
10个整数用scanf函数输入。
〔必做〕2.找出一个二维数组的“鞍点〞,即该位置上的元素在该行上最大,在该列上最小。
也可能没有鞍点。
至少准备两组测试数据:〔选做〕〔1〕二维数组有鞍点9 80 205 4090 -60 96 1210 -3 101 89〔2〕二维数组没有鞍点9 80 205 4090 -60 196 1210 -3 101 8945 54 156 7实验八函数调用一、实验目的:1.掌握函数的定义、调用和参数传递的方法;2.掌握函数的嵌套调用和的方法。
二、实验内容:1.写出一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。
本程序应准备以下测试数据:17,34,2,1,0,分别输入数据,运行程序并检查结果是否正确。
〔必做〕2.用递归法将一个整数n转换成字符串。
例如输入483.应输出字符串“483”。
n的位数不确定,可以是任意的整数。
〔选做〕实验九函数中的变量一、实验目的:1.掌握全局变量和部分变量的存储方式,以及其使用方法。
二、实验内容:1.求两个整数的最大公约数和最小公倍数。
用一个函数求最大公约数用另一个函数根据求出的最大公约数求最小公倍数。
物理实验仪器的基本调节方法与操作规程

物理实验仪器的基本调节方法与操作规程以上较详细的介绍了物理实验中常用的实验仪器及其使用方法,本节概述一下物理实验中的基本调节和操作方法,掌握正确的调节和操作方法不仅可将系统误差减小到最低限度,而且对提高实验结果的准确度有直接的影响。
一、物理实验仪器的基本调节方法1.零位调节绝大多数测量工具及仪表,如游标卡尺、螺旋测微器、电流表、电压表、万用表等都有零位(零点)。
在使用它们之前,必须检查或校正仪器零位。
对于一些特殊的仪器或精度要求较高的实验,还必须在每次测量前校正仪器零位。
零位校正的方法一般有两种。
一种是测量仪器本身带有零位校正装置,如电表,应使用零位校正装置使仪器在测量前处于零位;另一种仪器本身不能进行零位调整,如端点已经磨损的米尺、钳口已被磨损的游标卡尺,对于这类仪器,则应先记下零点读数,然后对测量数据进行零点修正。
2.水平或铅直调整有些仪器和实验装置必须在水平或铅直状态下才能正常地进行实验,如天平、气垫导轨、三线摆和一些光学仪器等,因此,在实验中经常遇到要对实验仪器进行水平或铅直调整。
这种调整常借助水准仪或悬锤进行。
凡是要作水平或铅直调整的仪器,在其底座上大多数设有三个底脚螺丝(或一个固定脚,两个可调脚),通过调节底脚螺丝,借助于水准仪或悬锤,可将仪器装置调整到水平或铅直状态。
3.消视差调节在实验中,经常会遇到仪器的读数标线(指针、叉丝)和标尺平面不重合的情况。
例如,电表的指针和刻度面总是离开一定的距离,因此,当眼睛在不同位置观察时,读得的指示值有时会有差异,这一现象称为视差。
为了获得准确的测量结果,实验时必须消除视差。
消除视差的方法有两种。
一是使视线垂直标尺平面读数,如1.0级以上的电表表盘上均附有平面镜,当观察到指针与其象重合时,读取指针所指刻度值即为正确的;二是使读数标线与标尺平面密合在同一平面内,如将游标卡尺上的游标尺加工成斜面,便是为了使游标尺的刻线下端与主尺接近处于同一平面,以减小视差。
用电位差计测电动势实验报告

用电位差计测电动势实验报告篇一:十一线电位差计测电动势(实验报告)大学物理实验报告实验名称电位差计测量电动势实验日期实验人员【实验目的】1. 了解电位差计的结构,正确使用电位差计;2. 理解电位差计的工作原理——补偿原理;3. 掌握线式电位差计测量电池电动势的方法;4. 熟悉指针式检流计的使用方法。
【实验仪器】11线板式电位差计、检流计、标准电池、待测电池、稳压电源、单刀双掷开关、保护电路组【实验原理】电源的电动势在数值上等于电源内部没有净电流通过时两极件的电压。
如果直接用电压表测量电源电动势,其实测量结果是端电压,不是电动势。
因为将电压表并联到电源两端,就有电流I通过电源的内部。
由于电源有内阻r0,在电源内部不可避免地存在电位降Ir0,因而电压表的指示值只是电源的端电压(U=E-Ir0)的大小,它小于电动势。
显然,为了等于其电动势E。
1. 补偿原理?? 如图1所示,把电动势分别为ES 、EX和检流计G 联成闭合回路。
当ES EX时,检流计指针偏向另一边。
只有当ES = EX时,回路中才没有电流,此时I=0 ,检流计指针不偏转,我们称这两个电动势处于补偿状态。
反过来说,若I=0 ,则ES = EX。
能够准确的测量电源的电动势,必须使通过电源的电流I为零。
此时,电源的端电压U才图1 补偿电路2. 十一线电位差计的工作原理如图2所示,AB为一根粗细均匀的电阻丝共长11米,它与直流电源组成的回路称作工作回路,由它提供稳定的工作电流I0;由待测电源EX、检流计G、电阻丝CD构成的回路称为测量回路;由标准电源ES、检流计G、电阻丝CD 构成的回路称为定标(或校准)回路。
调节总电流I0的变化可以改变电阻丝AB单位长度上电位差U0的大小。
C、D为AB上的两个活动接触点,可以在电阻丝上移动,以便从AB上取适当的电位差来与测量支路上的电位差(或电动势补偿)。
—第 1 页共 3 页—图2 电位差计原理图1) 预设当直流电源接通,K2既不与ES接通、又不与EX接通时,流过AB的电流I0和CD两端的电压分别为I0?ER?RAB(1)UCD?UC?UD?检流计G。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十指针(二)
1实验目的
(1)进一步掌握指针的应用。
(2)能正确使用数组的指针和指向数组的指针变量。
(3)能正确使用字符串的指针和指向字符串的指针变量。
(4)了解指向指针的指针的用法。
2实验内容
根据题目要求,编写程序,要求用指针处理,运行程序,分析结果,并进行必要的讨论分析。
(1)有n个人围成一圈,顺序排号。
从第1个人开始报数,从1报到3,凡报到3的人退出圈子,问最后留下的是原来第几号的人。
(2)将一个5×5的矩阵(二维数组)中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放)写一函数实现之。
用main函数调用。
(3)有一个班4个学生,5门课程。
1.求第一门课程的平均分。
2.找出有两个以上课程不及格的学生,输出他们的学号和全部课程成绩及平时成绩。
3.找出平时成绩在90分以上或全部课程成绩在85分以上的学生,分别编
3个函数实现以上3个要求。
4.用指向指针的指针方法对n个字符串排序并输出。
要求将排序单独写成一个函数。
n和各整数在主函数中输入。
最后在主函数中输出。
实验操作流程
3实验总结
我进一步掌握了指针的应用,能正确使用数组的指针和指向数组的指针变量。
能正确使用字符串的指针和指向字符串的指针变量,了解指向指针的指针的用法。
这一次实验是前一次实验上的进一步提升让我对指针的使用有了更深入的了解,也是c语言的能力的一次提升。