- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C程序设计综合实习》任务书.doc
课题一:用指针优化学生成绩排名
一、目的
1.熟悉变量的指针和指向变量的的指针变量的概念和使用
2.熟悉数组的指针和指向数组的的指针变量的概念和使用
3. 掌握冒泡法或选择法排序的算法
4. 掌握函数的定义、调用、声明,以及参数的两种传递方式
二、实习环境
个人计算机,Windows操作系统, WinTC或Visual C++等编译开发环境。
三、实习内容、步骤与要求
1.定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现
2.将数组stu[10]的内容输出到屏幕上,要求用指针实现
3.将成绩数组按照从高到低进行排序,要求用指针实现
4.将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单
5. 采用指针方法,输入字符串“student score ”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)
四、程序流程图、算法及运行结果
#includestdio.h
void main()
{
void f(int *x,int n);
int *p,i,stu[10];
char b[20],*q=student score;
p=stu;
printf(Input students cj:\n);
for(i=0;i10;i++) /*用指针输入*/
scanf(%d,p++);
printf(\n);
p=stu;
printf(The string is:\n);
for(i=0;i10;i++,p++) /*用指针输出*/
printf(%4d,*p);
printf(\n);
p=stu;
for(i=0;i10;i++) /*对成绩排序*/
{ int j;
int temp;
for(j=i;j10;j++)
if(*(p+i)*(p+j))
{ temp=*(p+i);*(p+i)=*(p+j);*(p+j)=temp;}
}
printf(The sort string:\n); /*输出排序后的成绩*/
for(i=0;i10;i++)
printf(%4d,stu[i]);
printf(\n);
f(stu,10); /*在函数中实现*/
printf(string a is:\n%s,q); /*复制字符串并输出*/
printf(\n);
strcpy(b,q);
printf(string b is:\n%s,b);
getch();
}
void f(int *x,int n)
{ int k;
for(k=0;kn-1;k++)
{ int j;
int temp;
for(j=k;jn;j++)
if(*(x+k)*(x+j))
{ temp=*(x+k);*(x+k)=*(x+j);*(x+j)=temp;}
}
printf(The sort string:\n);
for(k=0;k10;k++,x++)
printf(%4d,*x);
printf(\n);
}
五、知识点、难点及解决办法。
知识点:
指针变量的定义、使用;
数组与指针;
字符串与指针;
指针作为函数参数的作用。
难点:
指针变量的基本运算有哪些?如何使用指针操作所指向的变量?
如何使用指针实现函数调用返回多个值?
解决办法:
了解地址和指针的概念;掌握指针变量的定义和应用;掌握数组与指针,通过指针引数组元素;掌握字符串与指针。
①在主函数中设n个变量,用n个指针变量指向它们;
②然后将指针变量作实参,将这n个变量的地址传给所调用的函数的形参;
③通过形参指针变量,改变该n个变量的值;
④主函数中就可以使用这些改变了值的变量。
六、编程小结或体会。
指针式C语言的一个特色。熟练使用指针可以提高编程的效率;实现了在调用函数时变量改变了的值能够为主函数使用;可以实现动态存储分配。
但指针的使用太灵活,必须正确熟练的使用它才能达到提高效率的目的,所以使用指针要小心谨慎,要多上机调试程序,注重细节并积累经验。
课题二:学生成绩单制作
一、目的
1.掌握结构体变量及数组的定义、赋值、初始化、输入、输出
2.结构体数组的操作。
二、实习环境
个人计算机,Windows操作系统, WinTC或Visual C++等编译开发环境。
三、实习内容、步骤与要求
1.定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩
2.从键盘输入10个学生的以上内容
3.输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩
4.输出三门课程的平均分数最高的学生的学号、姓名及其平均分
5.将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:
num
原创力文档


文档评论(0)