- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据的组织结构(二)-高级语言程序设计-课件-北京工业大学-06课件
第6讲 数据的组织结构(二);一、结构体;struct 结构体类型名
{
数据类型成员1;
数据类型成员1;
……
数据类型成员n;
} ;;point p1,p2; // 对比:int i, j;
student zhang,wang;
定义时初始化
point p1 = {1, 1};
student zhang = {1, 张一};;结构体类型变量的成员变量的引用;同一结构体类型变量可以赋值
point p1 = {1,2}, p2 ;
p2 = p1 ;
等同于:
p2.x = p1.x ;
p2.y = p1.y ;;例:学生基本信息的组织;例:学生基本信息的组织;struct Date{ /* 日期结构 */
int year;
int month;
int day;
};
struct StudentInfo{ /* 学生信息结构 */
int num;
char name[24];
Date birthday;
char department[48];
char major[32];
};;数据类型的别名;typedef struct { /* 日期结构 */
int year;
int month;
int day;
}Date;
typedef struct { /* 学生信息结构 */
int num;
char name[24];
Date birthday;
char department[48];
char major[32];
}StudentInfo;
;30名学生用数组表示
#define NUM 30
StudentInfo s[NUM];;程序结构设计
给出每个函数的定义,包括:功能说明,入口参数,出口参数等。;输入模块
void inputInfo(StudentInfo[ ]);
功能:将全部学生信息通过键盘输入到StudentInfo[ ]数组 。
参数:学生信息数组。
返回值:没有。
输出模块
void outputInfo(StudentInfo [ ]);
功能:格式化输出StudentInfo[ ]数组中的全部学生信息。
参数:学生信息数组。
返回值:没有。
查询处理模块
void searchInfo(StudentInfo[ ], DATE);
功能:查找并输出StudentInfo[ ]数组中,DATE之后过生日的学生信息。
参数:学生信息数组。查找关键字:Date
返回值:没有。
;依据定义设计函数的流程,编写代码。
编写主模块函数的代码。
看书P170,程序代码。
分析书中设计的优缺点?;结构体应用例题;例:模拟发扑克牌;二、指针;指针类型变量的引用
int * intptr;
char * chptr;
int i = 0;
char c = ‘a’;
intptr = i; // i的地址赋给intptr
chptr = c; // c的地址赋给chptr;;指针变量所指的值
* intptr = 30;
在格式化输入输出中的应用
printf(“%d, %c”, *intptr, *chptr);
scanf(“%d%c”, intptr, chptr);;;指针比较
if(intptr2 == intptr1 )
…
if(intptr2 == NULL )
…
if( ! intptr2 )
…
;指针加减
int * p = data; //p指向data[0]; 即:data[0]
p++; //p指向data[1];
p = p+2; //p指向data[3];
p = p-2; //p指向data[1];
p = p+12; //成为bug;;例;例;为什么指针变量也要有类型?;指针与数组;指针与数组;利用指针对数组元素进行操作;指针数组例子;二维数组与一维指针数组;二维数组与一维指针数组;例:P187;例:P187;指针数组;指向指针的指针变量;指针与字符串;指针与字符串例子;例子:找出程序的错误;例子:正确答案;指向结构体变量的指针;例:选举问题;int main()
{
Candidate data[ NUM ];
Candidate MySelected;
input(data, NUM);
MySelected = max(data, NUM);
output( MySelected );
return 0;
};/* 查找得票最多的候选人。参
您可能关注的文档
最近下载
- 2025年最新化学教资案例题目及答案.doc VIP
- 《医疗人员职业防护》课件.ppt VIP
- Samsung三星门锁SHP-DP738用户手册.pdf
- 21教招FB-河南-学霸作业-普通心理学1(讲义笔记)(瓜妹笑笑).pdf VIP
- 财务管理第四版课后习题答案宋秋萍高等教育出版社.pdf VIP
- 李白《赠孟浩然》课件.ppt VIP
- 超星尔雅学习通【俄国近代思想史(北京师范大学)】章节测试附答案.docx VIP
- 精品课件-四渡赤水.ppt VIP
- 《许三观卖血记》读书分享PPT.pptx VIP
- 2025年大学试题(经济学)-政治经济学历年参考题库含答案解析(5套典型题).docx VIP
原创力文档


文档评论(0)