计算机软件基础(自考本科结构类型).ppt
《计算机软件基础(自考本科结构类型).ppt》由会员分享,可在线阅读,更多相关《计算机软件基础(自考本科结构类型).ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机计算机 软件基础软件基础第一篇第一篇C语言程序设计基础语言程序设计基础第六章第六章第六章第六章结构类型结构类型结构类型结构类型一、结构类型的概念一、结构类型的概念1.结构类型结构类型 是指由用户自行定义的是指由用户自行定义的不同数据类型不同数据类型的组合体。的组合体。学生的基本数据:学生的基本数据:学号学号 长整型长整型姓名姓名 字符型数组字符型数组年龄年龄 整形整形性别性别 字符型字符型成绩成绩 实型数组实型数组一、结构类型的概念一、结构类型的概念2.结构类型的构建结构类型的构建结构类型结构类型一般形式为:一般形式为:struct 结构类型名结构类型名 类型类型1 成员成员1;类型类型
2、2 成员成员2;类型类型n 成员成员n;一、结构类型的概念一、结构类型的概念2.结构类型的构建结构类型的构建示例示例struct stu1 /定义一个定义一个stu1数据类型数据类型 long Num;/成员成员1:长整型:长整型 学号学号 char Name;/成员成员2:字符型:字符型 姓名姓名 char Sex;/成员成员3:字符型:字符型 性别性别 int Age;/成员成员4:整整 型型 年龄年龄 float Scorce3;/成员成员5:实型数组:实型数组 成绩成绩;二、结构类型变量二、结构类型变量1.结构类型变量的定义结构类型变量的定义方法方法1:先定义结构类型,再定义结构变量:
3、先定义结构类型,再定义结构变量step1:构建结构类型:构建结构类型如:如:struct stu1 long Num;char Name;char Sex;float Score3;step2:定义相应变量:定义相应变量如:如:struct stu1 a,b,c;二、结构类型变量二、结构类型变量1.结构类型变量的定义结构类型变量的定义方法方法2:定构建结构类型的同时定义相应变量:定构建结构类型的同时定义相应变量如:如:struct stu1 long Num;char Name;char Sex;float Score3;a,b,c;二、结构类型变量二、结构类型变量2.结构类型变量的引用结构类
4、型变量的引用引用规则如下:引用规则如下:(1)结构变量和结构体中成员,都不能单独引用;)结构变量和结构体中成员,都不能单独引用;(2)只能将结构变量与结构体成员)只能将结构变量与结构体成员合起来合起来引用。引用。引用格式:结构变量引用格式:结构变量.结构体成员结构体成员如:如:a.age二、结构类型变量二、结构类型变量3.结构类型变量的初始化结构类型变量的初始化(1)定义结构变量同时进行初始化。如:)定义结构变量同时进行初始化。如:struct student long Num;char Name20;float Score3;a=520,”WangXin”,78.5,49.5,90;二、结构
5、类型变量二、结构类型变量(2)也可以先定义结构变量,再进行初始化。如:)也可以先定义结构变量,再进行初始化。如:struct student long Num;char Name20;float Score3;main()struct student a;a=520,”WangXin”,78.5,49.5,90;二、结构类型变量二、结构类型变量例例6-1 分析程序,写出运行结果分析程序,写出运行结果main()struct stu1 long Num;char Name20;char sex;int age;float Score3;a=99123L,Wang Xin,F,23,78.5,49
6、.5,90.0;int i;printf(num:%1d name:%s sex:%c age:%dn,a.Num,a.Name,a.sex,a.age);for(i=0;i3;i+)printf(%8.1f,a.Scorei);二、结构类型变量二、结构类型变量例例6-2 编写求两复数之和的程序编写求两复数之和的程序struct stu3 int x;int y;main()struct stu3 a,b,c;scanf(%d,%d,%d,%d,&a.x,&a.y,&b.x,&b.y);c.x=a.x+b.x;c.y=a.y+b.y;printf(c=%d+%din,c.x,c.y);二、结构
7、类型变量二、结构类型变量(3)结构变量占用的存储空间)结构变量占用的存储空间(size):是结构体中所有:是结构体中所有成员所占空间之和。如:成员所占空间之和。如:struct student long Num;char Name20;float Score3;main()struct student a;printf(%dn,sizeof(a);三、结构数组三、结构数组1.结构类型数组的定义结构类型数组的定义(1)在构建结构类型的同时定义相应的数组。)在构建结构类型的同时定义相应的数组。一般形式一般形式示例示例struct 结构类型名结构类型名 成员表列;成员表列;数组名数组名 数组长度数组
8、长度;struct student long Num;char Name20;float score3;No8class 45;三、结构数组三、结构数组(2)先构建结构类型,再定义相应的数组。)先构建结构类型,再定义相应的数组。一般形式一般形式示例示例在已经定义好结构类型后,在已经定义好结构类型后,使用如下形式定义结构数使用如下形式定义结构数组:组:struct 结构类型名结构类型名 数组数组名名 数组长度数组长度struct student No8class 45;三、结构数组三、结构数组2.结构数组的初始化结构数组的初始化在构建结构类型的同时对数组初始化。如:在构建结构类型的同时对数组初始
9、化。如:struct stu4 long Num;char Name20;float Score3;a2=520,“WanXin”,78.5,49.5,90 ,240,“LiMing”,66.5,72.5,88 ;三、结构数组三、结构数组上例中的存储关系:上例中的存储关系:a0a1NumNameScore3NumNameScore3520 WanXin78.549.590240 LiMing 66.572.588二、结构类型变量二、结构类型变量例例6-3输入输入50个学生的基本信息个学生的基本信息(如图如图6-1所示所示),计算各,计算各个学生的平均分,并输出各人的学号、姓名及平均。个学生的平
10、均分,并输出各人的学号、姓名及平均。main()int i,j;float s;struct stu5 /*定义名为定义名为stu5的结构类型的结构类型*/long num;/*学号学号*/char name20;/*姓名姓名*/float score3;/*三门课成绩三门课成绩*/float ave;/*平均分平均分*/a50;/*50个学生个学生,各个学生具有以上信息各个学生具有以上信息*/二、结构类型变量二、结构类型变量for(i=0;i50;i+)printf(请输入第请输入第%d个同学的学号个同学的学号,姓名姓名,(i+1);scanf(%Ld,%s,&ai.num,ai.name)
11、;printf(请输入第请输入第%d个同学三门课成绩个同学三门课成绩,(i+1);for(j=0;j3;j+)scanf(%f,&ai.scorej);/*输入第输入第i个同学三门课成绩个同学三门课成绩*/for(i=0;i50;i+)/*下面求各人三门课平均值下面求各人三门课平均值*/s=0.0;for(j=0;j3;j+)s=s+ai.scorej;/*第第i个同学的第个同学的第j门课成绩累加门课成绩累加*/ai.ave=s/3.0;for(i=0;inum,p-name,p-age,p-score);printf(num:%Ld name:%s age:%2d score:%4.1fn,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 基础 自考 本科 结构 类型
限制150内