C语言结构体与指针实验(精选5篇)

时间:2019-05-12 04:10:10下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C语言结构体与指针实验》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C语言结构体与指针实验》。

第一篇:C语言结构体与指针实验

实验一 C语言结构体与指针

一、实验内容

1)学生信息的显示,具体要求如下: 定义一个结构体描述学生信息(学号,姓名,性别,年龄,住址); 设计一个函数,用于显示单个学生信息,函数的参数为前面定义的结构体类型; 设计一个主函数,在主函数中输入学生的信息,并调用前面定义的函数进行显示(学生人数不少于5人)。

2)输入若干个整数作为数组元素值,然后按输入时顺序的就地逆置排序,最后打印出逆置后的元素值。要求用指针和动态内存分配方法实现。例如 输入:10 2 30 4 5,逆置后显示为:5 4 30 2 10。

二、代码

1)#include

struct Student { int studentID;char name[20];char sex[2];//m=male f=female int age;char address[50];};

void showTheDetail(struct Student s){ printf(“%dn”,s.studentID);printf(“%sn”,s.name);printf(“%sn”,s.sex);printf(“%dn”,s.age);printf(“%snn”,s.address);}

void main(){ int i;struct Student student[5];for(i=0;i<5;i++){

printf(“student%dn”,i);

scanf(“%d”,&student[i].studentID);

}

scanf(“%s”,&student[i].name);scanf(“%s”,&student[i].sex);scanf(“%d”,&student[i].age);scanf(“%s”,&student[i].address);} for(i=0;i<5;i++){ showTheDetail(student[i]);} 2)#include void change(int x[],int n){

int temp,i,j,m=(n-1)/2;

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

{

j=n-1-i;

temp=x[i];x[i]=x[j];x[j]=temp;

}

return;}

int main(){

int n,i;printf(“please insert the amount of the numbers:n”);scanf(“%d”,&n);int array[n];printf(“please insert the numbers:n”);for(i=0;i

scanf(“%d”,&array[i]);} change(array,n);for(i=0;i

printf(“%d”,array[i]);} }

三、心得体会

复习了c语言中的数组,结构体的知识,编程中没有出现问题。

第二篇:C语言结构体指针变量作函数参数

C语言结构体指针变量作函数参数

在ANSI C标准中允许用结构变量作函数参数进行整体传送。但是这种传送要将全部成员逐个传送,特别是成员为数组时将会使传送的时间和空间开销很大,严重地降低了程序的效率。因此最好的办法就是使用指针,即用指针变量作函数参数进行传送。这时现金网96y.org由实参传向形参的只是地址,从而减少了时间和空间的开销。

计算一组学生的平均成绩和不及格人数。用结构指针变量作函数参数编程。

struct stu{

int num;

char *name;

char sex;

float score;

}boy[5]={

{101,Li ping,M,45},{102,Zhang ping,M,62.5},{103,He fang,F,92.5},{104,Cheng ling,F,87},{105,Wang ming,M,58}

};

main(){

struct stu *ps;

void ave(struct stu *ps);

ps=boy;

ave(ps);

}

void ave(struct stu *ps){

int c=0,i;

float ave,s=0;

for(i=0;i5;i++,ps++){

s+=ps-score;

if(ps-score60)c+=1;

}

printf(s=%fn,s);

ave=s/5;

printf(average=%fncount=%dn,ave,c);

}

本程序中定义了函数ave,其形参为结构指针变量ps。boy被定义为外部结构数组,因此在整个源程序中有效。在main函数中定义说明了结构指针变量ps,并把boy的首地址赋予它,使ps指向boy数组。然后博彩娱乐棋牌q07i5.org以ps作实参调用函数ave。在函数ave中完成计算平均成绩和统计不及格人数的工作并输出结果。

由于本程序全部采用指针变量作运算和处理,故速度更快,程序效率更高。

第三篇:C语言指向结构体数组的指针

C语言指向结构体数组的指针

指针变量可以指向一个结构数组,这时结构指针变量的值是整个结构数组的首地址。结构指针变量也可指向结构数组的一个元素,这时结构指针变量的值是该结构数组元素的首地址。

设ps为指向结构数组的指针变量,则ps也指向该结构数组的0号元素,ps+1指向1号元素,ps+i则指向i号元素。这与普通数组的情况现金网96y.org是一致的。

用指针变量输出结构数组。

struct stu{

int num;

char *name;

char sex;

float score;

}boy[5]={

{101,Zhou ping,M,45},{102,Zhang ping,M,62.5},{103,Liou fang,F,92.5},{104,Cheng ling,F,87},{105,Wang ming,M,58}

};

main(){

struct stu *ps;

printf(NotNametttSextScoretn);

for(ps=boy;psboy+5;ps++)

printf(%dt%stt%ct%ftn,ps-num,ps-name,ps-sex,ps-score);

}

在程序中,定义了stu结构类型的外部数组boy并作了初始化赋值。在main函数内定义ps为指向stu类型的指针。在循环语句for的表达式1中,ps被赋予boy的首地址,然后循环5次,输出boy数组中各成员值。

应该注意的是,一个结构指针变量虽然可以用来访问结构变量或结构数组元素的成员,但是,不能博彩公司排名q07i5.org使它指向一个成员。也就是说不允许取一个成员的地址来赋予它。因此,下面的赋值是错误的。

ps=boy[1].sex;

而只能是:

ps=boy;(赋予数组首地址)

或者是:

ps=boy[0];(赋予0号元素首地址)

第四篇:C语言程序设计实验十指针

C语言程序设计实验十——指针

【实验1】

实验题目:

1、下列代码片段哪里有错误?

char var1,ptr1;

var1 = „x‟;

ptr1 = &var1;

2、设有如下定义:

Double var1, *ptr1, *ptr2;

Float* ptr3;

Int var2, *var4;

那么,var1, *ptr1, ptr2,*ptr2,ptr3,* ptr3,var2, var4,*var4个属于哪种数据类型?

3、下列代码片段在哪里有错误?

Char c = ‟ A ‟;

Char * p;

p = c;或*p=‟A‟;

4、下列代码片段的输出结果是什么?

charvar1 = „ S „;

charvar2 = „ X ‟;

char*ptr1, *ptr2;

ptr1 = &var1;

ptr2 = &var2;

*ptr2 = *ptr1;

printf(“%ct%cn”, *ptr1, var2);

【实验2】

实验题目:输入3个整数,按由小到大的顺序输出。

【实验3】

实验题目:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。

实验要求:写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。

【实验4】输入年和天数,输出对应的年、月、日。

例如:输入2000和61,输出2000-3-1。

要求:都用指针实现。

第五篇:C语言实验程序、总结 实验七 指针

一 实验目的

实验七 指针 了解指针的概念,学会定义和使用指针变量。2 掌握指针、变量和数组的关系及使用方法。3 学会使用指向函数的指针变量。

二 实验内容 编写函数fun(float *sn,int n),其功能是:根据以下公式计算s,计算结果通过形参sn传回;n通过实参传入,n的值大于等于0。上机运行并记录输入输出(主函数已给出)。

s11111 3572n1fun(float *sn,int n){ 定义变量:和s,通项w,符号f,循环控制变量i; /* 其中s、f要初始化 */ 循环求累加和s { 改变符号;/* 由负变正或由正变负 */ 求通项w;累加:s+=w;} 形参指针变量sn赋值;/* 通过形参sn传回累加和s */ } main(){ float s;int n;printf(“n=”);scanf(“%d”,&n);fun(&s,n);printf(“s=%fn”,s);}

完整程序如下:

#include void fun(float *sn,int n){ float s=0.0,w,f=-1.0;int i=0;for(i=0;i<=n;i++);{ f=(-1)*f;w=f/(2*i+1);s+=w;} *sn =s;} main(){ float s;int n;printf(“n=”);scanf(“%d”,&n);fun(&s,n);printf(“s=%fn”,s);}

输出结果如下图: 想使指针变量pt1指向a和b中的大者,pt2指向小者,以下程序能否实现此目的? swap(int *p1,int *p2){ int *p;p=p1;p1=p2;p2=p } main(){ int a,b;int *pt1,*pt2;scanf(“%d,%d”,&a,&b);pt1=&a;pt2=&b;if(a

上机调试此程序。如果不能实现题目要求,指出原因并修改之。

子函数swap改成下面程序方可实现目的,主函数不变: swap(int *p1,int *p2){ int p;p=*p1;*p1=*p2;*p2=p;} 下面的程序用来实现将一个3×3的矩阵转置。#include void tranf(int(*p)[3]){ int t,i,j;for(i=0;i<3;i++)for(j=0;j

程序修改如下: #include void tranf(int(*p)[N]){ int t,i,j;for(i=0;i<3;i++)for(j=0;j char *strc(char *s1,char *s2){ char *p=s1;while(*s2!='')*p++=*s2++;return s1;} main(){ char s1[30]=“computer ok!”,s2[]=“language”,*pt;pt=strc(s1,s2);printf(“%sn”,pt);/* 第10行 */ } 将程序第10行中的%s改成%c,应该怎样修改?(只允许修改第10行)

应改为: printf(“%cn”,*pt++);

实验总结:本次实验主要掌握指针的概念,学会定义和使用指针变量,掌握指针、变量和数组的关系及使用方法,学会使用指向函数的指针变量,通过本次实验,很好的了解了指针的使用,加深了对指针的认识。

下载C语言结构体与指针实验(精选5篇)word格式文档
下载C语言结构体与指针实验(精选5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    结构与语言

    布局(结构) 一、 结构的含义 所谓结构,就是文章的内部构造,通常称之为谋篇布局。它是指文章中整体与部分,部分与部分之间的关系,是一种组“分”为“合”,组“局部”为“整体”的......

    C语言数据结构与指针(大全5篇)

    数据结构【第四次】实验报告 学院:班级: 学号:姓名:实验四 (一)实验名称:C语言数据结构与指针 (二)实验目的:巩固复习前期所学C语言的函数参数传递、指针和结构体等知识点,加强学习数据......

    C语言程序设计实验七:函数、数组、指针

    C语言程序设计实验七:函数、数组、指针 1、程序运行后,用户任意输入一个字符串,求出字符串长度,然后输出字符串内容及个 数。不能使用strlen函数。 求字符串长度函数的函数原型......

    C语言指针实习

    实习七:指针实习一、实习目的 姓名:尹思智学号:2012014413 完成日期:2013年4月 1. 由键盘输入10个整数,将它们从小到大排序 2. 将10个字符串(设其长度小于30)排序。 3. 找出二维数......

    C语言实验报告《指针》

    学号:__________ 姓名:__________ 班级:__________ 日期:__________ 指导教师:__________ 成绩:__________实验五 指针一、实验目的1、掌握指针的概念、会定义和使用指针变量2、掌......

    c语言 二维数组与指针 教案

    26 讲授 9.6二维数组和指针 2课时掌握二维数组的地址表示方法 掌握指向数组元素的指针变量 掌握指向数组元素的指针变量 掌握用指向由m个元素组成的一维数组的指针变量 指......

    第三节结构与语言

    第三节结构与语言(二)语言:公文语言应使用规范化的现代汉语书面语 言,其基本特色:准确、得体、简洁、质朴1.准确:书面语言的准确表现为表达意义的完整、 清晰,使阅读者在没有任何特......

    结构体与共用体小结

    结构体与共用体小结 一,结构体的概念和定义 1,结构体的定义 struct结构体名 { 数据类型成员名1;数据类型成员名1; ... }; 这里数据类型可以是复合类型,例如又是一个结构体类型,即......