[计算机软件及应用]c语言 第九章 常用库函数 第十章 结构2

上传人:aa****6 文档编号:55385526 上传时间:2018-09-28 格式:PPT 页数:82 大小:818.97KB
返回 下载 相关 举报
[计算机软件及应用]c语言 第九章 常用库函数 第十章 结构2_第1页
第1页 / 共82页
[计算机软件及应用]c语言 第九章 常用库函数 第十章 结构2_第2页
第2页 / 共82页
[计算机软件及应用]c语言 第九章 常用库函数 第十章 结构2_第3页
第3页 / 共82页
[计算机软件及应用]c语言 第九章 常用库函数 第十章 结构2_第4页
第4页 / 共82页
[计算机软件及应用]c语言 第九章 常用库函数 第十章 结构2_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《[计算机软件及应用]c语言 第九章 常用库函数 第十章 结构2》由会员分享,可在线阅读,更多相关《[计算机软件及应用]c语言 第九章 常用库函数 第十章 结构2(82页珍藏版)》请在金锄头文库上搜索。

1、课程名称:语言程序设计 课型与教法:讲授,通过程序扩展,进行对比学习 学时:4课时 授课题目:第 9 章 常用库函数和软件开发概述第10章 结构和杂类 基本教材:语言程序设计(高等教育出版社)廖雷主编 教学目的与要求:通过本章的学习学生了解结构体的意义和基本概念,能够正确定义和引用结构体变量、结构体数组、指向结构体指针,能够采用指针引用结构体变量,通过指针引用结构体数组,使用结构体变量、结构体数组、结构体指针作函数参数,了解有关链表的一些算法。 教学难点:结构成员的引用、链表 教学重点:结构成员的引用,结构变量作函数参数,结构数组成员的引用,指向结构变量的指针对成员的引用方式,输入输出函数,c

2、har *gets(char *string)功能:从键盘读入一字符串到string中。 int puts (char *string)功能:以串结束符为终结符的字符串输出。,例如: #include “stdio.h” main () char ss10; gets (ss); printf(“%s”,ss);,例如: #include “stdio.h” main () char ss10;gets (ss);puts (ss); ,第九章 常用库函数和软件开发概述,数学计算函数,double pow(double x,double y)功能: 求xy的值。 double floor(do

3、uble x)功能:求不大于X的最大整数。,例如: double x=2,y=3,z; z=pow(x,y);,例如: double x=2.678,z; z=floor(x);,第九章常用库函数和软件开发概述,数据类型测试和转换,int toupper(int c)功能:将C转换成大写。 char *itoa(int value,char *string, int radix)功能:把value值转换为以字符串结束符终结的字符串,并把结果存放在string中,radix指明在转换value过程中所用的进制值。,#include “stdio.h” #include “ctype.h” mai

4、n () int x=97; printf(“%c”,toupper(x); ,#include “stdio.h” #include “stdlib.h” main ( )char s5;int year;scanf(“%d”, ,第九章常用库函数和软件开发概述,软件开发概述,中小规模软件开发步骤 衡量软件质量的几个主要准则 正确性 易读性 高效性 易用性 易维护性 可靠性 可重用性 可移植性 强健性,第九章常用库函数和软件开发概述,使用C语言时常犯的错误,编译程序能查出的错误 赋值运算符(=)与等于运算符(=)混淆 在函数调用时漏写括号 忘了C是区分大小写的 分号问题 忘了字符指针与字符数

5、组的区别 编译程序不能发现的错 字符串比较未用strcmp 数组下标越界 打字错 在不该加分号的地方加了分号 忘了传送地址 字符数组大小未考虑字符串结束符的空间,第九章常用库函数和软件开发概述,第十章 结构和杂类,结构类型的定义,结构变量的说明和引用,结构数组,指针在结构中的应用,杂类,10.1 结构,结构是一种构造数据类型用途:把不同类型的数据组合成一个整体-自定义数据类型 结构类型定义一般形式:,struct ;.; ;,成员类型可以是 基本型或构造型,struct是关键词, 不能省略,合法标识符 可省:无名结构,第十章 结构和杂类,例 struct student int num;cha

6、r name20;char sex;int age;float score;char addr30;,例子图解,特点: 1、结构由若干个成员组成,每个成员类型可以不同。 2、结构类型定义描述结构的组织形式,不分配内存 3、结构类型必须自己定义,第十章 结构和杂类,先定义结构类型,再说明结构变量 一般形式:,结构变量的说明,struct ;.; ; struct 变量名表列;,第十章 结构和杂类,结构变量的说明,第十章 结构和杂类,例 struct student int num;char name20;char sex;int age;float score;char addr30;struc

7、t student stu1,stu2;,一般形式:,定义结构类型的同时说明结构变量,struct ;. 变量名表列;,例 struct student int num;char name20;char sex;int age;float score;char addr30;stu1,stu2;,一般形式:,用无名结构直接说明 变量只能一次,直接说明结构变量,struct ;. 变量名表列;,一般形式:,例 struct int num;char name20;char sex;int age;float score;char addr30;stu1,stu2;,直接说明结构变量,结构类型与结

8、构变量概念不同 类型:不分配内存; 变量:分配内存 类型:不能赋值、存取、运算; 变量:可以结构可嵌套,说明:,例 struct date int year,month,day; ; struct student int num;char name20;char sex;struct date birthday;stu1,stu2;,第十章 结构和杂类,形式一:,结构变量的初始化,struct ;. ; struct 结构类型名 结构变量=初始数据;,第十章 结构和杂类,例 struct student int num;char name20;char sex;int age;char add

9、r30; struct student stu1=112, “Wang Lin”, M, 19, “200 Beijing Road”;,结构变量的初始化,第十章 结构和杂类,形式二:,结构变量的初始化,struct ;. 结构变量=初始数据;,第十章 结构和杂类,例 struct student int num;char name20;char sex;int age;char addr30;stu1=112, “Wang Lin”, M, 19, “200 Beijing Road”;,结构变量的初始化,第十章 结构和杂类,形式三:,结构变量的初始化,struct ;. 结构变量=初始数据

10、;,第十章 结构和杂类,例 struct int num;char name20;char sex;int age;char addr30;stu1=112,“Wang Lin”,M,19, “200 Beijing Road”;,结构变量的初始化,第十章 结构和杂类,例:一个结构类型内嵌套了另一个结构类型的结构变量初始化struct date int year,month,day; ; struct student int num;char name20;char sex;struct date birthday;stu1=112, “Wang Lin”, M, 1980,12,15 ,st

11、u2=110, “Zhang San”, M,1980,12,15;,结构变量的初始化,第十章 结构和杂类,引用规则 引用结构变量中的一个成员,不能引用结构变量,只能引用其成员可将一结构变量赋值给另一结构变量结构嵌套时逐级引用结构成员名与程序中变量名可相同,不会混淆,成员(分量)运算符 优先级: 15 结合性:从左向右,引用方式: 结构变量名.成员名,结构变量的引用,第十章 结构和杂类,例 struct date int year,month,day; ; struct student int num;char name20;char sex;struct date birthday;stu1

12、,stu2;,第十章 结构和杂类,结构变量的引用,例 struct date date1;int year; (简单变量) date1.year (结构变量中的year成员),例:引用结构变量stu1的成员name和numstrcpy(stu1.name,”张三”); stu1.num=102; ,例: 用stu2为stu1赋值stu1 = stu2;,例: 引用结构变量stu1的出生年份 stu1.birthday.year=1980;,例:stu1=12,”Zhang”,W,1980,10,12; stu1=12; scanf(“%d”,stu1); printf(“%d”,stu1);

13、,第十章 结构和杂类,结构数组的定义 三种形式:,形式一: struct student int num;char name20;char sex;int age; struct student stu2;,形式二:struct student int num;char name20;char sex;int age;stu2;,形式三:struct int num;char name20;char sex;int age;stu2;,结构数组,第十章 结构和杂类,例 struct int num;char name20;char sex;int age;stu =112,“Wang Lin”

14、,M,15,113,“Li”,W,20,stu1=112,“Wang Lin”,M,15, 113,“Li”,W,20 ;,结构数组引用,引用方式: 结构数组名下标.成员名,struct student int num;char name20;char sex;int age;stu3;,stu1.age+;,strcpy(stu0.name,”ZhaoDa”);,结构数组初始化,结构数组,第十章 结构和杂类,例 有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,要求输出总平均成绩最高的学生信息。,/*ch10_1.c*/ #include #define N 3 struct student long stunum;char sex,name15;int score4;float average; ;,第十章 结构和杂类,void main( ) int i,j,index; float sum,max; struct student stuarrN;for(i=0;iN;i+) /*输入学生信息*/ printf(“请输入第%d个学生的信息:n”,i+1);scanf(“%ld,%c,%s“,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号