1 00:00:00,000 --> 00:00:02,420 >> [音乐播放] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 演讲嘉宾:好的。 4 00:00:05,980 --> 00:00:08,540 所以,让我们来谈谈另一个 事情的那种独特的为C, 5 00:00:08,540 --> 00:00:10,010 这是数据类型和变量。 6 00:00:10,010 --> 00:00:12,340 当我说唯一的C,我真的 仅意味着在的范围内, 7 00:00:12,340 --> 00:00:14,470 如果你是一个程序员 对于很长一段时间, 8 00:00:14,470 --> 00:00:16,270 你可能不 数据类型工作 9 00:00:16,270 --> 00:00:18,470 如果你使用的现代 编程语言。 10 00:00:18,470 --> 00:00:20,432 现代语言,如 PHP和JavaScript, 11 00:00:20,432 --> 00:00:22,640 由此我们也可以看到一个小 后来在使用过程中, 12 00:00:22,640 --> 00:00:25,550 你实际上并不需要指定 变量的数据类型 13 00:00:25,550 --> 00:00:26,270 当您使用它。 14 00:00:26,270 --> 00:00:28,067 >> 你只需要声明它,并开始使用它。 15 00:00:28,067 --> 00:00:29,900 如果它是一个整数,它 知道这是一个整数。 16 00:00:29,900 --> 00:00:31,960 如果它是一个字符,它的 知道这是一个字符。 17 00:00:31,960 --> 00:00:35,320 如果是的话,它知道 这是一个字符串,所谓的。 18 00:00:35,320 --> 00:00:37,300 >> 但在C,这是一个 较老的语言,我们需要 19 00:00:37,300 --> 00:00:39,420 指定数据 每一个变量的类型 20 00:00:39,420 --> 00:00:42,990 我们创建的第一次 我们使用该变量。 21 00:00:42,990 --> 00:00:45,030 所以C带有一些 内置的数据类型。 22 00:00:45,030 --> 00:00:46,972 而让我们一起来熟悉 与一些人的。 23 00:00:46,972 --> 00:00:50,180 再后来,我们还会聊 一些数据类型的点点 24 00:00:50,180 --> 00:00:54,450 我们已经为你写的, 这样你就可以使用他们在CS50。 25 00:00:54,450 --> 00:00:56,130 >> 第一个是int型。 26 00:00:56,130 --> 00:00:59,110 int数据类型用于变量 将存储整数值。 27 00:00:59,110 --> 00:01:03,210 所以1,2,3,负1,2,3,依此类推。 28 00:01:03,210 --> 00:01:05,960 整数,这是一件好事,你 应该牢记的测验, 29 00:01:05,960 --> 00:01:09,590 总是占用四个字节 的存储器,它是32位。 30 00:01:09,590 --> 00:01:11,620 有八位字节。 31 00:01:11,620 --> 00:01:14,470 >> 因此,这意味着,该范围 珍视的整数可以存储 32 00:01:14,470 --> 00:01:19,130 是由什么能适合在有限 32位价值的信息。 33 00:01:19,130 --> 00:01:21,850 现在事实证明, 这是早就决定 34 00:01:21,850 --> 00:01:24,310 我们会分手 的32位,它的范围 35 00:01:24,310 --> 00:01:26,650 进入负整数 和正整数, 36 00:01:26,650 --> 00:01:28,390 每个得到的范围的一半。 37 00:01:28,390 --> 00:01:32,230 因此,我们代表值的范围 一个整数的范围从负2 38 00:01:32,230 --> 00:01:36,520 到第31的功率为2,以 第31次幂减1, 39 00:01:36,520 --> 00:01:38,190 因为你还需要0点。 40 00:01:38,190 --> 00:01:41,650 >> 所以基本上有一半的可能值 你可以在一个int适合为负, 41 00:01:41,650 --> 00:01:42,610 一半是积极的。 42 00:01:42,610 --> 00:01:47,270 而大致在这里,这是负面 2十亿到积极的2十亿。 43 00:01:47,270 --> 00:01:50,207 给予或采取几百万元。 44 00:01:50,207 --> 00:01:52,290 所以这是你能适应什么 在一个整型变量。 45 00:01:52,290 --> 00:01:55,490 现在,我们也有一些东西 所谓的无符号整数。 46 00:01:55,490 --> 00:01:59,220 现在无符号整数不是 独立类型的变量。 47 00:01:59,220 --> 00:02:01,590 相反,无符号是 什么叫做预选赛。 48 00:02:01,590 --> 00:02:04,990 它会修改数据 整数类型咯。 49 00:02:04,990 --> 00:02:07,850 >> 在这种情况下,什么无符号 是指:你也可以 50 00:02:07,850 --> 00:02:11,530 使用无符号其它数据类型, 整数是不是唯一的一个。 51 00:02:11,530 --> 00:02:15,310 什么是有效的作用是双打 值的正的范围内 52 00:02:15,310 --> 00:02:19,350 该整数可以取 不再允许牺牲 53 00:02:19,350 --> 00:02:21,140 你采取负值。 54 00:02:21,140 --> 00:02:25,400 所以,如果你有,你知道号码 将获得高于2十亿,但少 55 00:02:25,400 --> 00:02:31,280 超过4十亿,对于example-- 这是2的32次power-- 56 00:02:31,280 --> 00:02:33,330 你可能想使用 一个unsigned int,如果你 57 00:02:33,330 --> 00:02:35,050 知道你的价值永远不会是负数。 58 00:02:35,050 --> 00:02:37,216 >> 你会偶尔有 用于无符号变量 59 00:02:37,216 --> 00:02:39,460 在CS50,这就是为什么我提到在这里。 60 00:02:39,460 --> 00:02:43,830 但值的再次的范围内,您 可以用一个无符号整数表示 61 00:02:43,830 --> 00:02:48,240 因为到t常规整数,0 到2的32次幂减1, 62 00:02:48,240 --> 00:02:50,840 或约0-4十亿。 63 00:02:50,840 --> 00:02:53,730 所以,你已经有效地一倍 正范围,你能适应, 64 00:02:53,730 --> 00:02:56,270 但你已经放弃了所有的 负值。 65 00:02:56,270 --> 00:03:00,040 >> 现在,顺便说一句,无符号 不是唯一限定符 66 00:03:00,040 --> 00:03:01,790 我们可能会看到 变量数据类型。 67 00:03:01,790 --> 00:03:05,779 也有事情称为 短期和长期和常量。 68 00:03:05,779 --> 00:03:07,820 常量,我们会看到一个小 位以后的课程。 69 00:03:07,820 --> 00:03:10,830 短期和长期,我们可能不会。 70 00:03:10,830 --> 00:03:12,830 >> 但是,仅仅知道有 其他的预选赛。 71 00:03:12,830 --> 00:03:14,080 无符号是不是唯一的一个。 72 00:03:14,080 --> 00:03:16,596 但它是唯一一个我们 要谈论现在。 73 00:03:16,596 --> 00:03:17,310 因此,所有的权利。 74 00:03:17,310 --> 00:03:18,393 因此,我们已经介绍了整数。 75 00:03:18,393 --> 00:03:19,200 下一步是什么? 76 00:03:19,200 --> 00:03:20,130 >> 字符数。 77 00:03:20,130 --> 00:03:23,620 所以字符被用于变量 将存储单个字符。 78 00:03:23,620 --> 00:03:24,850 字符是短期​​的角色。 79 00:03:24,850 --> 00:03:27,870 有时你可能会听到 人的发音方式是汽车。 80 00:03:27,870 --> 00:03:32,020 >> 所以人物总是占据一个 内存字节,这仅仅是8位。 81 00:03:32,020 --> 00:03:35,700 因此,这意味着它们可以仅适合 在负2的范围内的值 82 00:03:35,700 --> 00:03:42,430 第七电源,或负128, 到2到第7幂减1,或127。 83 00:03:42,430 --> 00:03:45,710 >> 由于ASCII码,这是 早就决定的方式 84 00:03:45,710 --> 00:03:50,805 映射这些正数从 0到127之间各种人物 85 00:03:50,805 --> 00:03:52,182 我们的键盘上都存在。 86 00:03:52,182 --> 00:03:54,640 所以,我们会看到后来在 的过程中,你可能会 87 00:03:54,640 --> 00:03:57,700 会记住一些 点,大写字母A,为example-- 88 00:03:57,700 --> 00:04:00,732 人物资本A-- 映射到数65。 89 00:04:00,732 --> 00:04:02,940 而其中的原因是 因为那是什么它是 90 00:04:02,940 --> 00:04:05,490 被分配的ASCII标准。 91 00:04:05,490 --> 00:04:07,850 >> 小写A为97。 92 00:04:07,850 --> 00:04:11,900 因为当你的人物0 实际键入的字符,而不是 93 00:04:11,900 --> 00:04:13,532 表示有多少个零,是48。 94 00:04:13,532 --> 00:04:15,240 您将了解一对夫妇 这些,当您去。 95 00:04:15,240 --> 00:04:17,990 你一定会到了需要 他们在CS50有点晚。 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> 下一个重要的数据类型 是浮点数。 98 00:04:23,390 --> 00:04:26,100 所以浮点数是 也被称为实数。 99 00:04:26,100 --> 00:04:28,850 他们基本上号码是 在他们的小数点。 100 00:04:28,850 --> 00:04:33,360 浮点值 喜欢整数,也 101 00:04:33,360 --> 00:04:36,090 包含在4个字节的存储器。 102 00:04:36,090 --> 00:04:37,580 现在,这里没有图。 103 00:04:37,580 --> 00:04:40,890 有没有一些行,因为 描述一个浮动范围 104 00:04:40,890 --> 00:04:44,550 不完全是透明的或直观。 105 00:04:44,550 --> 00:04:47,350 >> 我只想说你 具有32位的工作。 106 00:04:47,350 --> 00:04:49,730 如果你有一个数字 如pi,其中有 107 00:04:49,730 --> 00:04:55,510 一个整数部分3,和一个浮动 点部分,或小数部分0.14159, 108 00:04:55,510 --> 00:04:58,735 等等,你需要 能够代表所有的它 - 中 109 00:04:58,735 --> 00:05:02,420 整数部分和小数部分。 110 00:05:02,420 --> 00:05:04,550 >> 那么,你认为这可能意味着什么? 111 00:05:04,550 --> 00:05:08,180 一件事是,如果小数 部分变长, 112 00:05:08,180 --> 00:05:10,660 如果我有一个非常大的 整数部分,我可能不 113 00:05:10,660 --> 00:05:13,090 能够一样精确 同的小数部分。 114 00:05:13,090 --> 00:05:15,280 这是真正的 一个浮动的限制。 115 00:05:15,280 --> 00:05:17,229 >> 花车有精度问题。 116 00:05:17,229 --> 00:05:19,270 我们只有32位 一起工作,所以我们只能 117 00:05:19,270 --> 00:05:22,510 如此精确,我们的小数部分。 118 00:05:22,510 --> 00:05:27,300 我们可以不一定有小数 部分精确到100或200位, 119 00:05:27,300 --> 00:05:29,710 因为我们只有 32位一起工作。 120 00:05:29,710 --> 00:05:31,590 所以这是一个浮动的限制。 121 00:05:31,590 --> 00:05:33,590 >> 现在,幸运的是有 所谓另一种数据类型 122 00:05:33,590 --> 00:05:36,530 双,这在一定程度 这个问题处理。 123 00:05:36,530 --> 00:05:39,980 双打,像浮筒,还用于 存储实数,或浮点 124 00:05:39,980 --> 00:05:40,840 值。 125 00:05:40,840 --> 00:05:44,340 所不同的是 双打双精度。 126 00:05:44,340 --> 00:05:48,177 他们能够适应64位 数据,或八个字节。 127 00:05:48,177 --> 00:05:49,010 这意味着什么? 128 00:05:49,010 --> 00:05:51,801 嗯,这意味着我们可以有很多更 精确的小数点。 129 00:05:51,801 --> 00:05:54,830 而不必丕七 可能的地方,有一个浮动, 130 00:05:54,830 --> 00:05:56,710 我们也许可以把它以30个名额。 131 00:05:56,710 --> 00:05:59,824 如果这很重要,你可能希望 使用而不是一个float双。 132 00:05:59,824 --> 00:06:01,740 基本上,如果你是 工作在任何的地方 133 00:06:01,740 --> 00:06:06,540 有一个很长的小数位 和大量的精度是重要的, 134 00:06:06,540 --> 00:06:08,630 你可能想 使用双overfloat。 135 00:06:08,630 --> 00:06:11,250 现在对于大多数工作在 CS50,花车应该足够了。 136 00:06:11,250 --> 00:06:15,340 但确实知道,双打存在,作为一个 方式有所与精度处理 137 00:06:15,340 --> 00:06:20,980 给你一个额外的32问题 位与您的数字工作。 138 00:06:20,980 --> 00:06:23,650 >> 现在,这是不是一种数据类型。 139 00:06:23,650 --> 00:06:24,390 这是一种类型。 140 00:06:24,390 --> 00:06:25,340 而这就是所谓的无效。 141 00:06:25,340 --> 00:06:27,506 我说的这件事 这里,是因为我们已经大概 142 00:06:27,506 --> 00:06:29,520 见过几次已经在CS50。 143 00:06:29,520 --> 00:06:32,020 你可能会疑惑 它的全部。 144 00:06:32,020 --> 00:06:33,390 >> 所以空隙是一种类型。 145 00:06:33,390 --> 00:06:34,097 它确实存在。 146 00:06:34,097 --> 00:06:35,180 但它不是一个数据类型。 147 00:06:35,180 --> 00:06:39,350 >> 我们无法创建类型的变量 无效和值分配给它。 148 00:06:39,350 --> 00:06:42,519 但功能,例如, 可以有一个void返回类型。 149 00:06:42,519 --> 00:06:45,060 基本上,如果你看到一个函数 具有void返回类型, 150 00:06:45,060 --> 00:06:46,970 这意味着它不会返回一个值。 151 00:06:46,970 --> 00:06:49,440 你能想到的共同 功能我们已经沿用至今 152 00:06:49,440 --> 00:06:52,780 在CS50,它没有返回值? 153 00:06:52,780 --> 00:06:54,700 >> printf的就是其中之一。 154 00:06:54,700 --> 00:06:56,820 的printf实际上并不 返回任何东西给你。 155 00:06:56,820 --> 00:06:59,850 它打印一些东西到 屏幕上,它基本上 156 00:06:59,850 --> 00:07:01,650 什么printf的确实的副作用。 157 00:07:01,650 --> 00:07:03,620 但它不给你回的值。 158 00:07:03,620 --> 00:07:08,419 你不捕捉的结果和存储 它在某些变量稍后使用。 159 00:07:08,419 --> 00:07:10,710 它只是打印的东西 屏幕,你就大功告成了。 160 00:07:10,710 --> 00:07:14,360 >> 所以我们说的printf 是一个无效的功能。 161 00:07:14,360 --> 00:07:16,450 它没有返回值。 162 00:07:16,450 --> 00:07:18,580 >> 的周长名单 功能也可以是无效的。 163 00:07:18,580 --> 00:07:21,410 而且你也已经看到, 在CS50相当多了。 164 00:07:21,410 --> 00:07:22,300 诠释主作废。 165 00:07:22,300 --> 00:07:23,260 这是否有印象? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 基本上,这是什么意思的是, 主要不带任何参数。 168 00:07:27,220 --> 00:07:29,520 有没有说法, 获得进入主。 169 00:07:29,520 --> 00:07:32,780 现在,将来,我们将看到有 一种方式来传递参数到主, 170 00:07:32,780 --> 00:07:36,189 但到目前为止,我们已经 看到的是INT主要无效。 171 00:07:36,189 --> 00:07:37,730 主要就是不带任何参数。 172 00:07:37,730 --> 00:07:40,236 因此,我们指定说无效。 173 00:07:40,236 --> 00:07:42,110 我们只是被极 明确的事实 174 00:07:42,110 --> 00:07:44,430 它不带任何参数。 175 00:07:44,430 --> 00:07:47,160 >> 所以,就目前而言,这足以说明 说是基本无效 176 00:07:47,160 --> 00:07:50,789 应该只是作为一个占位符 为你想的什么。 177 00:07:50,789 --> 00:07:52,080 它不是真正在做什么。 178 00:07:52,080 --> 00:07:53,550 这里有没有返回值。 179 00:07:53,550 --> 00:07:54,770 这里有没有参数。 180 00:07:54,770 --> 00:07:55,709 这是无效的。 181 00:07:55,709 --> 00:07:57,250 这是比这更复杂一点。 182 00:07:57,250 --> 00:08:00,640 但是,这应该足够了 更好的一部分课程。 183 00:08:00,640 --> 00:08:05,010 并希望现在你有一点点 位更多的是概念,什么是无效的。 184 00:08:05,010 --> 00:08:08,460 >> 因此,这些都是五类,你会 被内置到C相遇 185 00:08:08,460 --> 00:08:10,670 但在CS50,我们也有一个图书馆。 186 00:08:10,670 --> 00:08:13,550 CS50.h,它可以包含。 187 00:08:13,550 --> 00:08:15,930 而这将为您 具有两个附加类型的 188 00:08:15,930 --> 00:08:18,280 那你可能可以 在您的分配使用, 189 00:08:18,280 --> 00:08:21,210 或者只是一般的工作编程。 190 00:08:21,210 --> 00:08:23,030 >> 其中第一项是布尔。 191 00:08:23,030 --> 00:08:26,780 所以布尔数据类型, 布尔,用于变量 192 00:08:26,780 --> 00:08:28,114 将存储一个布尔值。 193 00:08:28,114 --> 00:08:29,863 如果你曾经听说过 这个词之前,你 194 00:08:29,863 --> 00:08:31,960 可能知道布尔 值能够只 195 00:08:31,960 --> 00:08:34,440 持两种不同的不同的值。 196 00:08:34,440 --> 00:08:35,872 真假。 197 00:08:35,872 --> 00:08:37,580 现在这个看起来很 基本的,对不对? 198 00:08:37,580 --> 00:08:40,496 这是怎样的一个惊喜,这对 在C中不存在,因为它是内置。 199 00:08:40,496 --> 00:08:42,640 在许多现代语言, 当然,布尔 200 00:08:42,640 --> 00:08:45,390 是一个标准的默认数据类型。 201 00:08:45,390 --> 00:08:47,192 但在C,它们实际上并非如此。 202 00:08:47,192 --> 00:08:48,400 但是,我们已经创建了它。 203 00:08:48,400 --> 00:08:51,910 所以,如果你需要创建 一个变量,其类型是BOOL, 204 00:08:51,910 --> 00:08:55,230 只是一定要#包括CS50.h 在程序的开始, 205 00:08:55,230 --> 00:08:57,800 你就可以创建 bool类型的变量。 206 00:08:57,800 --> 00:09:02,095 >> 如果你忘了#包括CS50.h,和 你开始使用布尔型变量, 207 00:09:02,095 --> 00:09:04,970 你可能会遇到一些问题 当你编译你的程序。 208 00:09:04,970 --> 00:09:06,490 所以,只是在寻找的。 209 00:09:06,490 --> 00:09:11,180 也许你可以修复 通过磅包括CS50.h.问题 210 00:09:11,180 --> 00:09:14,590 >> 其他主要的数据类型,我们 在CS50库为您提供 211 00:09:14,590 --> 00:09:15,670 是字符串。 212 00:09:15,670 --> 00:09:17,130 那么,什么是一个字符串? 213 00:09:17,130 --> 00:09:18,520 字符串是真的只是说说而已。 214 00:09:18,520 --> 00:09:20,000 他们是字符的集合。 215 00:09:20,000 --> 00:09:20,640 他们的话。 216 00:09:20,640 --> 00:09:21,390 他们的句子。 217 00:09:21,390 --> 00:09:22,480 他们是段落。 218 00:09:22,480 --> 00:09:25,850 可能是整本书,甚至。 219 00:09:25,850 --> 00:09:29,690 >> 很短很长 一系列字符。 220 00:09:29,690 --> 00:09:34,310 如果你需要使用字符串, 例如,存储一个字, 221 00:09:34,310 --> 00:09:37,609 只是一定要包括CS50.h 在程序的开始 222 00:09:37,609 --> 00:09:38,900 所以你可以使用字符串类型。 223 00:09:38,900 --> 00:09:43,910 然后你就可以创建变量 其数据类型为字符串。 224 00:09:43,910 --> 00:09:46,160 现在,后来在使用过程中, 我们还可以看到,这是 225 00:09:46,160 --> 00:09:47,752 不是故事的全部,无论是。 226 00:09:47,752 --> 00:09:49,460 我们会遇到的事情 所谓结构, 227 00:09:49,460 --> 00:09:54,249 这可让您将可能是什么 一个整数和一个串成一个单元。 228 00:09:54,249 --> 00:09:56,290 我们可以利用它来进行 一些目的,这可能 229 00:09:56,290 --> 00:09:57,750 派上用场,后来在课程。 230 00:09:57,750 --> 00:09:59,500 >> 同时我们也将学习 有关定义的类型, 231 00:09:59,500 --> 00:10:01,720 它允许您创建 自己的数据类型。 232 00:10:01,720 --> 00:10:03,060 我们并不需要担心 关于现在。 233 00:10:03,060 --> 00:10:04,550 但是,只知道这是 一些在地平线上, 234 00:10:04,550 --> 00:10:07,633 有很多更给这整个 类型的事情不是我告诉你只是 235 00:10:07,633 --> 00:10:08,133 现在。 236 00:10:08,133 --> 00:10:10,591 所以,现在,我们已经学到了 有关的基本数据点点 237 00:10:10,591 --> 00:10:14,230 类型和CS50的数据类型,让我们 谈谈如何使用变量工作 238 00:10:14,230 --> 00:10:18,530 和使用这些创建它们 在我们的项目的数据类型。 239 00:10:18,530 --> 00:10:22,670 如果你想创建一个变量, 所有你需要做的是两件事情。 240 00:10:22,670 --> 00:10:24,147 >> 首先,你需要给它一个类型。 241 00:10:24,147 --> 00:10:26,230 你需要的第二件事 做的就是给它一个名字。 242 00:10:26,230 --> 00:10:28,740 一旦你做到了这一点,并掌掴一 分号在该行的末尾, 243 00:10:28,740 --> 00:10:29,830 你已经创建了一个变量。 244 00:10:29,830 --> 00:10:32,370 >> 因此,这里的两个例子。 245 00:10:32,370 --> 00:10:35,744 INT编号;焦信;. 246 00:10:35,744 --> 00:10:36,660 什么都我在这里做了什么? 247 00:10:36,660 --> 00:10:38,110 我创建了两个变量。 248 00:10:38,110 --> 00:10:40,190 >> 第一,可变的 名字是数字。 249 00:10:40,190 --> 00:10:44,830 而一些能够保持整 输入值,因为它的类型为int。 250 00:10:44,830 --> 00:10:48,040 信是另一个变量 可容纳字符 251 00:10:48,040 --> 00:10:50,240 因为它的数据类型为char。 252 00:10:50,240 --> 00:10:51,772 >> 很简单,对不对? 253 00:10:51,772 --> 00:10:53,480 如果你发现自己 在一个情况下 254 00:10:53,480 --> 00:10:56,250 您需要创建多个 相同类型的变量, 255 00:10:56,250 --> 00:10:58,740 你只需要指定 类型名称一次。 256 00:10:58,740 --> 00:11:01,600 然后,只需列出许多变数 这种类型的,因为你需要。 257 00:11:01,600 --> 00:11:04,230 >> 所以我可以举例来说,在这里 在这个代码第三行, 258 00:11:04,230 --> 00:11:07,420 说INT高度;,新的生产线。 259 00:11:07,420 --> 00:11:08,291 诠释宽度;. 260 00:11:08,291 --> 00:11:09,290 而这将工作太。 261 00:11:09,290 --> 00:11:12,039 我还是会得到两个变量称为 的高度和宽度,其中每一个 262 00:11:12,039 --> 00:11:12,730 是一个整数。 263 00:11:12,730 --> 00:11:16,970 但我不允许,事情C语法, 合并成一条线。 264 00:11:16,970 --> 00:11:20,230 智力高度,宽度;这是同样的事情。 265 00:11:20,230 --> 00:11:23,900 我创建了两个变量,一个叫 高度一个叫做宽度,这两个 266 00:11:23,900 --> 00:11:26,730 能控股 整型值。 267 00:11:26,730 --> 00:11:30,920 >> 同样在这里,我可以创建三个 浮点值一次。 268 00:11:30,920 --> 00:11:33,350 我也许可以创建一个变量 所谓的2--平方根 269 00:11:33,350 --> 00:11:35,766 这大概最终会 持有浮动point-- 270 00:11:35,766 --> 00:11:39,222 广场的代表性 根2--平方根3,和PI。 271 00:11:39,222 --> 00:11:41,180 我可以这样做 在三个不同的线路。 272 00:11:41,180 --> 00:11:47,690 浮动,平方根2;浮法平方根 3;浮动PI;这将工作太。 273 00:11:47,690 --> 00:11:50,590 >> 但同样,我可以巩固 此成一个单一的代码行。 274 00:11:50,590 --> 00:11:54,050 使事情一点点 短,而不是笨重。 275 00:11:54,050 --> 00:11:57,259 >> 现在,在一般情况下,它的良好的设计,只 当你需要它声明一个变量。 276 00:11:57,259 --> 00:11:59,050 我们将谈一点 多一点有关 277 00:11:59,050 --> 00:12:00,945 后来在使用过程中 当我们讨论的范围。 278 00:12:00,945 --> 00:12:03,320 所以不一定需要 创建所有变量 279 00:12:03,320 --> 00:12:05,990 在程序的开始时,该 有些人可能已经完成了过去, 280 00:12:05,990 --> 00:12:08,700 或者肯定是一个非常普遍的 编码习惯很多年前 281 00:12:08,700 --> 00:12:11,700 与C工作时,你可能只 要创建一个变量权当 282 00:12:11,700 --> 00:12:13,140 你需要它。 283 00:12:13,140 --> 00:12:13,640 好吧。 284 00:12:13,640 --> 00:12:15,150 因此,我们已经创建的变量。 285 00:12:15,150 --> 00:12:16,790 我们如何使用它们? 286 00:12:16,790 --> 00:12:18,650 我们声明过了 可变的,我们并不需要 287 00:12:18,650 --> 00:12:21,237 指定数据类型 该变量了。 288 00:12:21,237 --> 00:12:24,070 事实上,如果你这样做,你可能 结束了一些奇怪的后果 289 00:12:24,070 --> 00:12:25,490 那种我们会掩盖现在。 290 00:12:25,490 --> 00:12:27,365 但我只想说, 奇怪的事情会 291 00:12:27,365 --> 00:12:30,740 开始,如果你在不经意间发生 使用相同的名称重新声明变量 292 00:12:30,740 --> 00:12:32,210 一遍又一遍。 293 00:12:32,210 --> 00:12:33,882 >> 所以在这里我有四行代码。 294 00:12:33,882 --> 00:12:36,090 我有几个 评论那里只是说明 295 00:12:36,090 --> 00:12:37,840 什么在 每一行只是帮助 296 00:12:37,840 --> 00:12:40,520 你得到位于这是怎么回事。 297 00:12:40,520 --> 00:12:41,520 因此,INT数;. 298 00:12:41,520 --> 00:12:42,520 你看到了以前。 299 00:12:42,520 --> 00:12:44,000 这是一个变量声明。 300 00:12:44,000 --> 00:12:46,670 >> 我现在已经创建了一个变量 被叫号码这 301 00:12:46,670 --> 00:12:48,970 能够保持整型值。 302 00:12:48,970 --> 00:12:50,210 我已经声明它。 303 00:12:50,210 --> 00:12:53,770 >> 下一行,我分配 一个价值数。 304 00:12:53,770 --> 00:12:54,992 数等于17。 305 00:12:54,992 --> 00:12:55,950 这是怎么回事呢? 306 00:12:55,950 --> 00:12:58,880 我把17号 里面的变量。 307 00:12:58,880 --> 00:13:02,760 >> 所以,如果我然后打印出什么 号的内容以后, 308 00:13:02,760 --> 00:13:04,030 他们会告诉我,这是17。 309 00:13:04,030 --> 00:13:07,030 所以,我已经声明一个变量, 然后我赋予它。 310 00:13:07,030 --> 00:13:10,570 >> 我们可以重复这个过程 再次字符字母;. 311 00:13:10,570 --> 00:13:11,640 这是一个宣言。 312 00:13:11,640 --> 00:13:14,010 信等于资本 H.这是一个任务。 313 00:13:14,010 --> 00:13:16,030 很简单,太。 314 00:13:16,030 --> 00:13:18,319 >> 现在,这个过程可能 似乎那种愚蠢的。 315 00:13:18,319 --> 00:13:20,110 为什么我们这样做 在两行代码? 316 00:13:20,110 --> 00:13:21,401 有没有更好的办法做到这一点? 317 00:13:21,401 --> 00:13:22,250 事实上,有。 318 00:13:22,250 --> 00:13:24,375 有时候,你可能会看到 这个所谓的初始化。 319 00:13:24,375 --> 00:13:28,446 这是当你声明一个变量 并在同一时间分配值。 320 00:13:28,446 --> 00:13:30,320 这其实是一个相当 常见的事。 321 00:13:30,320 --> 00:13:32,870 当您,您通常会创建一个变量 希望它有一些基本的价值。 322 00:13:32,870 --> 00:13:34,330 即使是0或东西。 323 00:13:34,330 --> 00:13:36,180 你只要你给它一个值。 324 00:13:36,180 --> 00:13:38,360 >> 您可以初始化变量。 325 00:13:38,360 --> 00:13:42,320 诠释数量等于17是一样 前两行代码了上面。 326 00:13:42,320 --> 00:13:46,829 炭信等于h是相同的 码的第三和第四线的上方。 327 00:13:46,829 --> 00:13:49,620 这里最重要的外卖 当我们宣布和分配 328 00:13:49,620 --> 00:13:51,740 变量是我们以后 它宣称,通知 329 00:13:51,740 --> 00:13:53,700 我没有再次使用的数据类型。 330 00:13:53,700 --> 00:13:57,916 我不是说INT数量上等于17 第二行的代码,例如。 331 00:13:57,916 --> 00:13:59,290 我只是说数目等于17。 332 00:13:59,290 --> 00:14:02,537 >> 此外,再后声明一个变量 你已经宣称它会导致 333 00:14:02,537 --> 00:14:03,620 一些奇怪的结果。 334 00:14:03,620 --> 00:14:05,950 所以,只是要小心这一点。 335 00:14:05,950 --> 00:14:06,660 >> 我是道格·劳埃德。 336 00:14:06,660 --> 00:14:08,870 这是CS50。 337 00:14:08,870 --> 00:14:10,499