10高级程序语言.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:42 大小:427KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

10高级程序语言.ppt

10高级程序语言.ppt

预览

免费试读已结束,剩余 32 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十讲结构类型例structstudent{longintorder;charname[20];charsex;shortintage;intscore[10];charaddr[30];};例structid_card{charname[30];charsex;charnationality[20];structdate{intyear,month,day;}birthday;char*p_addr;structdatesigned_date;longnumber;char*office;};例structwrong{charname[30];intcount;structwronga;};例structstudent{longintorder;charname[20];charsex;shortintage;intscore[10];charaddr[30];};structstudentstu1,stu2;定义结构类型的同时定义结构变量一般形式:直接定义结构类型变量一般形式:说明结构类型与结构类型变量概念不同类型:不分配内存;变量:分配内存类型:不能赋值、存取、运算;变量:可以结构类型可嵌套结构类型成员名与程序中变量名可相同,不会混淆结构类型及变量的作用域与生存期2结构类型变量的引用引用规则结构类型变量不能整体引用,只能引用变量成员例1计算某个同学5门课程成绩的平均分。#include<stdio.h>voidmain(){structstudent{char*name;/*姓名*/longorder;/*学号*/intscore[5];/*成绩*/floataverage;/*平均分*/}who;intsum=0,n;printf(“inputname,orderand5scores\n”);scanf(“%s%ld”,who.name,&who.order);for(n=0;n<5;n++)scanf(“%d”,&who.score[n]);who.average=0.0;for(n=0;n<5;n++)sum+=who.score[n];who.average=(float)sum/5;printf(“\nname=%s\torder=%ld\n”,who.name,who.order);printf(“average=%f\n”,who.average);}例2输入矩形左上角和右下角坐标,计算该矩形长和宽及面积。#include<stdio.h>#include<math.h>voidmain(){floatlength,width,area;structcoord{floatx,y;};structrectangle{structcoordtopleft,bottomrt;}mybox;printf(“enterthetopleftx,ycoordinate:\n”);scanf(“%f%f”,&mybox.topleft.x,&mybox.topleft.y);printf(“enterthebottomrightx,ycoordinate:\n”);scanf(“%f%f”,&mybox.bottomrt.x,&mybox.bottomrt.y);length=fabs((double)(mybox.bottomrt.x-mybox.topleft.x));width=fabs((double)(mybox.topleft.y-mybox.bottomrt.y));area=length*width;printf(“\nlength=%f\twidth=%f\n”,length,width);printf(“area=%f\n”,area);}例structstudent{intnum;charname[20];charsex;intage;charaddr[30];};structstudentstu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};例structstudent{intnum;charname[20];charsex;intage;charaddr[30];}stu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};形式三:(*结构类型指针名).成员名structstudent{intnum;charname[20];charsex;intage;