C语言实验3_指针与结构体.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实 验 报 告 三(四学时)课 程C语言程序设计实验项目指针与结构体成 绩专业班级应用化学学 号201431040226批阅日期姓 名张伟实验日期2015.04.29指导教师张群燕一【实验目的】(1)了解指针的概念,理解指针的本质及特征。 (2)掌握指针变量的声明、表示、引用及赋值方法。 (3)掌握指针变量的常用运算规则和实际应用。(4)结构体极其变量的定义和使用。(5)指针操作结构体变量的使用方法。二【实验内容】第一部分:指针【实验1—基础题】要求:定义和实现一个函数void swap(int *p , int *q),该函数实现两个整数的交换。在main函数中构造两个整型变量,通过调用swapt函数实现这两个整型变量的数值交换,并显示交换前和交换后的数据。目的:地指作为形式参数的用法(传址)实验结果:#includestdio.hvoid swap(int*p,int*q);int main(){int a,b;printf(请输入数a,b:);scanf(%d,%d,a,b);printf(交换前的数据:a=%d,b=%d\n,a,b);swap(a,b);printf(交换后的数据:a=%d,b=%d\n,a,b);return 0;}void swap(int*p,int*q){int temp;temp=*p;*p=*q;*q=temp;}【实验2—验证题】要求:运用指针的知识实现计算学生平均分的函数编写设数组score[]保存若干学生的某一课程的成绩,定义一个函数float aver_score(float *p,int n),计算该课程的平均成绩(形式参数n表示学生个数)。在main函数中用数组存放多个学生成绩,成绩由键盘输入,然后通过调用aver_score函数计算其平均成绩并输出。目的:指针与数组的关系及应用实验结果:#includestdio.h#define N 40float Averscore(float *p,int n);int main(){int n,i=-1;float score[N],aver,*p;p=score;do{i++;printf(Input score:);scanf(%f,p+i);}while(p[i]=0);n=i;aver=Averscore(p,n);printf(aver=%.2f\n,aver);return 0;}float Averscore(float *p,int n){int j;float sum=0;for(j=0;jn;j++){sum=sum + *(p+j);}return sum/n;}【实验3—延伸训练】要求:定义一个函数void reverse_str(char *p),实现字符串的逆序排列。调用函数reverse_str(char *p)时,把一个字符串的地址传递给指针p,由指针p对字符串进行交换,得到逆序排列的字符串。在main函数中构造一个字符串,通过调用reverse_str函数实现该字符串的逆序排列,并显示源字符串和逆序排列后的字符串。例如:用户输入的原字符串为asdfgh,调用函数reverse_str后,输出逆序字符串为hgfdsa。目的:指针操作字符数组的应用实验结果:#includestdio.h#define N 40void Reverse_ste(char*p);int main(){char Str[N];char *p=Str;printf(请输入字符:);gets(p);Reverse_ste(p);printf(逆序排列的字符:\n);puts(p);return 0;}void Reverse_ste(char*p){char temp;int i=-1, n, j;do{i++;}while(*(p+i)!=\0);i=i-1;n=i/2;for(j=0;j=n;j++){temp=*(p+j);*(p+j)=*(p+i-j);*(p+i-j)=temp;}}三【实验小结】编程不熟练,还需要勤加练习。第二部分:结构体【实验1—基础题】要求:定义关于学生信息的结构体:每个学生信息有:学号、姓名、三门课程的成绩、总分、平均分;定义结构体类型的变量:定义一个学生结构体类型的变量、通过键盘输入该学生的信息;提示:其中,学号、姓名、三门课程的成绩由键盘输入;总分和平均分通过用户输入的学生信息计算得到。分别使用 “.”运算和“-”运算实现结构体数据成员的访问,输出学生的各项信息。目的:掌握结构体的定义、结构体变量定义、结构体数据成员访问实验结果:#includestdio.htypedef struct{long studentID;char studentName[10];int s

文档评论(0)

wuailuo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档