C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.

Slides:



Advertisements
Similar presentations
电子成绩单项目实现.
Advertisements

第4章 数组 数组是由一定数目的同类元素顺序排列而成的结构类型数据 一个数组在内存占有一片连续的存储区域 数组名是存储空间的首地址
数据结构与算法 数据结构与算法实验
第八章 类和对象.
第九章 系 统 安 全 性 9.1 结构体 9.2 结构体型数组  9.3 结构体型指针 9.4 内存的动态分配 9.5 共用体
第7章 结构体、联合体和枚举类型 本章导读 本章主要知识点 《 C语言程序设计》 (Visual C++ 6.0环境)
C程序设计 第9章 自定义数据类型 主讲教师: 鲁 萍 西安建筑科技大学 理学院.
C 程式設計— 結構 台大資訊工程學系 資訊系統訓練班.
函數(一) 自訂函數、遞迴函數 綠園.
补充内容 结构体 概述 定义结构体类型和定义结构体变量 结构体变量的引用 结构体变量的初始化 指针与结构体 用typedef定义类型的别名.
编译原理与技术 类型检查 2018/11/21 《编译原理与技术》-类型检查.
教材 《C++程序设计》.谭浩强. 清华大学出版社 王雪晶
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
Chap 9 结构 9.1 构建手机通讯录 9.2 结构变量 9.3 结构数组 9.4 结构指针.
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
C语言程序设计基础 第9章 结构 刘新国.
第3章 继承和派生.
第九章 结构体和共用体 结构体的定义 结构体的使用 共用体的定义 共用体的使用 主讲:李祥 时间:2015年10月.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
Object-Oriented Programming in C++ 第一章 C++的初步知识
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
C语言程序设计 李祥.
C 程式設計— 結構 台大資訊工程學系 資訊系統訓練班.
C++语言程序设计教程 第7章 类与对象 第7章 类与对象.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
第13章 输入输出流 王雪晶.
C++语言程序设计 第二章 C++简单程序设计.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
第13章 结构体的应用 13.1 了解由用户构造的数据类型 13.2 结构体类型说明及结构体变量 13.3 结构体数组
谭浩强 编著 中国高等院校计算机基础教育课程体系规划教材 C++程序设计.
C++语言程序设计 第十一章 流类库与输入/输出.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
C++大学基础教程 第3章 C++控制语句 北京科技大学 信息基础科学系.
C语言程序设计.
第十章 用户自定义数据类型 目录 学生信息管理系统的开发 结构体数据类型的概述 结构体变量的使用 结构体数组
OOP6 結構Struct 黃兆武.
目录 9.1 结构体类型 9.2 共用体类型 9.3 枚举类型 9.4 类型声明符typedef 1.
第十章 结构体与链表 西安工程大学.
第二章 基本数据类型及运算 C数据类型概述 基本数据类型 运算符和表达式 混合运算与类型转换 数据的输入输出 顺序程序设计举例.
Chapter 2 & Chapter 3.
C++语言程序设计 C++语言程序设计 第五章 函数 第十一组 C++语言程序设计.
Java變數 2014/6/24.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
本节内容 字节对齐.
物件導向程式設計 CH2.
第11章 從C到C++語言 11-1 C++語言的基礎 11-2 C++語言的資料型態與運算子 11-3 C++語言的輸出與輸入
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C++程式設計入門 變數與運算子 作者:黃建庭.
第二章 类型、对象、运算符和表达式.
Review 1~3.
C/C++基礎程式設計班 C++: 物件的使用、參考、重載函式 講師:林業峻 CSIE, NTU 3/28, 2015.
#include <iostream.h>
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
本节内容 指针类型.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.
第9章 C++程序设计初步 9.1 C++的特点 9.2 最简单的C++程序 9.3 C++的输入输出 9.4 函数的重载
變數與資料型態  綠園.
資料!你家住哪裏? --談指標 綠園.
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
安排座位.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计

“ 目录 C++语言程序设计 基本知识 编程技能 刨根问底 字符数组输入输出 数组 字符数组与字符串 多维数组在内存中的映像 枚举类型 枚举类型内存空间 结构类型内存空间 数组 枚举类型 结构类型 联合类型 字符数组与字符串 多维数组 冒泡排序 结构数组 C++语言程序设计

4.3 结 构 类 型 结构类型 把现实生活中意义密切相关的一组数据组合成一个整体,即由各种数据类型(可以是基本数据类型或已声明的自定义数据类型)的数据组成一个集合,称为结构类型。 例如,一个学生的学号、姓名、年龄、成绩等,虽然分别属于不同的数据类型,但它们之间是密切相关的,因为每一组信息属于一个人。 C++语言程序设计

4.3 结 构 类 型 结构类型的定义和初始化 结构的声明形式: struct 结构类型名 { 数据类型标识符1 成员名1; 4.3 结 构 类 型 结构类型的定义和初始化 结构的声明形式: struct 结构类型名 { 数据类型标识符1 成员名1; 数据类型标识符2 成员名2; ┇ 数据类型标识符n 成员名n; }; struct student { long num; //学号 char name[20]; //姓名 char sex; //性别 int age; //年龄 float score; //成绩 char addr[30]; //住址 }; //必须以分号结束结构的定义 C++语言程序设计

4.3 结 构 类 型 结构变量的定义和使用 结构变量名.成员名 结构成员的访问: 例: student s1; s1.num=1; 4.3 结 构 类 型 结构变量的定义和使用 结构成员的访问: 结构变量名.成员名 例: student s1; s1.num=1; cout<<s1.num<<endl; cout<<s1.name<<endl; 如同使用一个变量 如同使用一个数组 C++语言程序设计

4.3 结 构 类 型 结构变量的初始化 定义结构变量时直接初始化 student s2={20041118,”Li Li”,18,90}; 4.3 结 构 类 型 结构变量的初始化 定义结构变量时直接初始化 student s2={20041118,”Li Li”,18,90}; 分别给各个成员赋值 student s1; s1.num=20041118; strcpy(s1.name, “Li Li”); C++语言程序设计

结构类型的声明,变量的定义和初始化 C++语言程序设计 #include <iostream> #include <iomanip> using namespace std; struct student //声明新的数据类型 { long num; //学号 char name[20]; //姓名 char sex; //性别 int age; //年龄 }stu={20041118,"Li Li",'F',18}; void main() { cout<<setw(8)<<stu.num<<setw(10)<<stu.name <<setw(3)<<stu.sex<<setw(3)<<stu.age<<endl; } 运行结果: 20041118 Li Li F 18 C++语言程序设计

4.3 结 构 类 型 结构体可以由不同数据类型的成员构成,这些成员可能是基本数据类型,也可能是自定义的数据类型,例如已声明的另一个结构类型。 结构的赋值运算 属于同一结构类型的各个变量之间可以相互赋值。 这一点和数组不同,C++规定,不能直接进行数组名的赋值,因为数组名是一个常量,而结构类型的变量可以赋值。 不同结构的变量不允许相互赋值。 即使这两个变量可能具有同样的成员。 C++语言程序设计

有时需要使几个不同类型的变量共用同一组内存单元,这时可以声明一个联合型(Union)数据类型,语法形式为: 4.4 联 合 类 型 有时需要使几个不同类型的变量共用同一组内存单元,这时可以声明一个联合型(Union)数据类型,语法形式为: union 联合类型名 { 数据类型说明符1 成员名1; 数据类型说明符2 成员名2; …… 数据类型说明符n 成员名n; }; C++语言程序设计

4.4 联 合 类 型 联合类型变量定义形式: 在某时刻,只能使用多个成员的其中之一,联合成员的引用形式为: C++语言程序设计 4.4 联 合 类 型 联合类型变量定义形式:   联合类型名 联合变量名; 在某时刻,只能使用多个成员的其中之一,联合成员的引用形式为:   联合变量名.成员名 例如:   union uarea   { char c_data; short s_data; long l_data;   }ux; 联合类型可以不声明名称,称为无名联合,常用做结构类型的内嵌成员。 C++语言程序设计

C++语言程序设计 设有若干个人员的信息,其中有学生和教师。从键盘输入相关人员的信息。 #include <iostream> using namespace std; struct person { int num; char name[10]; char sex; char job; //人员的类别 union //无名联合作为结构体的内嵌成员 { int classes; //为学生存放班级 char position[10]; //为教师存放职称 }; } p[2]; C++语言程序设计

C++语言程序设计 设有若干个人员的信息,其中有学生和教师。从键盘输入相关人员的信息。 void main() { int i; for (i=0;i<2;i++) {cin>>p[i].num>>p[i].name>>p[i].sex>>p[i].job; if (p[i].job == 's') cin>>p[i].classes; else if (p[i].job == 't') cin>>p[i].position; else cout<<"input error!"<<endl; } C++语言程序设计

C++语言程序设计 设有若干个人员的信息,其中有学生和教师。从键盘输入相关人员的信息。 for (i=0;i<2;i++) //按学生或教师显示信息 { if (p[i].job == 's') cout<<p[i].name<<" is a student of class" <<p[i].classes<<"."<<endl; else if (p[i].job == 't') cout<<p[i].name<<" is a teacher, he is a" <<p[i].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. C++语言程序设计

4.4 联 合 类 型 C++语言程序设计 联合型变量的特点如下 4.4 联 合 类 型 联合型变量的特点如下 (1)同一段内存用来存放几种不同类型的成员,但在某一时刻只能存放其中一种,而不是同时存放几种; (2)联合变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后,原有的成员就会失去作用; (3)联合变量的地址和它的各个成员的地址是同一地址; (4)不能对联合变量名赋值,也不能在定义时初始化; (5)不能用联合变量作为函数参数或返回值。 C++语言程序设计