8项目八枚举和位运算C语言程序设计上机指导.doc

8项目八枚举和位运算C语言程序设计上机指导.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8项目八枚举和位运算C语言程序设计上机指导

项目八 枚举和位运算 【实验内容、步骤】 1、检查所用计算机是否已经安装Visual C++ 2012。 2、进入Visual C++ 2012的工作环境。 3、编程示例,观察与验证。输入并运行下面的程序,分析运行结果。 【任务实施】 实验8-1-1 枚举类型元素引用示例 源程序8-1-1: #include stdio.h void main( ) { enum em{em1=3,em2=1,em3}; char *aa[]={“AA”,”BB”,”CC”,”DD”}; printf(“%s%s%s\n”,aa[em1],aa[em2],aa[em3]); } C语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值+1。在实验中,没有明确说明枚举元素em3的值,则em3=em2+1=1+1=2,进而可知,在printf( )打印函数中,要打印的数组元素是aa[3],aa[1],aa[2]。 所以运行结果如下图所示: 图8-1-1 运行结果图(1) 注意: 1、printf(“%s”,em1)不能输出字符串“em1”。em1为常数值的别名,而不是字符串。 2、不能这样定义枚举类型:比如“enum em{0,1,2};”。 那么若要完整的打印出char *aa[]的赋值,我们就要修改源程序,大家注意观察我们修改后的源程序到底和之前的有何区别。 图8-1-1 修改后的源程序(2) 修改后的源程序我们将得到对a的所有赋值,如下图所示。 图8-1-1 修改后的运行结果图(3) 【任务考核】 实验8-1-2 枚举类型元素引用示例 #includestdio.h int main() { enum color{red,black,yellow,blue,white}i,j,pa; int n=0,loop; for(i=red;i=white;i++){ for(j=red;j=white;j++){ n+=1; printf(%-3d,n); for(loop=1;loop 3;loop++){ switch(loop) { case 1:pa=i;break; case 2:pa=j;break; } switch(pa) { case red:printf(%-10s,red);break; case black:printf(%-10s,black);break; case yellow:printf(%-10s,yellow);break; case blue:printf(%-10s,blue);break; case white:printf(%-10s,white);break; } printf(\n); } } printf(N:%d\n,n); return 0; } } (1)运行结果: (2)程序中有无错误为什么? (3)运行结果为什么与修改后的程序结果一致? 【典型例题】 例8-1-3 枚举类型示例 源程序: #include stdio.h void main() { typedef enum day{sunday,monday,tuesday,wendsday,thursday,friday, stadurday}day; day today; today = monday; if (today == sunday || today == stadurday) { printf(“休息日\n”); }else{ printf(“工作日\n”); } } 答案:工作日 图8-1-3 分析: 我们在此实验中发现一个有趣的表达式“day today;”,根据我们所学的知识,我们知道enumday{sunday,monday,tuesday,wednesday,thursday,friday,saturday};这句定义了符号化的常量sunday,monday等等。在下面的程序中,可以声明枚举型变量day today,对其赋值,或者判断它的值。而且声明枚举变量时,编译器不必检查变量中存储的是否是合法的枚举有效值,但枚举变量则提供了检查的机会。 我们在编程过程中定义枚举型的好处主要有二: 首先增强程序可读性,sun

文档评论(0)

seunk + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档