资源描述:
《实验十二 枚举及位运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验十二枚举与位运算实验目的1.理解并掌握枚举类型的说明、枚举变量的声明及其初始化,正确使用枚举值。2.掌握按位运算的概念和方法,学会使用位运算符,并能对一个数按二进制格式进行位操作。要点提示1.枚举类型定义的一般格式:enum枚举名{枚举列表};2.枚举变量的说明:enum枚举名变量列表;3.枚举变量的使用枚举变量的值只限于列举出来的枚举元素值的范围,整数不能直接赋给枚举变量,应先进行强制类型转换才能赋值。4.位运算符运算规则运算符含义说明&按位与参加运算的两个相应位都为1,则结果为1,否则为0
2、按位或参加运算的两个相应位只要
3、有一个位1,则结果为1,否则为0∧按位异或参加运算的两个相应位同号,则结果为0,异号则为1~取反对二进制数按位取反,即将0变1,1变0。<<左移将二进制表示的数值各位顺序左移,最高位丢失,最低位补0>>右移将二进制表示的数值各位顺序右移,最低位丢失,对无符号数,高位补0。实验内容1.枚举类型的定义,枚举变量的说明和使用。2.枚举变量的使用。3.位运算符运算规则。4.位运算应用,取一个数中某些指定位。5.位运算应用,计算所用计算机中int数据的字长。实验步骤读懂并输入程序,完成填空后输出结果。(下面程序中的中文注释可以不输入)实验
4、1建立枚举类型weekday,假设今日为星期二,计算10天后为星期几。main(){enumweekday{sun,mon,tue,wed,thu,fri,sat};enumweekdayday;inti;day=tue;i=(day+10)%7;printf("thedayis:%d",【】);}程序运行结果:thedayis:【】实验2main(){enumweekday{sun,mon,tue,wed,thu,fri,sat};charname[7][4]={"Sun","Mon","Tue","Wed","Thu",
5、"Fri","Sat"};enumweekdayday;inti;day=(enumweekday)((tue+10)%7);printf("thedayis:%s",name[【】]);}程序运行结果:thedayis:【】实验3main(){inta=1,b=2;if(a&b)printf("****");elseprintf("$$$$");}程序运行结果:【】实验4main(){unsigneda,b,c,d;printf("inputaoctalnumber(a):");scanf("%o",&a);/
6、*输入一个8进制数据*/b=【】;/*将变量a右移4位*/c=~(~0<<4);/*设置一个低4位全为1,其余全为0的数*/d=b&c;printf("a=%o%o",a,d);}程序运行结果:inputaoctalnumber(a):331a=33115实验5main(){inti;unsignedintv;v=~0;/*将int型单元各二进制位置为1*/for(i=1;(v=v>>1)>0;i++);/*计算int单元中的位数*/printf("ThelengthofINTis:%d",【】);}程序运行结果:T
7、helengthofINTis:【】