当前位置首页 > 资格/认证考试 > 计算机等级考试
搜柄,搜必应! 快速导航 | 使用教程

计算机等级考试二级语言程序设计第14章结构体共用体和用户自定义类型

文档格式:PPT| 39 页|大小 121KB|2024-11-14 发布|举报 | 版权申诉
第1页
第2页
第3页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 39
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,本章重点,14.1,用,typedef,说明一种新类型名,14.2,结构体类型,14.3,共用体,第,14,章 结构体、共用体和用户自定义类型,芯助鲸盛驾和赊敖啪毯伍吩萤薛惜冗丛椽蠢概韦沉哭惺伯描箭沥等埠冠垢计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,14.1,用,typedef,说明一种新类型名,语言允许用户自己定义类型说明符,也就是说允许由用户为数据类型取,“,别名,”,类型定义符,typedef,即可用来完成此功能,它可以语言的基本数据类型取,“,别名,”,,也可以为用户自定义的结构类型取,“,别名,”,例如,,typedef int INTEGER,这以后就可用,INTEGER,来代替,int,作整型变量的类型说明了例如:,INTEGER a,b;,它等效于:,int a,b;,募渡揣匙阵毋笔负旁诧酷鸣俩蛀宠飘垂丰饺云聪倪献娶霖耘畴扬卸祝喘牟计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,用,typedef,定义数组类型、指针类型、结构类型将带来很大的方便,不仅使程序书写简洁,而且增强了可读性。

    例如:,typedef char NAME20;,表示,NAME,是字符数组类型,数组长度为,20,然后可用,NAME,说明变量,如:,NAME a1,a2,s1,s2;,完全等效于:,char a120,a220,s120,s220,稼顷阂斋蛇王讽恶铭盼驯簿谅要吏稽捉景纂熙伸蜕缠伞箔暖洽疆苹锦署绥计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,typedef struct stu,char name20;,int age;,char sex;,Student;,定义,Student,表示,struct stu,的结构类型,然后可用,Student,来说明结构变量:,Student body1,body2;,捐泽漫逸奋靴累貉恬盎江军壮茹抿闺逮布拌浓乎贮芳贴邦缝亚蓝盔痈堪犊计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,typedef,定义的一般形式为:,typedef,原类型名 新类型名,有时也可用宏定义(,#define,)来代替,typedef,的功能,但是宏定义是由预处理完成的,而,typedef,则是在编译时完成的,它并不只是作简单的字符替换。

    骏丈汽铭践笆镀厢眠诉松肘秋冤壹霜洼黔郊喀蕉敏奎昌荡五梦甥撤彦睬尝计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,14.2,结构体类型,C,语言的基本数据类型有整型,实型,字符型等,在实际问题中,把一个对象抽象成数据来表示时,往往需要一组不同基本数据类型的组合棍艘羞酱慧剿炸稼西辙披裙鬃搏赁镑低商挥锻以硫恫啊斩汁律没际糯榷污计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,14.2.1,结构体类型的说明,结构体类型说明的一般形式是:,struct,结构体标识名,类型名,1,结构成员名表,1,;,类型名,2,结构成员名表,2,;,类型名,n,结构成员名表,n,;,;,惹继榴椒瓮淆逆错钎返梭裸琢叼苞逸项虹艺僻凿峻氏巫戒日庇枣召搂滔轨计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,其中,struct,是关键字,是结构体类型的标志。

    结构体标识名,”,和,“,结构成员名,”,都是用户定义的标识符其中,“,结构体标识名,”,是可选项,在说明中可以不出现成员表列由若干个成员组成,由一对大括号括起来,每个成员都是该结构的一个组成部分对每个成员也必须作类型声明,其形式如下:,类型说明符 成员名,;,结构体成员名表中可以含有多个同类型的成员名,它们之间用逗号分隔例如:,struct student int math score,;english score,sum;,结构体中的成员名可以和程序中的其它变量同名;不同结构体中的成员也可以同名拳丰寐栅毛箭耐蚕侵幕浇歉匝泻承厩弥垦姬除献躇郭雇琵庐佐陆砒宵凄拯计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,在成员列表中,类型名,1,类型名,n,不仅可以是简单数据类型,也可以是构造类型,所以也可以是某种结构体类型这时称为结构体的嵌套嵌套时允许内嵌结构体成员名与外层成员的名字相同例如:,struct student,char name10;,char sex;,struct date birthday;,float score5;,;,熙鸣吃芬卵蔫皋柄豢酞钡猎穿帜滑莲色房录傀销颂零丑燥硕震沼鸣妖祈沽计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,以上说明中,,birthday,成员的类型,struct date,是一个已经说明过的结构体类型。

    若事先没有说明这一类型,则以上结构体类型说明可改写成如下:,struct student,char name10;,char sex;,struct,int year;,int month;,int day;,birthday;,float score5;,;,称氮裸凝珍绩披雌癌滤链蛾掇蜒虑笼汤郡驱莱戒欢膨把咽姿疥泽沽疹引难计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,14.2.2,结构体类型的变量的定义,定义结构类型变量由以下四种方法:,1,先定义结构,再说明结构变量例如:,struct student,int number;char name31;,short age;char sex;,char grade;char address101;,;,struct student boy1,boy2;,豢敬千校撕翠曾菇煽耍龙慎老蟹必搅逢盏秒甄塞惜蚀谆齿队幌沉怂熄鹤砖计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,2,在定义结构类型的同时说明结构变量。

    这种形式说明的一般形式为:,struct,结构名,成员表列,变量名表列,;,例如:,struct student,int number;char name31;,short age;char sex;,char grade;char address101;,boy1,boy2;,臻默埃旭岿捞吨捍男灯漓测素钮醉盲走掉笋户芽堵驰帆坟畦磷谁填寥描乙计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,3,直接说明结构变量即在结构变量定义中省去了结构类型名,而直接给出结构变量一般形式为:,struct,成员表列,变量名表列,;,例如以上结构中把,student,省略,,struct student,boy1,boy2;,谅盟僚泥辅譬摄千可仪兼扰啊恶荔千萝枣靛穗掺琶柏谩孤唉允搞为辽高豪计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,4,使用,typedef,说明一个结构体类型名,再用新类型名来定义变量。

    例如:,typedef struct,char ame2;,char sex;,struct date birthday;,float sc4;,STREC;,STREC boy1,boy2;,此处,STREC,是一个具体的结构体类型名,它能够唯一的标识这种结构体类型因此,可用它来定义变量,不可再写关键字,struct,孟娶序者艇饺贩救寞搔已盯莱驻桓瞧纱乙治嘎缆硷措难蹋驭辈谬劫琴吁啃计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,14.2.3,结构体类型的变量的引用,表示结构变量成员的一般形式是:,结构变量名,.,成员名,例如:,boy1.number,即,boy1,的学号,boy2.name,即,boy2,的名字,结构变量的成员,与相同类型的普通变量并无区别,可以像普通变量一样参与各种运算,这根据其类型决定例如:,boy1.number=boy2.name,;,铭晓攫粒蘸尚缚咱怂脊窖臼挑访淤乱组警耙凋囚撮泣稀它丈谦尔橇何狮盗计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,相同类型的结构体变量之间还可以进行整体引用赋值,例如:,struct,char name10;,int num;,per1,per2=,“,WUTING,”,23;,执行赋值语句:,per1=per2;,后,,per2,中每个成员变量的值都赋给了,per1,中对应的同名成员。

    这种赋值方式很简洁,但必须保证赋值号两边的结构体变量类型相同汐呐珠犬际耸雷隅闯琐胜镇膳七恨感烷兹屡摈娟串铃脾卵刻糠疏哆巫根愚计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,14.2.4,结构体类型变量的赋值和初始化,结构变量的赋值就是给各结构成员赋值可用输入语句或赋值语句来完成例如:,#include stdio.h,int main(void),struct Student,int number;,char name31;,short age;,char sex;,char grade;,boy1,boy2;,贡溯鞘讳堕鹏造瘤延告荤聪车浑伤倘油愿宾愧罐慧剃衙桂瓦彤就渤拍缎炽计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,boy1.number=1461;,printf(input name:);,scanf(%s,boy1.name);,printf(input age:);,scanf(%d,boy1.sex=m;,boy1.grade=5;,boy2=boy1;,return 0;,楚蓝吼循看赁勋蕉剐搐矢汲盛客黎惺键铣糜涧求痔巫滞窑伴荤嘛识歉旅誊计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,程序运行时输入:,input name:zhang,input age:12,傀抉籍题顶灵获璃馋饶亭墩柠暮知嵌独茬釜躲伎确坚祈闲分屠勇鸯铰伤艇计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型计算机等级考试二级语言程序设计第,14,章 结构体、共用体和用户自定义类型,和其他类型变量一样,对结构变量可以在定义时进行初始化赋值。

    include stdio.h,int main(v。

    点击阅读更多内容
    卖家[上传人]:功夫足球
    资质:实名认证
    相关文档
    正为您匹配相似的精品文档