网站大量收购独家精品文档,联系QQ:2885784924

程序设计基础(C语言)教程 课件 9 构造型数据类型.pptx

程序设计基础(C语言)教程 课件 9 构造型数据类型.pptx

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

9构造型数据类型;;表9-1一维数组存储结构;;;;(4)结构体的成员也可以是结构体。学生基本情况如表9-2所示。

表9-2?学生基本情况表;;;;structstuinfo{

longnum;

charname[20];

charsex;

structdatebirthday;

charaddr;

}stu;

在结构体变量stu的成员分别为:

stu.num,stu.name,stu.sex,stu.addr

但要注意的是,如果成员本身又属于一个结构体类型,如其中的birthday,则要用若干个成员运算符,一级一级地找到最低一级(基层)的成员。只能对最低一级的成员进行赋值、存取或运算。

即:stu中结构体类型成员变量birthday的正确引用为

stu.birthday.year,stu.birthday.month,stu.birthday.day;;;C源程序:(文件名:li9_1.c)

#includestdio.h?/*包含stdio.h头文件*/

structstuinfo{ /*定义学生信息结构体*/

longnum;

charname[20];

charsex;

intage;

floatscore;

};

voidmain()

{

structstuinfostu;/*定义结构体变量stu*/

printf(请输入学号:);

scanf(%ld,stu.num);

printf(请输入姓名:);

scanf(%s,stu.name);

printf(请输入性别:);

/*注意:在前一个数据输入时,留有一个回车换行符,因此%c前需加一个空格,以防读取数据失败。*/

scanf(%c,stu.sex);

; printf(请输入年龄:);

scanf(%d,stu.age);

printf(请输入素质拓展分数:);

scanf(%f,stu.score);

printf(学生的信息如下:\n);

printf(学号:%ld\n,stu.num);

printf(姓名:%s\n,stu.name);

printf(性别:%c\n,stu.sex);

printf(年龄:%d\n,stu.age);

printf(素质拓展分数:%.2f\n,stu.score);

}

运行结果:

请输入学号:2022020312

请输入姓名:林俊杰

请输入性别:F

请输入年龄:19

请输入素质拓展分数:83.5

学生的信息如下:

学号:2022020312

姓名:林俊杰

性别:F

年龄:19

素质拓展分数:83.50;;或

struct结构体名

{

数据类型成员名1;

数据类型成员名2;

……

}数组名[元素个数];

例如:

//定义一个内有10各元素的结构体数组

structstuinfo

{

longnum;

charname[20];

charsex;

intage;

charaddr[50];

}stu[10];;;;;C源程序:(文件名:li9_2.c)

#includestdio.h?/*包含stdio.h头文件*/

structstudent{ /*定义学生信息结构体*/

intnum;

char*name;

chargender;

floatscore;

};

voidmain()

{

structstudentstu[5]={{10001,Liming,M,49},{10002,Zhangsan,M,66.5},

{10003,Huangping,F,82},{10004,Zhaoling,F,57},{10005,Pengfa,M,68.5}}; /*定义结构体数组stu,并初始化*/

inti,count=0;

floatsum=0;

printf(请输入学生信息:\n);

for(i=0;i5;i++)

{

sum+=stu[i].score;

if(stu[i].score60)

{

count++;}; printf(学生平均分为:%.3f,不及格人数为:%d\n,sum/5,count);

}

运行结果:

学生平均分为:64.600,不及格人数为:2

【例9-3】已知在学生信息表中包括学号、姓名及《素质拓展》的分数。对给定的常数N对应的N个学生,输入数据,并显示出《素质拓展》分数最高的学生信息。

[分析]:先在程序中自己建立一个结构体类型stuinfo,包括有关学生信息的各成员。然后用它来定义结构体数组

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档