C语言实验报告之指针、结构体等综合程序设计

更新时间:2024-06-21 22:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、 实验的目的、要求及内容

1、 通过实验掌握指针的概念,学会定义和使用指针变量。 2、 能正确使用数组的指针和指向数组的指针变量。 3、 能正确使用字符串指针和指向字符串的指针变量。 4、 掌握结构体类型变量的定义和使用。

二、 算法设计思想及内容

本实验主要完成指针和结构体的应用训练,总共要求完成三个问题的源代码的编辑、编译、连接与运行,最终产生相关的运行结果,按规定要求提交相应的实验报告。具体要求完成的问题如下:

1、 采用指针方式编写程序输入10个整数,将其中最小的数与第一个数对换,把最

大的数与最后一个数对换。写3个函数:(1)输入10个数;(2)进行处理;(3)输出处理后的10个数。

2、 采用指针方式在主函数中输入字符串,在函数中求出字符串的长度,然后输出求出的长度。

3、 有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个

学生的数据,要求输出3门课程的总平均成绩,以及最高分数的学生的数据(包括学号、姓名、3门课的成绩、平均分)。

三、所使用的软硬件平台

软件平台:Microsoft Windows XP专业版SP3,Microsoft Visual C++ 6.0。

硬件平台:联想系列,Intel(R)Core(TM)i3,CPU 3.20Ghz,2.99GB内存,550GB硬盘。

四、源程序代码

1.#include

int main() {int a[10];

void shuru(int a[10]); void chuli(int a[10]); void shuchu(int a[10]); printf(\请输入10个数:\ shuru(a); chuli(a);

printf(\输出处理后的10个数为:\ shuchu(a); printf(\ return 0; }

void shuru(int a[10]) {int i;

for(i=0;i<10;i++) scanf(\}

void chuli(int a[10]) {int i,*max,*min,t1,t2; max=min=a; for(i=0;i<10;i++)

{if(*maxa[i]) min=&a[i]; }

t1=*max; *max=a[9]; a[9]=t1; t2=*min; *min=a[0]; a[0]=t2; }

void shuchu(int a[10]) {int i;

for(i=0;i<10;i++) printf(\}

2. #include

ch(char *a) {int count=0;

char *p=a;

while(*p++) count++; return count; }

int main() {char a[32767];

printf(\请输入一个字符串:\\n\gets(a);

printf(\该字符串的长度为:%d\\n\return 0; }

3. #include #define N 5 struct student {char number[6]; char name[8]; int score[3]; int average; }student[N]; int main()

{int i,j,sum=0,maxi=0,max=0,average=0; for(i=0;i

{printf(\输入第%d个学生以下相关信息:\\n\ printf(\学号:\

scanf(\ printf(\姓名:\

scanf(\ for(j=0;j<3;j++) {

printf(\第%d门课程的成绩:\

scanf(\ } }

for(i=0;i

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

sum+=student[i].score[j]; student[i].average=sum/3;

average=average+student[i].average; if(sum>max) { max=sum; maxi=i; } sum=1; }

average/=N;

printf(\学号 姓名 科目1 科目2 科目3 平均成绩\\n\ for(i=0;i

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

printf(\ printf(\}

printf(\门课程的总平均成绩为:%d\\n\ printf(\

%s

名:%s\\n\

printf(\这个学生3门课程的成绩分别为:%d,%d,%d,平均成绩为:d\\n\].score[2],student[maxi].average);

return 0; }

五、运行结果及分析 1.

2.

3.

六、结论与体会(在上机程序调试中遇到的问题、采用的解决办法、得到的收获)

通过对指针和结构体的学习,我体会到了指针是C程序中广泛使用的一种数据类型。运用指针进行编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构;能很方便地使用数组和字符串;并能编写出高校的程序。指针极大地丰富了C语言的功能,学习指针是C语言学习中重要的一个环节,

能否正确理解和掌握指针的使用时我们是否真正掌握C语言精华的一个标志。同时,指针也是C语言中很困难的一部分,在学习中除了要真正理解基本概念,还需要多多编程上机实践。

当一个C程序中变量过多,各个数据之间难以联系,没有整体概念的时候,结构体的作用大大凸显,定义一个结构体类型,可以在一个结构中声明不同的数据类型,相同结构的结构体变量是可以相互赋值的。使用结构体不仅节省了内存空间,而且使得编程效率大大提高。

仅供学习交流参考

本文来源:https://www.bwwdw.com/article/unh3.html

Top