资源描述
数学与软件科学学院 实验报告
学期:2011至2012__ 第_1 学期 2011年10 月 31 日
课程名称:程序设计基础教程-C语言 专业:2010级5_班
实验编号:08实验项目: C语言程序实验报告 指针 指导教师_
姓名: 学号: 实验成绩:
一、实验目的及要求
(1) 掌握C语言环境下指针的声明、定义和使用方法;
(2) 掌握指针和变量以及指针和数组的关系;
(3) 掌握指针、数组之间的关系;
(4) 掌握指针、函数之间的关系。
二、实验内容
1.熟悉指针的基本使用方法。
(1) 请仔细分析以下程序段,并上机测试运行结果,对测试结果进行分析说明。
1) 程序段一:
int main()
{
int i=3,j=6,k=9;
printf(“i=%d j=%d k=%d\n”,*(&i),j,k);
return 0;
}
2) 程序段二:
int main(void)
{
int nA,*p;
float fB,*q;
p=&nA;
q=&fB;
scanf(“%d,%f”, p, q);
*p=nA*(*q);
printf(“nA is %d, p is %d and *p is %d\n”, nA, p,*p);
printf(“fB is %f, q is %d and *q is %d\n”, nA, q,*q);
printf(“p+1=%d q+1=%d\n”,p+1,q+1);
return 0;
}
3) 程序段三:
int main(void)
{
int nA,*p,**q,***r;
p=&nA;q=&p;r=&q;
printf(“Please input nA::\n”);
scanf(“%d”,**r);
printf(The results are :”);
printf(“nA’ value is %d,%d,%d,%d\n”,nA,*p,**q,***r);
printf(“nA,p,q,r’s value is %d,%d,%d,%d\n”,nA,p,q,r);
return 0;
}
(2) 设计一个C语言程序,以测试以下表达式的运算顺序。
2. 想使指针变量pt1指向变量nA和nB中的大者,pt2指向其小者,以下程序能否实现此目的?为什么?如果不行,请给出实现的方法。
void swap(int *p1,int *p2)
{
int *p;
p=p1;p1=p2;p2=p;
}
int main(void)
{
int nA,nB;
int *pt1,*pt2;
scanf(“%d,%d”,&nA,&nB);
pt1=&nA;pt2=&nB;
if (nA<nB) swap(pt1,pt2);
printf(“%d,%d\n”,*pt1,*pt2);
return 0;
}
3.请仔细分析教材例9-2、9-3、9-6~9-11,上机调试之。记录并分析程序运行结果。
实验准备:
(1) 编写所选实验题目的程序代码和流程图;
(2) 检查源程序并给出其可能的运行结果说明。
三、实验步骤(该部分不够填写.请填写附页)
1.熟悉指针的基本使用方法。
(1) 请仔细分析以下程序段,并上机测试运行结果,对测试结果进行分析说明。
1) 程序段一:
int main()
{
int i=3,j=6,k=9;
printf(“i=%d j=%d k=%d\n”,*(&i),j,k);
return 0;
}
实验结果见图一。
2) 程序段二:
int main(void)
{
int nA,*p;
float fB,*q;
p=&nA;
q=&fB;
scanf(“%d,%f”, p, q);
*p=nA*(*q);
printf(“nA is %d, p is %d and *p is %d\n”, nA, p,*p);
printf(“fB is %f, q is %d and *q is %d\n”, nA, q,*q);
printf(“p+1=%d q+1=%d\n”,p+1,q+1);
return 0;
}
实验结果见图二。
3) 程序段三:
int main(void)
{
int nA,*p,**q,***r;
p=&nA;q=&p;r=&q;
printf(“Please input nA::\n”);
scanf(“%d”,**r);
printf(The results are :”);
printf(“nA’ value is %d,%d,%d,%d\n”,nA,*p,**q,***r);
printf(“nA,p,q,r’s value is %d,%d,%d,%d\n”,nA,p,q,r);
return 0;
}
实验结果见图三。
2. 想使指针变量pt1指向变量nA和nB中的大者,pt2指向其小者,以下程序能否实现此目的?为什么?如果不行,请给出实现的方法。
void swap(int *p1,int *p2)
{
int *p;
p=p1;p1=p2;p2=p;
}
int main(void)
{
int nA,nB;
int *pt1,*pt2;
scanf(“%d,%d”,&nA,&nB);
pt1=&nA;pt2=&nB;
if (nA<nB) swap(pt1,pt2);
printf(“%d,%d\n”,*pt1,*pt2);
return 0;
}
实验结果见图四。
由实验结果可以看出该程序可以实现使指针变量pt1指向变量nA和nB中的大者,pt2指向其小者。
3.请仔细分析教材例9-2,上机调试之。记录并分析程序运行结果。
#include<stdio.h>
int main(void)
{
int m,*pt_m;
float b,*pt_b;
pt_m=&m;
pt_b=&b;
scanf("%d,%f",pt_m,pt_b);
*pt_m=m*(*pt_b);
printf("m is %d,pt_m is %d and *pt_m is %d\n",m,pt_m,*pt_m);
printf("b is %f,pt_b is %d and *pt_b is %d\n",b,pt_b,*pt_b);
printf("pt_m+1=%d pt_b+1=%d\n",pt_m+1,pt_b+1);
return 0;
}
实验结果见图五。
实 验 报 告 附 页
四、实验结果分析与评价 (该部分不够填写.请填写附页)
图一
图二
图三
图四
图五
注: 实验成绩等级分为(90-100分)优,(80-89分)良,(70-79分)中,(60-69分)及格,(59分)不及格其中专业理论知识内容包括:保安理论知识、消防业务知识、职业道德、法律常识、保安礼仪、救护知识。作技能训练内容包括:岗位操作指引、勤务技能、消防技能、军事技能。
二.培训的及要求培训目的
安全生产目标责任书
为了进一步落实安全生产责任制,做到“责、权、利”相结合,根据我公司2015年度安全生产目标的内容,现与财务部签订如下安全生产目标:
一、目标值:
1、全年人身死亡事故为零,重伤事故为零,轻伤人数为零。
2、现金安全保管,不发生盗窃事故。
3、每月足额提取安全生产费用,保障安全生产投入资金的到位。
4、安全培训合格率为100%。
二、本单位安全工作上必须做到以下内容:
1、对本单位的安全生产负直接领导责任,必须模范遵守公司的各项安全管理制度,不发布与公司安全管理制度相抵触的指令,严格履行本人的安全职责,确保安全责任制在本单位全面落实,并全力支持安全工作。
2、保证公司各项安全管理制度和管理办法在本单位内全面实施,并自觉接受公司安全部门的监督和管理。
3、在确保安全的前提下组织生产,始终把安全工作放在首位,当“安全与交货期、质量”发生矛盾时,坚持安全第一的原则。
4、参加生产碰头会时,首先汇报本单位的安全生产情况和安全问题落实情况;在安排本单位生产任务时,必须安排安全工作内容,并写入记录。
5、在公司及政府的安全检查中杜绝各类违章现象。
6、组织本部门积极参加安全检查,做到有检查、有整改,记录全。
7、以身作则,不违章指挥、不违章操作。对发现的各类违章现象负有查禁的责任,同时要予以查处。
8、虚心接受员工提出的问题,杜绝不接受或盲目指挥;
9、发生事故,应立即报告主管领导,按照“四不放过”的原则召开事故分析会,提出整改措施和对责任者的处理意见,并填写事故登记表,严禁隐瞒不报或降低对责任者的处罚标准。
10、必须按规定对单位员工进行培训和新员工上岗教育;
11、严格执行公司安全生产十六项禁令,保证本单位所有人员不违章作业。
三、 安全奖惩:
1、对于全年实现安全目标的按照公司生产现场管理规定和工作说明书进行考核奖励;对于未实现安全目标的按照公司规定进行处罚。
2、每月接受主管领导指派人员对安全生产责任状的落
展开阅读全文