材料科学基础实验报告九

时间:2024.4.13

                   

              

实验报告

  

(九)

学院:_________________专业:_________________

班级:_________________学号:_________________

姓名:_________________日期:_________________

实验九  塑性变形与回复再结晶

 

第二篇:实验报告九


1.实验名称:指针

2.实验目的、要求——(1)掌握指针的概念,会定义和使用指针变量。

(2)能正确使用字符串的指针和指向字符串的指针变量。

(3)正确使用数组的指针和指向数组的指针变量。

(4)正确使用字符串的指针和指向字符串的指针变量。

(5)正确使用指向函数的指针变量;了解指向指针的指针的概念及其使用方法。

3.实验内容

(1)输入程序并运行,观察运行结果并分析。

sub(int x,int y,int *z)

{*z=y-x;}

#include "stdio.h"

int main()

{int a,b,c;

sub(10,5,&a);

sub(7,a,&b);

sub(a,b,&c);

printf("%4d,%4d,%4d\n",a,b,c);

return(0);}

编辑完以后结合功能键F2保存源程序,然后再按F9键完成一次编译和连接,显示无错误,按任意键返回显示源程序,接着按ctrl+F9运行,然后按alt+F5显示结果。

运行结果:-5,-12,-7

分析:与自己预想结果相同。首先因为被调用的函数sub的定义出现在主调函数之前,所以不必加以声明,因为编译系统已经知道了已定义函数的有关情况。sub为函数名,括号中有三个形式参数,其中x和y都是整型的,而z为指针类型。sub函数的作用是将y-x的值赋给z所指向的变量。第一次调用sub函数,&a相当于z,则*&a与a等价,即将5-10的值-5赋给a,同理第二次调用sub函数,将a-7的值即-5-7的值-12赋给b,第三次调用sub函数将b-a的值即-12-(-5)的值-7赋给c。最后用printf函数将a,b,c以%4d格式输出。主要考查对指针以及“&,*”运算符的理解。

(2)补全程序并运行。

按字符顺序比较两个字符串s、t的大小,如果s大于t,则返回正值,等于返回0,小于返回负值。

#include "stdio.h"

sub(char *s,char *t)

{for( ;*s==*t;s++,t++)

if(*s=='\0')return 0;

return(*s-*t);

}

#include "stdio.h"

int main()

{char a[20],b[20],*p,*q;

int i;

p=a; q=b;

scanf("%s%s",a,b);

i=sub(p,q);

printf("%d",i);

return(0);}

编辑完以后结合功能键F2保存源程序,然后再按F9键完成一次编译和连接,显示无错误,按任意键返回显示源程序,接着按ctrl+F9运行,出现黑屏后输入a a然后按Enter减返回源程序,然后按alt+F5显示结果。按照上述步骤依次输入aba cde,ab abc,23 25。 运行结果:0 -2 -99 -2

分析:与自己预想结果相同。与上一个程序中相同,此程序中的被调用的函数sub的定义出现在主调函数之前,所以不必加以声明,因为编译系统已经知道了已定义函数的有关情况。sub为自定义寒暑,它的两个形参s、t是指针变量,其中for语句的循环条件是*s==*t即s指向的字符常量与p指向的字符常量一样,执行循环体后s和t都自加1,但应注意指针变量加(减)一个整数并不是简单的将指针变量的原值加(减)一个整数,而是将该指针变量的原值(是一个地址)和它指向的变量所占用的内存单元字节数相加(减),这样的话便可实现s、t分别指向两个字符数组的下一个元素。如果*s与*t不一样的话,则返回*s-*t。在主函数中,定义两个字符数组a【20】和b【10】,两个指针变量p,q,并且将a字符数组的首元素的地址赋给指针变量p,将b字符数组的首元素的地址赋给指针变量q,则在调用函数时写成i=sub(p,q);即将返回值赋给整形变量i。最后用printf函数将i以%d格式输出,即输出的是两个字符常量的ASCII码值的差值。

(3)编写程序

输入a、b、c、d四个数,按从小到大的顺序输出这四个数。应用指针变量做函数参数实现。

#include "stdio.h"

void main()

{void swap(int *p,int *q);

int a,b,c,d;

int *p1,*p2,*p3,*p4;

scanf("%d,%d,%d,%d",&a,&b,&c,&d);

p1=&a;p2=&b;p3=&c;p4=&d;

if(a<b)swap(p1,p2);

if(a<c)swap(p1,p3);

if(a<d)swap(p1,p4);

if(b<c)swap(p2,p3);

if(b<d)swap(p2,p4);

if(c<d)swap(p3,p4);

printf("%d,%d,%d,%d\n",a,b,c,d);

}

void swap(int *p,int *q)

{int temp;

temp=*p;

*p=*q;

*q=temp;

}

编辑完以后结合功能键F2保存源程序,然后再按F9键完成一次编译和连接,显示无错误,按任意键返回显示源程序,接着按ctrl+F9运行,出现黑屏后输入5,8,6,3然后按Enter键返

回源程序,然后按alt+F5显示结果。

运行结果:8,6,5,3

分析:与自己预想结果相同。用指针变量作为函数的参数。swap函数的两个形参p,q是指针变量,并且在主函数定义四个指针变量p1、p2、p3、p4,四个整型变量a、b、c、d。然后将a、b、c、d的地址分别赋给指针变量p1、p2、p3、p4,使p1、p2、p3、p4分别指向a、b、c、d。然后执行if语句,如果a<b,则执行swap函数,将p1的值即&a,p2的值&b分别传给p、q。执行完swap函数后是*p1和&p2的值互换,也就是使a和b的值互换。其它的几个函数调用于此道理相同。则最后输出的a、b、c、d便是按由大到小的顺序输出的。之所以用指针变量作为函数参数,是因为这样的话在函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化依然保留下来,在主调函数中可以使用这些改变了的值。

(4)编写程序

将一个3*3矩阵转置。在主函数中用scanf输入矩阵元素,将数组名作函数参数,在子函数中实现矩阵转置,在主函数中输出转置后的矩阵。

#include "stdio.h"

void main()

{void trp(int *p);

int a[3][3];

int *p,i,j;

printf("shuruyige%d*%ddejuzhen\n",3,3);

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

p=a;

trp(p);

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

printf("%d",a[i][j]);

}

printf("\n");

}

}

void trp(int *p)

{

int i,j,temp;

for(i=0;i<3;i++)

for(j=i;j<3;j++)

{

temp=*(p+i*3+j);

*(p+i*3+j)=*(p+j*3+i);

*(p+j*3+i)=temp;}

}

编辑完以后结合功能键F2保存源程序,然后再按F9键完成一次编译和连接,显示无错误,按任意键返回显示源程序,接着按ctrl+F9运行,出现黑屏后输入1 2 3 4 5 6 7 8 9然后按Enter键返回源程序,然后按alt+F5显示结果。

运行结果:123

456

789

分析:与自己预想结果相同。

更多相关推荐:
材料科学基础实验报告

某某某某大学实验报告学院专业班级学号姓名日期实验一金相显微镜的使用及金相试样的制备实验二铁碳合金平衡组织的显微观察与分析实验三钢的热处理综合实验实验四铸铁及其显微组织分析实验五有色金属及其合金显微组织分析实验六...

5 《材料科学基础》-实验报告20xx###

专业基础实验实验报告专业课程材料科学基础指导老师学生姓名学号专业班级专业方向成绩评定百分制年月日实验一浇注和凝固条件对纯铝铸锭组织的影响一实验目的1观察和分析金属铸锭的正常组织2讨论浇注和凝固条件对铸锭组织的影...

材料科学基础实验报告

材料科学基础实验报告书学院材料科学与工程学院专业金属材料工程姓名学号实验一三元相图截面图的绘制实验二结晶过程观察与纯金属铸锭组织分析实验三用热分析法建立二元合金相图实验四铁碳合金的显微组织及分析

材料科学基础实验报告八

某某某某大学实验报告八学院专业班级学号姓名日期实验八奥氏体晶粒度的测定

材料科学基础实验报告五

某某某某大学实验报告五学院专业班级学号姓名日期实验五铸铁及其显微组织分析

材料科学基础实验报告三

实验三铁碳合金平衡组织的显微观察与分析

材料科学基础实验报告六

某某某某大学实验报告六学院专业班级学号姓名日期实验六有色金属及其合金显微组织分析

材料科学基础实验

材料科学基础材料科学基础材料科学基础I实验指导书编者李慧高振山审核张静武实验简介材料科学基础实验是验证巩固和补充课堂讲授的理论知识的必要环节通过材料科学基础实验培养学生初步具备金属材料组织观察与分析等实际工作的...

无机材料科学基础实验报告

材料材料科学与工程学院科学与工程专业实验报告建筑材料工程方向课程名称无机材料科学基础班级姓名学号成绩实验一试样制备显微镜的构造与操作一实验内容二实验目的三实验原理四实验仪器与设备五实验步骤六实验数据与结果分析七...

无机材料科学基础实验报告

姓名学号专业成绩日期洛阳理工学院材料系实验一差热分析一实验目的二实验原理三实验步骤1四实验数据记录差热分析曲线图试样的差热分析图谱五实验结果分析讨论六思考题1差热分析研究方法适用于研究哪些材料2为什么说差热分析...

材料科学基础读书报告

材料科学基础读书报告姓名黄道翔学号091615所在院系材料科学与工程学院学科门类材料科学与工程学科方向高分子材料二一一年十月摘要生活中我们所接触到的材料大多可以分为晶体和非晶体两类在科学研究上科学家们又发现了准...

无机材料科学基础本科实验报告

姓名学号专业成绩日期洛阳理工学院材料系实验一淬冷法研究相平衡一实验目的二实验原理三实验步骤1四实验显微镜观察结果记录一当不插入上偏光镜和石膏补色板时描述图像的情况及旋转载物台360观察的情况二当插入上偏光镜和石...

材料科学基础实验报告(20篇)