C++第一次作业

一.课题

枚举类型

二.教学目的

掌握枚举类型的定义、初始化、应用。

三.教学重点

枚举类型的定义,格式,枚举常量的性质。

四.教学难点

枚举类型的初值问题

五.教学过程

1.枚举与枚举类型
枚举即"一一列举之意",当某些量仅由有限个数据值组成时,通常用枚举类型来表示。
2.枚举类型描述的是一组整形值的集合。
3.枚举类型的定义形式
enum 枚举标签 {标识符1,标识符2,···,标识符n};
enum 枚举标签 枚举型变量 {标识符1,标识符2,···,标识符n};
例:

enum response {no,yes,none};
enum response answer;

说明:花括号里的标识符no,yes,none都是整型常量,称为枚举常量。如未在定义时给枚举常量指定初值,则一般默认第一个枚举常量值为0,而后依次递增。若在定义时给某个枚举常量指定了初值,则在它前面的枚举常量从0开始依次递增,而处于它位置后面的枚举常量的初值从它的值起,依次递增。
例:

#include<iostream>
using namespace std;
int main()
{
	enum response {no,yes,none};
	enum response answer;
	answer=no;
	cout<<answer<<endl;
	answer=yes;
	cout<<answer<<endl;
	answer=none;
	cout<<answer<<endl;
	return 0;
}

不指定初值效果
untitled.png


``` #include using namespace std; int main() { enum response {no,yes=8,none}; enum response answer; answer=no; cout<指定某个初值效果 ![图片1.png](https://i.loli.net/2019/09/14/Ie7xmfLgzUTQpsJ.png)
如果int型变量要赋值给枚举变量,要用强转。如果是枚举变量赋值给int型变量不用强转。

1.枚举型变量给int型变量赋值。

#include<iostream>
using namespace std;
int main()
{
	int a=3;
	enum response {no,yes,none};
	enum response answer;
	answer=no;
	a=answer;
	cout<<a<<endl;
	return 0;
}

2.int型变量给枚举型变量赋值

#include<iostream>
using namespace std;
int main()
{
	int a=3;
	enum response {no,yes,none};
	enum response answer;
	answer=(response)a;
	cout<<answer<<endl;
	return 0;
}

六.总结与反思

如果一个变量需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。学会正确地使用枚举类型能提高程序的可读性,很有用。在学习C++时不能光在书上看,要多在电脑上面做实验,才有效率。

posted @ 2019-09-14 19:48  tao4867  阅读(171)  评论(0编辑  收藏  举报