实验十二 枚举与位运算

实验十二 枚举与位运算
实验十二 枚举与位运算

实验十二枚举与位运算

实验目的

1.理解并掌握枚举类型的说明、枚举变量的声明及其初始化,正确使用枚举值。

2.掌握按位运算的概念和方法,学会使用位运算符,并能对一个数按二进制格式进行位操作。

要点提示

1.枚举类型定义的一般格式:

enum 枚举名{枚举列表} ;

2.枚举变量的说明:

enum 枚举名变量列表;

3.枚举变量的使用

枚举变量的值只限于列举出来的枚举元素值的范围,整数不能直接赋给枚举变量,应先进行强制类型转换才能赋值。

4.位运算符运算规则

实验内容

1.枚举类型的定义,枚举变量的说明和使用。

2.枚举变量的使用。

3.位运算符运算规则。

4.位运算应用,取一个数中某些指定位。

5.位运算应用,计算所用计算机中int数据的字长。

实验步骤

读懂并输入程序,完成填空后输出结果。(下面程序中的中文注释可以不输入)

实验1建立枚举类型weekday, 假设今日为星期二,计算10天后为星期几。

main()

{ enum weekday{sun,mon,tue,wed,thu,fri,sat};

enum weekday day;

int i;

day=tue;

i=(day+10)%7;

printf("\nthe day is:%d",【】);

}

程序运行结果:

the day is:【】

实验2

main()

{ enum weekday{sun,mon,tue,wed,thu,fri,sat};

char name[7][4]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; enum weekday day;

int i;

day = (enum weekday)((tue+10)%7);

printf("\nthe day is:%s", name[【】]);

}

程序运行结果:

the day is:【】

实验3

main()

{ int a=1,b=2;

if (a&b) printf("****\n");

else printf("$$$$\n");

}

程序运行结果:

【】

实验4

main()

{ unsigned a,b,c,d;

printf("\ninput a octal number(a):");

scanf("%o",&a); /* 输入一个8进制数据*/

b=【】; /* 将变量a右移4位*/

c=~(~0<<4); /* 设置一个低4位全为1,其余全为0的数*/ d=b&c;

printf("a=%o\n%o\n",a,d);

}

程序运行结果:

input a octal number(a):331

a=331

15

实验5

main()

{

int i;

unsigned int v;

v=~0; /* 将int 型单元各二进制位置为1 */

for (i=1; (v=v>>1)>0; i++) ; /* 计算int 单元中的位数*/ printf("\nThe length of INT is:%d", 【】);

}

程序运行结果:

The length of INT is: 【】

相关主题
相关文档
最新文档