- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 2炉2A引风机检修作业文件包.doc
- 2最小偏向角法测定三棱镜折射率返回.ppt
- 2脱硫循环泵检修作业指导书.doc
- 2系统概述及SM硬件产品介绍.ppt
- 2首次接受委托时对期初余额的审计准则讲解.ppt
- 3 三1学校安全工作文件范本1突发事 件应急预案范本1129选五一北京小学2.doc
- 3 max教程 导图方法技术.ppt
- 3 弹性地基梁理论第三讲.ppt
- 28飞机制造工艺信息和工艺流程设计1.ppt
- 3134风险评价方法和准则.doc
- 大学生职业规划大赛《新闻学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《应用统计学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《中医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《信息管理与信息系统专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《水产养殖学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《市场营销专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
文档评论(0)