欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    11高级程序语言.ppt

    • 资源ID:70025465       资源大小:166KB        全文页数:12页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    11高级程序语言.ppt

    &构造数据类型,也叫共用体&用途:使几个不同类型的变量共占一段内存(相互覆盖)联合类型定义定义形式:union 联合名 类型标识符 成员名;类型标识符 成员名;.;例 union data int i;char ch;float f;fchi类型定义不分配内存第十一讲 联合类型形式一:union data int i;char ch;float f;a,b;形式二:union data int i;char ch;float f;union data a,b,c,*p,d3;形式三:union int i;char ch;float f;a,b,c;联合变量的定义fchifchiab联合变量定义分配内存,长度=最长成员所占字节数联合变量任何时刻只有一个成员存在联合变量引用v引用方式:例 a.i=1;a.ch=a;a.f=1.5;printf(“%d”,a.i);(编译通过,运行结果不对)v引用规则l不能引用联合变量,只能引用其成员联合指针名-成员名联合变量名.成员名(*联合指针名).成员名union data int i;char ch;float f;union data a,b,c,*p,d3;a.i a.ch a.fp-i p-ch p-f(*p).i (*p).ch (*p).fd0.i d0.ch d0.fl联合变量中起作用的成员是最后一次存放的成员例 union int i;char ch;float f;a;a=1;()l不能在定义联合变量时初始化例 union int i;char ch;float f;a=1,a,1.5;()l可以用一个联合变量为另一个变量赋值例 float x;union int i;char ch;float f;a,b;a.i=1;a.ch=a;a.f=1.5;b=a;()x=a.f;()例 将一个整数按字节输出01100001 01000001低字节高字节0100000101100001ch0ch1运行结果:i=60501ch0=101,ch1=141ch0=A,ch1=amain()union int_char int i;char ch2;x;x.i=24897;printf(i=%on,x.i);printf(ch0=%o,ch1=%on ch0=%c,ch1=%cn,x.ch0,x.ch1,x.ch0,x.ch1);结构类型与联合v区别:存储方式不同struct node char ch2;int k;a;union node char ch2;int k;b;achkbch k变量的各成员同时存在任一时刻只有一个成员存在v联系:两者可相互嵌套例 结构类型中嵌套联合 name numsexjobclasspositionLiWang10112086FMST501prof循环n次读入姓名、号码、性别、职务job=s真真假假读入class读入position输出“输入错”循环n次job=s真假输出:姓名,号码,性别,职业,班级输出:姓名,号码,性别,职业,职务job=tstruct int num;char name10;char sex;char job;union int class;char position10;category;person2;例联合中嵌套结构类型,机器字数据与字节数据的处理 00010010 00110100低字节高字节0011010000010010lowhigh0 x123400010010 11111111低字节高字节1111111100010010lowhigh0 x12ffstruct w_tag char low;char high;union u_tag struct w_tag byte_acc;int word_acc;u_acc;word_accbyte_acc.lowbyte_acc.highu_acc例例 6.13 编程,输入一个长整型的整数,分别取出该数的各字节的值。分析:分析:定义一个联合类型如下所示:union data char s5;long n;#include union datachar s5;long n;void main(void)union data x;int i;printf(“输入一个长整数:”);scanf(“%lx”,&x.n);printf(“各字节取值如下:n”);for(i=0;isizeof(long);i+)printf(“第%d个字节:%x”,i,x.si);printf(“n”);例例 6.14 编程存放学生的下述信息:姓名、学号和当前住址,其中学生当前编程存放学生的下述信息:姓名、学号和当前住址,其中学生当前住址有两种情况:在校住宿学生用学校地址(楼房名和房间号),非在校住址有两种情况:在校住宿学生用学校地址(楼房名和房间号),非在校学生用家庭住址(街道号、街道名和城市名)。并输出指定姓名学生的当学生用家庭住址(街道号、街道名和城市名)。并输出指定姓名学生的当前住址。前住址。分析:分析:struct off_schoolint strnum;/*街道号*/char strname20;/*街道名*/char city20;/*城市名*/;struct in_schoolint roomnum;/*房间号*/char dorm20;/*楼房名*/;union addressstruct off_school town;struct in_school gown;struct studentint num;/*学号*/char name20;/*姓名*/char off_in;/*是否在学校住*/union address ad;/*当前住址*/;#include include#define N 3struct off_schoolint strnum;char strname20;char city20;struct in_schoolint roomnum;char dorm20;union addressstruct off_school town;struct in_school gown;struct studentint num;char name20;char off_in;union address ad;void main(void)struct student sN;char name20;int i;for(i=0;iN;i+)printf(“请输入第%d个学生数据n”,i+1);printf(“学号:”);scanf(“%d”,&si.num);printf(“姓名:”);gets(si.name);getchar();printf(“是否在校住宿学生(n在校住宿、其他表示非在校住宿):”);si.off_in=getchar();printf(“请输入当前地址n”);i f(si.off_in=n)printf(“请输入房间名和房间号:”);scanf(“%d%s”,&si.ad.gown.roomnum,si.ad.gown.dorm);else printf(“请输入街道号、街道名和城市名:”);scanf(“%d%s%s”,&si.ad.town.strnum,si.ad.town.strname,si.ad.town.city);printf(“输入姓名”);gets(name);for(i=0;iN;i+)if(!strcmp(si.name,name)if(si.off_in=n)printf(“姓名:%s是在校住宿学生n”,si.name);printf(“楼房名:%s房间号:%dn”,si.ad.gown.dorm,si.ad.gown.roomnum);elseprintf(“姓名:%s非在校住宿学生n”,si.name);printf(“城市名:%s楼房名:%s房间号:%dn”,si.ad.town.city,si.ad.town.strname,si.ad.town.strnum);else printf(“没有这个学生”);

    注意事项

    本文(11高级程序语言.ppt)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开