1 00:00:00,000 --> 00:00:02,420 >> [Música tocando] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 COLUMNA: Todo ben. 4 00:00:05,980 --> 00:00:08,540 Entón, imos falar doutro cousa que é medio único para C, 5 00:00:08,540 --> 00:00:10,010 que é tipo de datos e variables. 6 00:00:10,010 --> 00:00:12,340 Cando digo exclusivo para C, realmente significa só no contexto, 7 00:00:12,340 --> 00:00:14,470 se foi un programador por moito tempo, 8 00:00:14,470 --> 00:00:16,270 probablemente non teño traballou cos tipos de datos 9 00:00:16,270 --> 00:00:18,470 se xa usou moderno linguaxes de programación. 10 00:00:18,470 --> 00:00:20,432 Linguaxes modernas como PHP e JavaScript, 11 00:00:20,432 --> 00:00:22,640 que tamén veremos un pouco máis tarde no curso, 12 00:00:22,640 --> 00:00:25,550 en realidade non ten que especificar o tipo dunha variable de datos 13 00:00:25,550 --> 00:00:26,270 cando usalo. 14 00:00:26,270 --> 00:00:28,067 >> Só declaralo lo e comezar a usalo. 15 00:00:28,067 --> 00:00:29,900 Se é un número enteiro, sei que é un enteiro. 16 00:00:29,900 --> 00:00:31,960 Se é un personaxe, é sabe que é un personaxe. 17 00:00:31,960 --> 00:00:35,320 Se é unha palabra, el sabe é unha cadea, así chamada. 18 00:00:35,320 --> 00:00:37,300 >> Pero en C, que é unha linguaxe máis antiga, necesitamos 19 00:00:37,300 --> 00:00:39,420 para especificar os datos tipo de cada variable 20 00:00:39,420 --> 00:00:42,990 que creamos por primeira vez que usan esa variable. 21 00:00:42,990 --> 00:00:45,030 Entón C ven con algúns built-in tipo de datos. 22 00:00:45,030 --> 00:00:46,972 E imos comezar familiar con algunhas delas. 23 00:00:46,972 --> 00:00:50,180 E entón despois imos tamén falar un pouco sobre algúns dos tipos de datos 24 00:00:50,180 --> 00:00:54,450 que escribimos para ti, para que poida usalos en CS50. 25 00:00:54,450 --> 00:00:56,130 >> O primeiro é int. 26 00:00:56,130 --> 00:00:59,110 O tipo de datos int é usada para variables que almacenar valores enteiros. 27 00:00:59,110 --> 00:01:03,210 Así, 1, 2, 3, negativo 1, 2, 3, e así por diante. 28 00:01:03,210 --> 00:01:05,960 Enteiros, o que é algo que debe ter presente ao exame, 29 00:01:05,960 --> 00:01:09,590 sempre levar ata catro bytes da memoria, que é de 32 bits. 30 00:01:09,590 --> 00:01:11,620 Hai oito bits nun byte. 31 00:01:11,620 --> 00:01:14,470 >> Así, isto significa que o intervalo de Valores que pode almacenar un número enteiro 32 00:01:14,470 --> 00:01:19,130 limita polo que pode encaixar dentro 32 bits por valor de información. 33 00:01:19,130 --> 00:01:21,850 Agora, como se ve, foi hai moito tempo decidiu 34 00:01:21,850 --> 00:01:24,310 que iríamos dividir que gama de 32 bits 35 00:01:24,310 --> 00:01:26,650 en enteiros negativos e enteiros positivos, 36 00:01:26,650 --> 00:01:28,390 quedando cada metade do intervalo. 37 00:01:28,390 --> 00:01:32,230 Así, a gama de valores que representan cun intervalo enteiro de negativo 2 38 00:01:32,230 --> 00:01:36,520 á potencia 31 a 2 a o poder 31 menos 1, 39 00:01:36,520 --> 00:01:38,190 facer que tamén precisa dun lugar para 0. 40 00:01:38,190 --> 00:01:41,650 >> Entón, basicamente a metade dos valores posibles pode caber nun int son negativos, 41 00:01:41,650 --> 00:01:42,610 e metade son positivos. 42 00:01:42,610 --> 00:01:47,270 E máis ou menos aquí, trata-se negativa 2 millóns a preto de 2 millóns positivo. 43 00:01:47,270 --> 00:01:50,207 Dar ou tomar algúns centenares de millóns. 44 00:01:50,207 --> 00:01:52,290 Entón é iso que pode caber nunha variable enteiro. 45 00:01:52,290 --> 00:01:55,490 Agora nós tamén temos algo chamado un enteiro sen signo. 46 00:01:55,490 --> 00:01:59,220 Agora ints non asinados non son un tipo separado de variable. 47 00:01:59,220 --> 00:02:01,590 Pola contra, sen sinal é o que se chama un cualificado. 48 00:02:01,590 --> 00:02:04,990 El modifica os datos tipo de enteiro lixeiramente. 49 00:02:04,990 --> 00:02:07,850 >> E neste caso, o que non asinado means-- e tamén pode 50 00:02:07,850 --> 00:02:11,530 usar non asinados outros tipos de datos, integer non é o único. 51 00:02:11,530 --> 00:02:15,310 O que efectivamente fai é dobres a gama de valores positivos 52 00:02:15,310 --> 00:02:19,350 un enteiro que pode asumir a a costa de non permitindo 53 00:02:19,350 --> 00:02:21,140 vostede para asumir valores negativos. 54 00:02:21,140 --> 00:02:25,400 Entón se ten números que coñeces se ve maior que 2 millóns, pero menos 55 00:02:25,400 --> 00:02:31,280 de 4 millóns, para example-- que é de 2 a 32 power-- 56 00:02:31,280 --> 00:02:33,330 pode querer usar un unsigned int se 57 00:02:33,330 --> 00:02:35,050 coñecer o seu valor non será negativo. 58 00:02:35,050 --> 00:02:37,216 >> Ás veces vai ter usado para variables non asinados 59 00:02:37,216 --> 00:02:39,460 en CS50, que é por iso que eu mencionalo-lo aquí. 60 00:02:39,460 --> 00:02:43,830 Pero, de novo, a gama de valores que pode representar cun enteiro sen signo 61 00:02:43,830 --> 00:02:48,240 como a t enteiro regulares, son 0 a 2 á potencia de menos de 1 32, 62 00:02:48,240 --> 00:02:50,840 ou aproximadamente 0 a 4 millóns. 63 00:02:50,840 --> 00:02:53,730 Entón efectivamente dobrou o franxa positiva que pode caber, 64 00:02:53,730 --> 00:02:56,270 pero desistiu todo os valores negativos. 65 00:02:56,270 --> 00:03:00,040 >> Agora, como un aparte, sen sinatura Non é o único cualificado 66 00:03:00,040 --> 00:03:01,790 para que poidamos ver a tipos de datos variables. 67 00:03:01,790 --> 00:03:05,779 Hai tamén cousas chamadas curto e longo e const. 68 00:03:05,779 --> 00:03:07,820 Const veremos algo pouco máis tarde no curso. 69 00:03:07,820 --> 00:03:10,830 Curto e longo, nós probablemente non ha. 70 00:03:10,830 --> 00:03:12,830 >> Pero só sei que hai son outros cualificados. 71 00:03:12,830 --> 00:03:14,080 Sen sinal non é o único. 72 00:03:14,080 --> 00:03:16,596 Pero é o único que está vai falar agora. 73 00:03:16,596 --> 00:03:17,310 Entón todo ben. 74 00:03:17,310 --> 00:03:18,393 Entón, nós Cubrimos enteiros. 75 00:03:18,393 --> 00:03:19,200 Cal é o próximo? 76 00:03:19,200 --> 00:03:20,130 >> Chars. 77 00:03:20,130 --> 00:03:23,620 Así caracteres son usados ​​para variables que almacenar caracteres simples. 78 00:03:23,620 --> 00:03:24,850 Char é curto para o personaxe. 79 00:03:24,850 --> 00:03:27,870 E ás veces se pode escoitar persoas pronuncialo lo como coche. 80 00:03:27,870 --> 00:03:32,020 >> Entón personaxes sempre ocupan un byte de memoria, que está a só 8 bits. 81 00:03:32,020 --> 00:03:35,700 Entón isto significa que eles só poden caber valores no intervalo de 2 negativo 82 00:03:35,700 --> 00:03:42,430 para a sétima potencia, ou negativo 128, a 2 ao 7 de potencia menos 1, ou 127. 83 00:03:42,430 --> 00:03:45,710 >> Grazas a ASCII, foi hai moito tempo decidiu de forma 84 00:03:45,710 --> 00:03:50,805 para mapear os números de positivos 0 a 127 a varios personaxes 85 00:03:50,805 --> 00:03:52,182 que existen en todo o noso teclado. 86 00:03:52,182 --> 00:03:54,640 Entón, como veremos máis adiante, en o curso, e, probablemente, 87 00:03:54,640 --> 00:03:57,700 vir a memorizar nalgún punto, o capital A, para example-- 88 00:03:57,700 --> 00:04:00,732 a capital carácter A-- mapea ao número 65. 89 00:04:00,732 --> 00:04:02,940 E a razón para iso é porque é o que é que é 90 00:04:02,940 --> 00:04:05,490 foi asignado pola norma ASCII. 91 00:04:05,490 --> 00:04:07,850 >> Minúsculas A é 97. 92 00:04:07,850 --> 00:04:11,900 O carácter 0 para cando realmente escribir o carácter, non 93 00:04:11,900 --> 00:04:13,532 representa o número cero, é 48. 94 00:04:13,532 --> 00:04:15,240 Vai aprender unha parella deses que vaia. 95 00:04:15,240 --> 00:04:17,990 E vai certamente chegar a ter Los un pouco máis tarde na CS50. 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> O seguinte gran tipo de datos É números de punto flotante. 98 00:04:23,390 --> 00:04:26,100 Entón, números de punto flotante son tamén coñecido como números reais. 99 00:04:26,100 --> 00:04:28,850 Son basicamente números que ter un punto decimal neles. 100 00:04:28,850 --> 00:04:33,360 Valores de punto flotante como enteiros son tamén 101 00:04:33,360 --> 00:04:36,090 contidos 4 bytes de memoria. 102 00:04:36,090 --> 00:04:37,580 Agora non hai ningunha carta aquí. 103 00:04:37,580 --> 00:04:40,890 Non hai ningunha liña de número, xa que describe a variedade dun flotador 104 00:04:40,890 --> 00:04:44,550 non é exactamente claro ou intuitiva. 105 00:04:44,550 --> 00:04:47,350 >> Tan só dicir que ter 32 bits para traballar. 106 00:04:47,350 --> 00:04:49,730 E se ten un número como pi, que ten 107 00:04:49,730 --> 00:04:55,510 unha parte enteira 3, e unha flotante parte punto, ou parte decimal 0,14159, 108 00:04:55,510 --> 00:04:58,735 etc., ten que ser capaz de representar todos ele-- 109 00:04:58,735 --> 00:05:02,420 a parte enteira ea parte decimal. 110 00:05:02,420 --> 00:05:04,550 >> Entón, o que pensas que iso pode significar? 111 00:05:04,550 --> 00:05:08,180 Unha cousa é que, se o decimal parte está máis e máis, 112 00:05:08,180 --> 00:05:10,660 se eu teño un moi grande parte enteira, non podería 113 00:05:10,660 --> 00:05:13,090 poder ser tan precisa coa parte decimal. 114 00:05:13,090 --> 00:05:15,280 E iso é realmente o limitación dun float. 115 00:05:15,280 --> 00:05:17,229 >> Flotadores teñen un problema de precisión. 116 00:05:17,229 --> 00:05:19,270 Temos só 32 bits para traballar, polo que só podemos 117 00:05:19,270 --> 00:05:22,510 ser tan precisos coa nosa parte decimal. 118 00:05:22,510 --> 00:05:27,300 Non podemos ter necesariamente un decimal parte falta para 100 ou 200 díxitos, 119 00:05:27,300 --> 00:05:29,710 porque só temos 32 bits para traballar. 120 00:05:29,710 --> 00:05:31,590 Entón esta é unha limitación dun float. 121 00:05:31,590 --> 00:05:33,590 >> Agora, por sorte, hai outro tipo de datos chamado 122 00:05:33,590 --> 00:05:36,530 dobre, que pouco trata sobre este problema. 123 00:05:36,530 --> 00:05:39,980 Doubles, como Carrozas, tamén se usan para almacenar números reais ou punto flotante 124 00:05:39,980 --> 00:05:40,840 valores. 125 00:05:40,840 --> 00:05:44,340 A diferenza é que dobres son precisión dobre. 126 00:05:44,340 --> 00:05:48,177 Poden caber 64 bits de datos ou oito bytes. 127 00:05:48,177 --> 00:05:49,010 Que significa iso? 128 00:05:49,010 --> 00:05:51,801 Ben, iso significa que podemos ser moito máis que co punto decimal. 129 00:05:51,801 --> 00:05:54,830 En vez de ter pi a sete lugares quizais, cun flotador, 130 00:05:54,830 --> 00:05:56,710 quizais poidamos telo para 30 prazas. 131 00:05:56,710 --> 00:05:59,824 Se isto é importante, pode querer a utilización dunha parella en vez dunha boia. 132 00:05:59,824 --> 00:06:01,740 Basicamente, se está traballar en calquera cousa onde 133 00:06:01,740 --> 00:06:06,540 ter un tempo moi longo casa decimal e moita precisión é importante, 134 00:06:06,540 --> 00:06:08,630 probablemente vai querer usar un Overfloat dobre. 135 00:06:08,630 --> 00:06:11,250 Agora, para a maior parte do seu traballo en CS50, un flotador debe ser suficiente. 136 00:06:11,250 --> 00:06:15,340 Pero sei que hai dobres como un forma de xestionar un pouco a precisión 137 00:06:15,340 --> 00:06:20,980 problema, dándolle un extra de 32 bits para traballar con para os seus números. 138 00:06:20,980 --> 00:06:23,650 >> Agora, iso non é un tipo de datos. 139 00:06:23,650 --> 00:06:24,390 Este é un tipo. 140 00:06:24,390 --> 00:06:25,340 E chámase baleiro. 141 00:06:25,340 --> 00:06:27,506 E eu estou falando sobre iso aquí, porque temos probablemente 142 00:06:27,506 --> 00:06:29,520 visto que algunhas veces xa en CS50. 143 00:06:29,520 --> 00:06:32,020 E pode estar se pregunta o que é todo sobre. 144 00:06:32,020 --> 00:06:33,390 >> Entón baleiro é un tipo. 145 00:06:33,390 --> 00:06:34,097 Existe. 146 00:06:34,097 --> 00:06:35,180 Pero iso non é un tipo de datos. 147 00:06:35,180 --> 00:06:39,350 >> Non podemos crear unha variable de tipo anular e asignar un valor a ela. 148 00:06:39,350 --> 00:06:42,519 Pero as funcións, por exemplo, pode ter un tipo de retorno void. 149 00:06:42,519 --> 00:06:45,060 Basicamente, se ve unha función que ten un tipo de retorno void, 150 00:06:45,060 --> 00:06:46,970 isto significa que non retorna un valor. 151 00:06:46,970 --> 00:06:49,440 Podes pensar en un común función que usei ata agora 152 00:06:49,440 --> 00:06:52,780 en CS50 que non retorna un valor? 153 00:06:52,780 --> 00:06:54,700 >> Printf é un deles. 154 00:06:54,700 --> 00:06:56,820 Printf en realidade non voltar nada para ti. 155 00:06:56,820 --> 00:06:59,850 Ela imprime algo ao pantalla, e é basicamente 156 00:06:59,850 --> 00:07:01,650 efectos secundarios que printf. 157 00:07:01,650 --> 00:07:03,620 Pero non darlle un valor de volta. 158 00:07:03,620 --> 00:07:08,419 Non capturar o resultado e almacenar Lo dalgunha variable para usalo máis tarde. 159 00:07:08,419 --> 00:07:10,710 El só imprime algo para a pantalla e está feito. 160 00:07:10,710 --> 00:07:14,360 >> Así, dicimos que printf é unha función nula. 161 00:07:14,360 --> 00:07:16,450 Retorna nada. 162 00:07:16,450 --> 00:07:18,580 >> A lista perímetro dun función tamén pode ser nulo. 163 00:07:18,580 --> 00:07:21,410 E tamén vin que un pouco en CS50 tamén. 164 00:07:21,410 --> 00:07:22,300 Void main Int. 165 00:07:22,300 --> 00:07:23,260 Será que isto soa unha campá? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 Basicamente o que isto significa que O principal non tomar calquera parámetros. 168 00:07:27,220 --> 00:07:29,520 Non hai ningún argumento que pasou a principal. 169 00:07:29,520 --> 00:07:32,780 Agora, máis tarde, imos ver que hai unha forma de pasar argumentos en principal, 170 00:07:32,780 --> 00:07:36,189 pero ata agora o que temos vin é void main int. 171 00:07:36,189 --> 00:07:37,730 Principal só non toma ningún argumento. 172 00:07:37,730 --> 00:07:40,236 E por iso, especificar que dicindo baleiro. 173 00:07:40,236 --> 00:07:42,110 Nós só estamos sendo moi explícita sobre o feito 174 00:07:42,110 --> 00:07:44,430 que non leva ningún argumento. 175 00:07:44,430 --> 00:07:47,160 >> Entón, por agora, é suficiente dicir que basicamente baleiro 176 00:07:47,160 --> 00:07:50,789 debe só servir como un espazo reservado para vostede como pensar en como nada. 177 00:07:50,789 --> 00:07:52,080 Non está facendo nada. 178 00:07:52,080 --> 00:07:53,550 Non hai ningún valor de retorno aquí. 179 00:07:53,550 --> 00:07:54,770 Non hai parámetros aquí. 180 00:07:54,770 --> 00:07:55,709 É nula. 181 00:07:55,709 --> 00:07:57,250 É un pouco máis complexo do que iso. 182 00:07:57,250 --> 00:08:00,640 Pero iso debe ser suficiente para a mellor parte do curso. 183 00:08:00,640 --> 00:08:05,010 E espero que agora ten un pouco pouco máis de un concepto do que é baleiro. 184 00:08:05,010 --> 00:08:08,460 >> Entón eses son os cinco tipos vai encontro que son internos ao C. 185 00:08:08,460 --> 00:08:10,670 Pero en CS50 temos tamén unha biblioteca. 186 00:08:10,670 --> 00:08:13,550 CS50.h, que pode incluír. 187 00:08:13,550 --> 00:08:15,930 E que pode fornecer-lle con dous tipos adicionais 188 00:08:15,930 --> 00:08:18,280 que probablemente vai ser capaz para usar nas súas atribucións, 189 00:08:18,280 --> 00:08:21,210 ou só traballar xeral de programación. 190 00:08:21,210 --> 00:08:23,030 >> O primeiro destes é booleano. 191 00:08:23,030 --> 00:08:26,780 Así, o tipo de datos booleano, bool, utilízase para variables 192 00:08:26,780 --> 00:08:28,114 que almacenar un valor booleano. 193 00:08:28,114 --> 00:08:29,863 Se nunca escoitou falar este termo antes, 194 00:08:29,863 --> 00:08:31,960 pode saber que un booleano valor é capaz de só 195 00:08:31,960 --> 00:08:34,440 sostendo dous valores distintos diferentes. 196 00:08:34,440 --> 00:08:35,872 Verdadeiro e falso. 197 00:08:35,872 --> 00:08:37,580 Agora, iso parece bastante fundamentais, non? 198 00:08:37,580 --> 00:08:40,496 É unha especie de unha sorpresa que esta non existe no C como é built-in. 199 00:08:40,496 --> 00:08:42,640 E en moitas linguas modernas, por suposto, Booleans 200 00:08:42,640 --> 00:08:45,390 son un tipo de datos estándar estándar. 201 00:08:45,390 --> 00:08:47,192 Pero en C, realmente non son. 202 00:08:47,192 --> 00:08:48,400 Pero creamos isto para vostede. 203 00:08:48,400 --> 00:08:51,910 Entón, se precisa crear unha variable cuxo tipo é bool, 204 00:08:51,910 --> 00:08:55,230 só a certeza de #include CS50.h no inicio do seu programa, 205 00:08:55,230 --> 00:08:57,800 e vai ser capaz de crear variables de tipo bool. 206 00:08:57,800 --> 00:09:02,095 >> Se esqueceu de #include CS50.h, e comezar a usar variables do tipo Boolean, 207 00:09:02,095 --> 00:09:04,970 podes atopar algúns problemas cando está compilando o seu programa. 208 00:09:04,970 --> 00:09:06,490 Entón, ser só buscando que. 209 00:09:06,490 --> 00:09:11,180 E quizais pode corrixir só o problemas por libre incluíndo CS50.h. 210 00:09:11,180 --> 00:09:14,590 >> O outro gran tipo de datos que nós proporcionar para vostede na biblioteca CS50 211 00:09:14,590 --> 00:09:15,670 é cadea. 212 00:09:15,670 --> 00:09:17,130 Entón, o que é unha cadea? 213 00:09:17,130 --> 00:09:18,520 Cadeas son realmente só palabras. 214 00:09:18,520 --> 00:09:20,000 Son coleccións de carácteres. 215 00:09:20,000 --> 00:09:20,640 Son palabras. 216 00:09:20,640 --> 00:09:21,390 Son frases. 217 00:09:21,390 --> 00:09:22,480 Son parágrafos. 218 00:09:22,480 --> 00:09:25,850 Pode ser libros enteiros, mesmo. 219 00:09:25,850 --> 00:09:29,690 >> Moi curto para moi longo serie de caracteres. 220 00:09:29,690 --> 00:09:34,310 Se precisa utilizar cordas, por exemplo, para almacenar unha palabra, 221 00:09:34,310 --> 00:09:37,609 só non se esqueza de incluír CS50.h no inicio do seu programa 222 00:09:37,609 --> 00:09:38,900 para que poida usar o tipo cadea. 223 00:09:38,900 --> 00:09:43,910 E entón podes crear variables cuxo tipo de datos é cadea. 224 00:09:43,910 --> 00:09:46,160 Agora máis tarde no curso, nós tamén imos ver que iso é 225 00:09:46,160 --> 00:09:47,752 non toda a historia, calquera. 226 00:09:47,752 --> 00:09:49,460 Nós imos atopar cousas estruturas, chamadas 227 00:09:49,460 --> 00:09:54,249 que permiten que agrupe o que se pode un enteiro e unha corda nunha unidade. 228 00:09:54,249 --> 00:09:56,290 E podemos usar isto para algún propósito, o que pode 229 00:09:56,290 --> 00:09:57,750 vir a cadra máis tarde no curso. 230 00:09:57,750 --> 00:09:59,500 >> E nós tamén vai aprender sobre tipos definidos, 231 00:09:59,500 --> 00:10:01,720 que permiten que cree seus propios tipos de datos. 232 00:10:01,720 --> 00:10:03,060 Non se preocupe sobre iso de momento. 233 00:10:03,060 --> 00:10:04,550 Pero só sei que isto é algo sobre o horizonte, 234 00:10:04,550 --> 00:10:07,633 que hai moito máis a este conxunto Tipo de cousas que eu estou dicindo a vostede só 235 00:10:07,633 --> 00:10:08,133 agora. 236 00:10:08,133 --> 00:10:10,591 Polo tanto, agora que aprendemos pouco sobre os datos básicos 237 00:10:10,591 --> 00:10:14,230 tipos e tipo de datos CS50, imos falar sobre como traballar con variables 238 00:10:14,230 --> 00:10:18,530 e crealas cos seus tipos de datos nos nosos programas. 239 00:10:18,530 --> 00:10:22,670 Se quere crear unha variable, todo o que precisa facer é dúas cousas. 240 00:10:22,670 --> 00:10:24,147 >> Primeiro, ten que darlle un tipo. 241 00:10:24,147 --> 00:10:26,230 A segunda cousa que precisa que facer é darlle un nome. 242 00:10:26,230 --> 00:10:28,740 Unha vez que teña feito isto e bateu un punto e coma ao final da liña, 243 00:10:28,740 --> 00:10:29,830 creou unha variable. 244 00:10:29,830 --> 00:10:32,370 >> Entón aquí está dous exemplos. 245 00:10:32,370 --> 00:10:35,744 Número Int; Char carta;. 246 00:10:35,744 --> 00:10:36,660 O que eu fixen aquí? 247 00:10:36,660 --> 00:10:38,110 Eu creei dúas variables. 248 00:10:38,110 --> 00:10:40,190 >> A primeira, a variable de nome é número. 249 00:10:40,190 --> 00:10:44,830 E o número é capaz de manter enteiro escriba valores, porque o seu tipo é int. 250 00:10:44,830 --> 00:10:48,040 Carta é outra variable que pode conter caracteres 251 00:10:48,040 --> 00:10:50,240 porque o seu tipo de datos é char. 252 00:10:50,240 --> 00:10:51,772 >> Moi sinxelo, non? 253 00:10:51,772 --> 00:10:53,480 Se se atopa nunha situación onde 254 00:10:53,480 --> 00:10:56,250 ten que crear múltiples variables do mesmo tipo, 255 00:10:56,250 --> 00:10:58,740 só precisa indicar o nome do tipo unha vez. 256 00:10:58,740 --> 00:11:01,600 A continuación, pode consultar tantas variables daquel tipo que precisa. 257 00:11:01,600 --> 00:11:04,230 >> Entón, eu podería, por exemplo, aquí nesta terceira liña de código, 258 00:11:04,230 --> 00:11:07,420 dicir altura int;, nova liña. 259 00:11:07,420 --> 00:11:08,291 Int ancho;. 260 00:11:08,291 --> 00:11:09,290 E que ía traballar moito. 261 00:11:09,290 --> 00:11:12,039 Eu son chamado dúas variables alto e ancho, cada unha das cales 262 00:11:12,039 --> 00:11:12,730 é un número enteiro. 263 00:11:12,730 --> 00:11:16,970 Pero eu estou autorizado a, cousas para C sintaxe, consolidalo-lo nunha única liña. 264 00:11:16,970 --> 00:11:20,230 Int altura, anchura; É o mesmo. 265 00:11:20,230 --> 00:11:23,900 Eu creei dúas variables, unha chamada altura ancho dun chamado, sendo que ambos 266 00:11:23,900 --> 00:11:26,730 son capaces de explotación escriba valores enteiros. 267 00:11:26,730 --> 00:11:30,920 >> Así mesmo aquí, podo crear tres valores de punto flotante de unha vez. 268 00:11:30,920 --> 00:11:33,350 Poida que eu poida crear unha variable chamado raíz cadrada de 2-- 269 00:11:33,350 --> 00:11:35,766 que presuntamente acabará Manteña o ponto-- flotante 270 00:11:35,766 --> 00:11:39,222 que a representación da praza raíz de 2-- raíz cadrada de 3, e pi. 271 00:11:39,222 --> 00:11:41,180 Eu podería ter feito isto en tres liñas separadas. 272 00:11:41,180 --> 00:11:47,690 Float, raíz cadrada 2; Float raíz cadrada 3; flotar pi; e que ía traballar moito. 273 00:11:47,690 --> 00:11:50,590 >> Pero, de novo, podo só consolidar que nunha soa liña de código. 274 00:11:50,590 --> 00:11:54,050 Fai as cousas un pouco máis curto, non como torpe. 275 00:11:54,050 --> 00:11:57,259 >> Agora, en xeral, é bo proxecto só declarar unha variable cando precisa del. 276 00:11:57,259 --> 00:11:59,050 E imos falar un pouco pouco máis sobre iso 277 00:11:59,050 --> 00:12:00,945 máis tarde no curso cando discutir ámbito. 278 00:12:00,945 --> 00:12:03,320 Polo tanto, non precisa necesariamente crear as súas variables 279 00:12:03,320 --> 00:12:05,990 no inicio do programa, o que algunhas persoas poden ter feito no pasado, 280 00:12:05,990 --> 00:12:08,700 ou foi, certamente, un moi común práctica de codificación moitos anos 281 00:12:08,700 --> 00:12:11,700 cando se traballa con C. Vostede puido só quere crear un dereito variable cando 282 00:12:11,700 --> 00:12:13,140 precisa del. 283 00:12:13,140 --> 00:12:13,640 Todo ben. 284 00:12:13,640 --> 00:12:15,150 Entón creamos variables. 285 00:12:15,150 --> 00:12:16,790 Como é que podemos usalos? 286 00:12:16,790 --> 00:12:18,650 Tras declararse un variable, non precisamos 287 00:12:18,650 --> 00:12:21,237 para especificar o tipo de datos desa variable máis. 288 00:12:21,237 --> 00:12:24,070 De feito, se fai iso, pode acabar con algunhas consecuencias estrañas 289 00:12:24,070 --> 00:12:25,490 que imos tipo de encubrir de momento. 290 00:12:25,490 --> 00:12:27,365 Pero basta dicir, cousas estrañas van 291 00:12:27,365 --> 00:12:30,740 comezar a ocorrer se inadvertidamente re-declarar variables co mesmo nome 292 00:12:30,740 --> 00:12:32,210 máis e máis. 293 00:12:32,210 --> 00:12:33,882 >> Entón aquí eu teño catro liñas de código. 294 00:12:33,882 --> 00:12:36,090 E eu teño un par de Comentarios Non só indicando 295 00:12:36,090 --> 00:12:37,840 o que está a suceder en cada liña só para axudar 296 00:12:37,840 --> 00:12:40,520 se situado o que está pasando. 297 00:12:40,520 --> 00:12:41,520 Así número int;. 298 00:12:41,520 --> 00:12:42,520 Viu que anteriormente. 299 00:12:42,520 --> 00:12:44,000 Esa é unha declaración de variable. 300 00:12:44,000 --> 00:12:46,670 >> Eu creei agora unha variable iso chámase número 301 00:12:46,670 --> 00:12:48,970 capaz de manter valores de tipo enteiro. 302 00:12:48,970 --> 00:12:50,210 Eu xa declarou el. 303 00:12:50,210 --> 00:12:53,770 >> A seguinte liña Estou atribuíndo un valor de número. 304 00:12:53,770 --> 00:12:54,992 Número é igual a 17. 305 00:12:54,992 --> 00:12:55,950 O que está a suceder alí? 306 00:12:55,950 --> 00:12:58,880 Estou poñendo o número 17 dentro desa variable. 307 00:12:58,880 --> 00:13:02,760 >> Entón, se eu non, a continuación, imprimir o que o contido do número son, máis tarde, 308 00:13:02,760 --> 00:13:04,030 eles van me dicir que é 17. 309 00:13:04,030 --> 00:13:07,030 Entón, eu teño declarado unha variable, e entón eu teño que lle é asignado. 310 00:13:07,030 --> 00:13:10,570 >> Podemos repetir o proceso novo co carácter carta;. 311 00:13:10,570 --> 00:13:11,640 Esa é unha declaración. 312 00:13:11,640 --> 00:13:14,010 Carta de capital é igual a H. Isto é unha asignación. 313 00:13:14,010 --> 00:13:16,030 Moi sinxelo, tamén. 314 00:13:16,030 --> 00:13:18,319 >> Agora, este proceso pode Parece medio parvo. 315 00:13:18,319 --> 00:13:20,110 Por que estamos a facer iso en dúas liñas de código? 316 00:13:20,110 --> 00:13:21,401 Existe un xeito mellor de facelo? 317 00:13:21,401 --> 00:13:22,250 En realidade, non existe. 318 00:13:22,250 --> 00:13:24,375 Ás veces podes ver esta chamada de arranque. 319 00:13:24,375 --> 00:13:28,446 É cando declarar unha variable e asignar un valor ao mesmo tempo. 320 00:13:28,446 --> 00:13:30,320 Esta é realmente unha fermosa cousa común de facer. 321 00:13:30,320 --> 00:13:32,870 Cando se crea unha variable, normalmente quere que ten algún valor básico. 322 00:13:32,870 --> 00:13:34,330 Aínda que sexa 0 ou algo así. 323 00:13:34,330 --> 00:13:36,180 Só vostede darlle un valor. 324 00:13:36,180 --> 00:13:38,360 >> Pode iniciar unha variable. 325 00:13:38,360 --> 00:13:42,320 Int número é igual a 17 é o mesmo que as dúas primeiras liñas de código enriba. 326 00:13:42,320 --> 00:13:46,829 Char carta é igual a h é o mesmo que o terceira e cuarta liñas de código anterior. 327 00:13:46,829 --> 00:13:49,620 O takeaway máis importante aquí cando estamos declarando e atribuíndo 328 00:13:49,620 --> 00:13:51,740 variables é despois que temos declarou el, aviso 329 00:13:51,740 --> 00:13:53,700 Non está a usar o tipo de datos de novo. 330 00:13:53,700 --> 00:13:57,916 Eu non estou dicindo número int igual a 17 na a segunda liña de código, por exemplo. 331 00:13:57,916 --> 00:13:59,290 Só estou dicindo que é igual a número 17. 332 00:13:59,290 --> 00:14:02,537 >> Unha vez máis, re-declarar unha variable despois xa declarou que pode levar 333 00:14:02,537 --> 00:14:03,620 para algunha consecuencia estraño. 334 00:14:03,620 --> 00:14:05,950 Entón, só tes que ter coidado con iso. 335 00:14:05,950 --> 00:14:06,660 >> Eu son Doug Lloyd. 336 00:14:06,660 --> 00:14:08,870 E este é CS50. 337 00:14:08,870 --> 00:14:10,499