C语言第11章结构体
- 格式:ppt
- 大小:301.00 KB
- 文档页数:32


1 第11章 结构体、联合体与位运算
本章介绍结构体、联合体及枚举类型等三种新的构造型数据类型以及位运算的基本方法,包括结构体的含义;结构体类型变量的定义、引用及初始化方法;结构体数组的定义和数组元素的引用;结构体类型指针的概念及链表的基本操作方法;联合体的含义;联合体类型变量的定义方法;枚举类型的定义; TYPEDEF的作用和位运算的基本方法等。
11.1 结构体类型
通过前面有关章节的学习,我们认识了整型、实型、字符型等C语言的基本数据类型,也了解了数组这样一种构造型的数据结构,它可以包含一组同一类型的元素。但仅有这些数据类型是不够的。在实际问题中,有时需要将不同类型的数据组合成一个有机的整体,以便于引用。例如,在新生入学登记表中,一个学生的学号、姓名、性别、年龄、总分等,它们属于同一个处理对象,却又具有不同的数据类型。如图11-1。每增加、删减或查阅一个学生记录,都需要处理这个学生的学号、姓名、性别、年龄、总分等数据,因此,有必要把一个学生的这些数据定义成一个整体。
学 号
(整型) 姓 名
(字符型) 性 别
(字符型) 年 龄
(整型) 总 分
(实型)
11301 Zhang Ping F 19 496.5
图11-1
虽然数组作为一个整体可用来处理一组相关的数据,但不足的是,一个数组只能按序组织一批相同类型的数据。对于一组不同类型的数据,显然不能用一个数组来存放,因为数组中各元素的类型和长度都必须一致。为了解决这个问题,C语言中给出了另一种构造数据类型——“结构体”。
11.1.1 结构体类型与结构体变量
结构体是一种构造类型,它由若干“成员”组成。每一个成员可以是一个基本数据类型或者又是一个构造类型。结构体既然是一种构造而成的数据类型,那么在使用之前必须先定义它,如同在调用函数之前要先定义或声明一样。定义一个结构体类型的一般形式为:
struct 结构体名
{ 成员1 类型1;
C语言程序设计教案
第7章 结构体与共用体 第一讲
内容 说明
主要
内容
重点
难点
问题
提出
说明
1.结构体的概念及其基本操作
2.结构体的引用方法
3.结构体数组的使用
例子:
int a[5];
通过举例说明定义结构体的必要性。
和基本类型变量进行比较分析,进一步说明必须定义结构体类型。
1.结构体的概念及基本操作
2.结构体的引用方法
结构体的概念及基本操作
前面已经介绍了基本数据类型──整型、浮点型、字符型,也介绍了一种构造类型──数组,数组中各元素是属于同一种类型的。
例如:一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,各项的数据类型并不相同(如下图)
num name sex age score addr
10010 Li Fan m 18 88 chengde
如果将num、name、sex、age、score、addr分别定义为互相独立的简单变量,难以反映它们之间的内在联系,如何解决此类问题呢?
一、结构体类型引入
上例应该合数据组织成一个组合项,在一个组合项中包含若干个不同类型数据项,C语言没有提供这样的数据结构,因此用户必须在程序中建立所需结构体类型。
Struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30]; };
Struct student是一个类型名, Struct 是一个关键字,标志着这是一个结构体类型。
二、声明一个结构体的形式
Struct 结构体名
{成员表列};
其中,成员表列的格式为:
类型名 成员名;
三、定义结构体类型变量的方法
1.先声明结构体类型在定义变量名
已定义了一个结构体类型Struct student,可以用它定义变量。
《C语言程序设计》教案
一、教案简介
1. 课程名称:C语言程序设计
2. 适用对象:计算机科学与技术专业本科生、研究生,以及对C语言编程感兴趣的初学者
3. 课时安排:共计32课时,每课时45分钟
4. 教学目标:使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组、指针等概念,培养学生具备基本的编程能力和编程思维,为后续学习更高级的编程语言和计算机科学知识打下基础。
二、教学内容
1. 第一章:C语言概述
1.1 C语言的历史和发展
1.2 C语言的特点
1.3 集成开发环境(IDE)的使用
1.4 简单的C语言程序实例
2. 第二章:数据类型和运算符
2.1 数据类型
2.1.1 基本数据类型
2.1.2 构造数据类型
2.1.3 指针类型
2.2 变量和常量 2.3 运算符
2.3.1 算术运算符
2.3.2 关系运算符
2.3.3 逻辑运算符
2.3.4 赋值运算符
2.3.5 其他运算符
3. 第三章:控制结构
3.1 顺序结构
3.2 选择结构
3.2.1 if语句
3.2.2 switch语句
3.3 循环结构
3.3.1 while循环
3.3.2 do-while循环
3.3.3 for循环
4. 第四章:函数
4.1 函数的定义和声明
4.2 函数的参数和返回值
4.3 局部变量和全局变量
4.4 函数的递归调用
4.5 常用的库函数
5. 第五章:数组和指针 5.1 一维数组
5.2 二维数组
5.3 字符数组和字符串
5.4 指针的基本概念
5.5 指针与数组
5.6 指针与函数
三、教学方法
1. 讲授法:讲解基本概念、语法规则、编程技巧等
2. 案例教学法:通过编写实际程序,使学生理解和掌握相关知识
3. 实验教学法:安排上机实验,让学生动手实践,培养编程能力
4. 小组讨论法:组织学生进行小组讨论,分享学习心得,提高沟通与合作能力
四、教学评价
1. 平时成绩:包括课堂表现、作业完成情况、实验报告等,占总评的40%
12
《C语言程序设计》教学大纲
(理论课程)
课程名称:C语言程序设计 课程类型:公共必修课
课程编号: 080714 开课院(部):工程学院、金融学院
本课程学时学分:64学时(讲授32学时,实验32学时),4学分
适用专业:土木工程、工程管理、工业工程、数学与应用数学
开课学期:第2学期 先修课程:无
一、课程简述
本课程是工程与应用数学类学生的一门公共必修课,主要任务是介绍程序设计基础知识、算法基础知识、C语言中数据类型、运算符、表达式、数组、函数、指针、结构体等知识。目的是使学生掌握一门高级程序设计语言,了解程序设计的基本概念与方法,进而学会利用C语言去解决工程与数学应用问题。
二、课程要求
(一)教学方法
通过本课程的教学,掌握C程序设计的基本知识,能用面向过程的分析方法解决基本问题,并能较熟练地利用C语言进行程序设计。C语言对实践的要求较高,学生只有通过大量的上机实践才能巩固和掌握课堂的教学内容,因此要求学生课后要多进行上机实践。
(二)教学手段
课堂授课采用多媒体课件。
(三)课外作业
每章节都配有相应的复习思考题和实验题。
(四)辅导答疑
使用课后辅导、E-mail等多种方式辅导答疑。
(五)考核方式及成绩评定
本课程考核方式为:笔试。
12
总成绩=平时成绩(30%)+期末考试(70%)
三、教材或者主要教学参考资料
[1] 教育部考试中心.《全国计算机等级考试二级教程:C语言程序设计(2013年版)》.北京:高等教育出版社,2013。
[2] 谭浩强.《C程序设计教程(第四版)》.北京:清华大学出版社,2010。
[3] 谭浩强.《C程序设计(第四版)学习辅导》. 北京:清华大学出版社,2010年7月。
四、各教学环节学时分配
以表格方式表现各章节的学时分配,表格如下:
章节 章节名称 学 时
第1章 程序设计基本概念 1
第2章 C程序设计的初步知识 3