版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+语言程序设计C+语言程序设计第四章 数组及自定义数据类型C+语言程序设计1目录C+语言程序设计2“ 数组 枚举类型 结构类型 联合类型基本知识 字符数组与字符串 多维数组 冒泡排序 结构数组编程技能 字符数组输入输出 多维数组在内存中的映像 枚举类型内存空间 结构类型内存空间刨根问底4.3 结结 构构 类类 型型C+语言程序设计3 结构类型 把现实生活中意义密切相关的一组数据组合成一个整体,即由各种数据类型(可以是基本数据类型或已声明的自定义数据类型)的数据组成一个集合,称为结构类型。 例如,一个学生的学号、姓名、年龄、成绩等,虽然分别属于不同的数据类型,但它们之间是密切相关的,因为每一组
2、信息属于一个人。4.3 结结 构构 类类 型型C+语言程序设计4 结构类型的定义和初始化结构的声明形式:struct 结构类型名 数据类型标识符1 成员名1; 数据类型标识符2 成员名2; 数据类型标识符n 成员名n;;struct student long num; /学号学号 char name20; /姓名姓名 char sex; /性别性别 int age; /年龄年龄 float score; /成绩成绩 char addr30; /住址住址; /必须以分号结束结构的定义必须以分号结束结构的定义 4.3 结结 构构 类类 型型C+语言程序设计5 结构变量的定义和使用 结构成员的访问:
3、 结构变量名.成员名例: student s1; s1.num=1; couts1.numendl; endl;如同使用一如同使用一个变量个变量如同使用一如同使用一个数组个数组4.3 结结 构构 类类 型型C+语言程序设计6 结构变量的初始化 定义结构变量时直接初始化 student s2=20041118,”Li Li”,18,90; 分别给各个成员赋值 student s1; s1.num=20041118; strcpy(, “Li Li”);C+语言程序设计7#include #include using namespace std;struct s
4、tudent /声明新的数据类型声明新的数据类型 long num;/学号学号 char name20; /姓名姓名 char sex;/性别性别 int age;/年龄年龄stu=20041118,Li Li,F,18;void main() coutsetw(8)stu.numsetw(10) setw(3)stu.sexsetw(3)stu.ageendl;运行结果:运行结果:20041118 Li Li F 18 结构类型的声明,变量的定义和初始化4.3 结结 构构 类类 型型C+语言程序设计8结构体可以由不同数据类型的成员构成,这些成员可能是基本数据类型,也可能是自定
5、义的数据类型,例如已声明的另一个结构类型。 结构的赋值运算属于同一结构类型的各个变量之间可以相互赋值。 这一点和数组不同,C+规定,不能直接进行数组名的赋值,因为数组名是一个常量,而结构类型的变量可以赋值。 不同结构的变量不允许相互赋值。 即使这两个变量可能具有同样的成员。 4.4 联联 合合 类类 型型C+语言程序设计9 有时需要使几个不同类型的变量共用同一组内存单元,这时可以声明一个联合型(Union)数据类型,语法形式为: union 联合类型名 数据类型说明符1 成员名1; 数据类型说明符2 成员名2; 数据类型说明符n 成员名n; ; 4.4 联联 合合 类类 型型C+语言程序设计1
6、0 联合类型变量定义形式: 联合类型名 联合变量名; 在某时刻,只能使用多个成员的其中之一,联合成员的引用形式为: 联合变量名.成员名例如: union uarea char c_data; short s_data; long l_data; ux; 联合类型可以不声明名称,称为无名联合,常用做结构类型的内嵌成员。C+语言程序设计11 设有若干个人员的信息,其中有学生和教师。从键盘输入相关人员的信息。#include using namespace std; struct person int num; char name10; char sex; char job; /人员的类别人员的类别
7、 union /无名联合作为结构体的内嵌成员无名联合作为结构体的内嵌成员 int classes; /为学生存放班级为学生存放班级 char position10; /为教师存放职称为教师存放职称 ; p2; C+语言程序设计12 设有若干个人员的信息,其中有学生和教师。从键盘输入相关人员的信息。void main() int i; for (i=0;pi.sexpi.job; if (pi.job = s) cinpi.classes; else if (pi.job = t) cinpi.position; else coutinput error!endl;
8、C+语言程序设计13 设有若干个人员的信息,其中有学生和教师。从键盘输入相关人员的信息。 for (i=0;i2;i+) /按学生或教师显示信按学生或教师显示信息息 if (pi.job = s) is a student of class pi.classes.endl; else if (pi.job = t) is a teacher, he is a pi.position.n; 运行结果:运行结果: 9910401 zhang m s 104 2355 wang f t prof zhang is a student of class 104. wang is a teacher, he is a prof. 4.4 联联 合合 类类 型型C+语言程序设计14 联合型变量的特点如下 (1)同一段内存用来存放几种不同类型的成员,但在某一时刻只能存放其中一种,而不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年全球与中国医用颅骨CT行业发展趋势及应用前景展望报告
- 2024-2030年全炼蜡行业市场现状供需分析及市场深度研究发展前景及规划投资研究报告
- 2024-2030年储油器行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2024-2030年信托行业市场深度分析及竞争格局与投资价值研究报告
- 2024-2030年便携式医用电子产品行业市场现状供需分析及市场深度研究发展前景及规划投资研究报告
- 2024-2030年体外诊断试剂市场投资前景分析及供需格局研究预测报告
- 2024-2030年会话发起协议(SIP)中继服务行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2024-2030年井下钻具行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2024-2030年二极管安装座行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2024-2030年乳制品行业风险投资发展分析及投资融资策略研究报告
- 中心静脉穿刺置管术培训教学课件
- 新教材大象版四年级下册科学第四单元复习课教学课件
- 《比大小》PPT课件教学
- 《斜视弱视学》考试备考题库(含答案)
- 毕业设计-栲胶法脱硫
- oracle数据库健康检查方案
- 海淀区2019学年七年级第二学期期末生物练习及答案
- 《刘姥姥进大观园》课本剧剧本3篇
- 六年级上册21课《伯牙鼓琴》课件26张
- 15套工程经济指标表格模板EXCEL
- 鲁班尺与公制厘米对照速查表
评论
0/150
提交评论