你好, 欢迎｡
在本视频中, 我将演示使用枚举类型的练习的解决方案｡
所以我要继续了｡ 你记住这个方案｡
基本上, 您创建一个名为company的枚举, 为它定义一些值,
然后将它们打印出来｡ 所以我要运行代码块｡
我将创建一个新项目｡ 我将把这个项目命名为enum example,
因为这是一个很好的例子｡ 它会上报到文件上说是新的, 新的项目｡
现在我们应该已经很熟练了, 选择控制台应用程序c｡
我们将命名这个枚举示例, 它将把所有内容都放在我们通常的位置｡
我下一个就打完了｡
这将创建我们的主｡ c文件, 这很好｡
我们会开始的, 只要删除一些数据｡
同样, 我们可以在顶部为作者和来源添加注释｡
我们应该这样做的良好实践｡
出于演示目的和效率考虑, 我将该字段留空｡
但是您应该在整个源代码中添加注释｡
因此, 这个挑战的要求基本上是创建一个名为company的枚举｡
然后公司, 她只能有有效的值, 谷歌,
Facebook,
施乐, 雅虎易趣和微软, 然后创建三个变量, 并分配给他们一些值, 然后打印这些值｡
因此, 如果我们想创建一个枚举类型, 就必须使用enum关键字｡
所以我们说枚举｡
然后我们要指定枚举的名称｡ 在本例中, 我们将其命名为company｡
为了指定这个枚举类型的有效值,
我们必须使用尖括号, 它就在键盘上分号的正上方, 然后我们就可以输入我们的名字了｡
在这里, 我会说谷歌, 我会把所有的东西都大写,
只是因为它更容易看到｡ Facebook将是我们的第二个｡
施乐, 我们的第三个｡
雅虎, 我们的第四个｡
eBay和微软｡
就是这样｡ 这就是创建名为company的新枚举类型的方法｡
并且这些是唯一可以应用于此枚举的值｡
因此, 您创建的任何此类型的变量都不能包含其他值｡
所以枚举的第一部分是定义它们, 定义它们是什么, 然后使用它们｡
在第6行, 我们定义了它｡ 我们说的公司只能有谷歌,
Facebook, 施乐, 雅虎, 易趣和微软的价值｡
任务的下一部分是创建一些变量｡
三个变量的值分别是施乐, 谷歌和易趣.
要创建类型为company的枚举变量, 只需输入enum｡
类型的名称, 即公司的名称, 然后是变量的名称｡
这里我们可以说, 我们把它命名为施乐.
我们将在同一行初始化声明,
所以我们将使用等于操作符, 我们将说等于施乐｡
所以记住, 公司这个名字, 不能赋予任何值｡
如果我这样做并编译它, 它会编译得很好,
因为我们能够实际地赋值给那个变量｡
但是如果我尝试签署其他的东西,
比如我的名字, 你会得到一个编译器错误, 因为这是无效的｡
我在这里的构建消息是说, 当用字符初始化类型枚举company时,
类型不兼容｡
所以有一个错误, 我将无法运行它｡
所以编译器实际上保护你不受你可以赋给枚举的东西的影响｡
所以我们还是说施乐｡
我们不需要把它放在双引号里｡
我们不需要做任何事情, 因为它是实际值｡
我们想再创造几个｡ 一个是谷歌的, 一个是易趣的｡
所以这里我要说的是谷歌公司｡
我将把所有大写字母赋值为GOOGLE｡
然后我将创建的第三个网站叫做ebay｡
变量名全部小写｡
这个变量的值是eBay的枚举值｡
以及在我提供的所有实际例子中, 你在写代码时应该做什么｡
你应该写小块｡
编写几行编译测试｡
不要编写大量代码并运行它｡ 我在这里演示的一些例子,
为了提高效率, 我在最后进行了编译｡
但是作为一个新的开发人员和程序员, 你应该在几行代码和测试之后进行编译｡
因此, 在第6行创建了枚举类型之后, 我应该编译并测试它｡
您可以测试的不多, 但至少可以编译它｡
第8､ 9和10行, 我应该编译并运行这些代码｡
现在, 在创建枚举之后, 我们可以实际打印出它们的值｡
我们知道如何使用printf函数打印输出值, printf双引号内的任何内容都将显示为输出｡
所以我只想说Xerox的价值是, 在这里放一个冒号,
我需要使用一个格式说明符｡
请记住, 枚举实际上是整数｡
所以我们可以在这里做一个% d｡
然后用逗号来表示映射｡
所以逗号后面是变量名｡
这里我们必须提供变量名, Xerox.
然后我们想对其他人做同样的事情｡
在第12行, 我忘记了一件事, 我们希望确保格式易于阅读, 所以我想添加一个新行｡
所以我会说反斜杠n｡
这是一个转义序列, 由printf解释的特殊字符｡
所以我们也要做一个printf, 我们要说谷歌的价值是｡
我们会输入percent d反斜杠n, 这里我们会输出google变量的值,
它是小写的google｡
最后, 我们要打印出eBay的价值｡
这也是一个整数百分比, d加上换行符｡
尽管我不需要因为这之后就没什么了｡ 这是一个很好的做法,
我们使用逗号作为参数, 然后我们说易趣变量｡
我们用分号结束所有这些语句｡ 就是这样｡
所以现在我们应该编译并运行｡
这里的预期输出是整数, 按照列表中这些值的顺序来表示｡
因此, 您会注意到列表在第6行定义｡
这份名单是谷歌､ Facebook､ 施乐､ 雅虎､ eBay和微软｡
在in c编译器中, 这些都表示为整数｡
所以谷歌是0｡ Facebook是1. 施乐是2｡
我应该看到他的输出是2
0, 然后是eBay的4.
我们来看看是否匹配｡ 让我们继续构建｡
我没有警告, 没有错误｡ 让我们继续运行它｡
我看到的是施乐的价值是2
Google的价值为0｡ eBay的值是4, 所以看起来很正确, 很整洁｡
记住, 在一些课上, 你可以改变整数的值.
当您定义枚举时, 您会传送指派｡
所以如果我真的想改变顺序, 我可以说雅虎等于10, 那就意味着易趣是11,
微软是12｡
所以让我们继续并保存它｡
现在输出应该是施乐还是等于2｡
谷歌将是0, 但易趣将是11｡
所以我们再运行一次, 我们应该会看到2011｡
因此, 如果出于某种原因需要, 您可以更改这些整数值｡
否则, 它将是它们在列表中定义的顺序｡
同样, 我们也可以玩这个游戏｡
我们实际上可以创建其他变量来看看施乐是否等于谷歌等等｡
枚举真的很酷, 您可能会经常使用它们｡
它们可以限制对变量有效的内容, 这很好,
因为它提供了某种验证｡
非常容易使用, 也非常容易阅读｡
它使您的代码更具可读性｡
现在我们有一个Xerox变量, 实际值是Xerox｡
所以我们实际上可以提供其他条件语句和其他东西, 这使得代码更容易阅读｡
这是一个快速的小练习, 可以帮助您理解枚举｡
基本上, 如何定义枚举类型, 然后如何使用该类型｡
我们也再次讨论了printf｡ 我们介绍了打印格式说明符｡
我们介绍了转义序列和一个很好的例子｡
我将以zip文件的形式提供此示例, 以便您可以下载它｡ -谢谢—谢谢