1 00:00:00,000 --> 00:00:02,420 >> [RIPRODUZIONE DI BRANI MUSICALI] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 SPEAKER: Va bene. 4 00:00:05,980 --> 00:00:08,540 Quindi parliamo di un altro cosa che è sorta di unico a C, 5 00:00:08,540 --> 00:00:10,010 che è i tipi di dati e variabili. 6 00:00:10,010 --> 00:00:12,340 Quando dico unica di C, davvero significare solo nel contesto di, 7 00:00:12,340 --> 00:00:14,470 se sei stato un programmatore per un tempo molto lungo, 8 00:00:14,470 --> 00:00:16,270 non hai probabilmente ha lavorato con i tipi di dati 9 00:00:16,270 --> 00:00:18,470 se hai utilizzato moderno linguaggi di programmazione. 10 00:00:18,470 --> 00:00:20,432 Linguaggi moderni come PHP e JavaScript, 11 00:00:20,432 --> 00:00:22,640 che vedremo anche un po ' più avanti nel corso, 12 00:00:22,640 --> 00:00:25,550 non dovete realmente specificare il tipo di dati di una variabile 13 00:00:25,550 --> 00:00:26,270 quando lo si utilizza. 14 00:00:26,270 --> 00:00:28,067 >> Basta dichiarare e iniziare ad usarlo. 15 00:00:28,067 --> 00:00:29,900 Se si tratta di un intero, so che è un numero intero. 16 00:00:29,900 --> 00:00:31,960 Se si tratta di un personaggio, è sa che è un personaggio. 17 00:00:31,960 --> 00:00:35,320 Se si tratta di una parola, sa si tratta di una stringa, il cosiddetto. 18 00:00:35,320 --> 00:00:37,300 >> Ma in C, che è un lingua più anziani, abbiamo bisogno 19 00:00:37,300 --> 00:00:39,420 per specificare i dati tipo di ogni variabile 20 00:00:39,420 --> 00:00:42,990 che creiamo la prima volta che usiamo quella variabile. 21 00:00:42,990 --> 00:00:45,030 Quindi, C è dotato di un po ' built-in tipi di dati. 22 00:00:45,030 --> 00:00:46,972 E veniamo a conoscenza con alcuni di quelli. 23 00:00:46,972 --> 00:00:50,180 E poi dopo faremo anche parliamo po 'su alcuni dei tipi di dati 24 00:00:50,180 --> 00:00:54,450 che abbiamo scritto per te, così si possono usare in CS50. 25 00:00:54,450 --> 00:00:56,130 >> Il primo è int. 26 00:00:56,130 --> 00:00:59,110 Il tipo di dati int è usato per le variabili che memorizzerà valori interi. 27 00:00:59,110 --> 00:01:03,210 Quindi 1, 2, 3, negativo 1, 2, 3, e così via. 28 00:01:03,210 --> 00:01:05,960 Interi, che è qualcosa che dovrebbe tenere a mente per il quiz, 29 00:01:05,960 --> 00:01:09,590 prendere sempre quattro byte della memoria, che è di 32 bit. 30 00:01:09,590 --> 00:01:11,620 Ci sono otto bit in un byte. 31 00:01:11,620 --> 00:01:14,470 >> Quindi questo significa che la gamma di Valori che un intero grado di memorizzare 32 00:01:14,470 --> 00:01:19,130 è limitato da quello che può andare bene all'interno 32 bit vale la pena di informazioni. 33 00:01:19,130 --> 00:01:21,850 Ora, a quanto pare, è stato molto tempo fa ha deciso 34 00:01:21,850 --> 00:01:24,310 che ci saremmo divisi tale intervallo di 32 bit 35 00:01:24,310 --> 00:01:26,650 in numeri interi negativi e interi positivi, 36 00:01:26,650 --> 00:01:28,390 ogni metà ottenendo dell'intervallo. 37 00:01:28,390 --> 00:01:32,230 Così l'intervallo di valori che rappresentiamo con un intervallo intero da negativo 2 38 00:01:32,230 --> 00:01:36,520 alla potenza 31 a 2 a il potere 31 meno 1, 39 00:01:36,520 --> 00:01:38,190 causare è necessario anche un posto per 0. 40 00:01:38,190 --> 00:01:41,650 >> Quindi, in pratica la metà dei valori possibili si può montare in un int sono negativi, 41 00:01:41,650 --> 00:01:42,610 e la metà sono positivi. 42 00:01:42,610 --> 00:01:47,270 E più o meno qui, si tratta di negativo 2 miliardi a circa 2 miliardi di positivo. 43 00:01:47,270 --> 00:01:50,207 Dare o prendere un paio di centinaia di euro. 44 00:01:50,207 --> 00:01:52,290 Ecco, questo è quello che si può andare bene in una variabile intera. 45 00:01:52,290 --> 00:01:55,490 Ora abbiamo anche qualcosa chiamato un intero senza segno. 46 00:01:55,490 --> 00:01:59,220 Ora unsigned int non sono tipo di variabile separata. 47 00:01:59,220 --> 00:02:01,590 Piuttosto, non firmato è quello che chiama un qualificatore. 48 00:02:01,590 --> 00:02:04,990 Esso modifica i dati tipo di integer leggermente. 49 00:02:04,990 --> 00:02:07,850 >> E in questo caso, ciò non firmato means-- e si può anche 50 00:02:07,850 --> 00:02:11,530 utilizzare senza segno altri tipi di dati, intero non è l'unico. 51 00:02:11,530 --> 00:02:15,310 Ciò che fa è effettivamente raddoppia il campo positivo di valori 52 00:02:15,310 --> 00:02:19,350 che un intero può assumere a la spesa di non permettere 53 00:02:19,350 --> 00:02:21,140 di prendere su valori negativi. 54 00:02:21,140 --> 00:02:25,400 Quindi, se avete i numeri che conoscete otterrà maggiore di 2 miliardi, ma meno 55 00:02:25,400 --> 00:02:31,280 di 4 miliardi di euro, per example-- che è 2 al 32 ° power-- 56 00:02:31,280 --> 00:02:33,330 si potrebbe desiderare di utilizzare un unsigned int se 57 00:02:33,330 --> 00:02:35,050 il vostro valore non sarà mai negativa. 58 00:02:35,050 --> 00:02:37,216 >> Avrete a volte avere usato per le variabili unsigned 59 00:02:37,216 --> 00:02:39,460 in CS50, che è il motivo per cui ho parlato qui. 60 00:02:39,460 --> 00:02:43,830 Ma ancora una volta, l'intervallo di valori che può rappresentare un intero senza segno 61 00:02:43,830 --> 00:02:48,240 da t intero normale, sono 0 per 2 alla potenza 32a meno 1, 62 00:02:48,240 --> 00:02:50,840 o 0 circa a 4 miliardi. 63 00:02:50,840 --> 00:02:53,730 Così avete effettivamente raddoppiato il campo positivo che si può andare bene, 64 00:02:53,730 --> 00:02:56,270 ma hai dato tutto i valori negativi. 65 00:02:56,270 --> 00:03:00,040 >> Ora, come un a parte, senza segno non è l'unica qualificazione 66 00:03:00,040 --> 00:03:01,790 che potremmo vedere di i tipi di dati variabili. 67 00:03:01,790 --> 00:03:05,779 Ci sono anche cose chiamate a breve e lungo e const. 68 00:03:05,779 --> 00:03:07,820 Const vedremo un po ' Poco più avanti nel corso. 69 00:03:07,820 --> 00:03:10,830 A breve e lungo, probabilmente non lo farà. 70 00:03:10,830 --> 00:03:12,830 >> Ma basta sapere che c'è sono altre qualificazioni. 71 00:03:12,830 --> 00:03:14,080 Unsigned non è l'unico. 72 00:03:14,080 --> 00:03:16,596 Ma è l'unico che siamo andando a parlare in questo momento. 73 00:03:16,596 --> 00:03:17,310 Quindi tutto bene. 74 00:03:17,310 --> 00:03:18,393 Così abbiamo coperto interi. 75 00:03:18,393 --> 00:03:19,200 Cosa c'è dopo? 76 00:03:19,200 --> 00:03:20,130 >> Caratteri. 77 00:03:20,130 --> 00:03:23,620 Così caratteri vengono utilizzati per le variabili che memorizzerà i singoli caratteri. 78 00:03:23,620 --> 00:03:24,850 Char è l'abbreviazione di carattere. 79 00:03:24,850 --> 00:03:27,870 E a volte si potrebbe sentire persone pronunciano come auto. 80 00:03:27,870 --> 00:03:32,020 >> Così i personaggi prendono sempre uno byte di memoria, che si trova a soli 8 bit. 81 00:03:32,020 --> 00:03:35,700 Quindi questo significa che possono andare bene solo valori nella gamma di negativo 2 82 00:03:35,700 --> 00:03:42,430 alla settima potenza, o negativa 128, a 2 al 7 di alimentazione meno 1, o 127. 83 00:03:42,430 --> 00:03:45,710 >> Grazie a ASCII, era fa molto deciso un modo 84 00:03:45,710 --> 00:03:50,805 per mappare i numeri positivi da 0-127 a vari personaggi 85 00:03:50,805 --> 00:03:52,182 che tutti esistono sulla nostra tastiera. 86 00:03:52,182 --> 00:03:54,640 Quindi, come vedremo più avanti in il corso, e probabilmente vi 87 00:03:54,640 --> 00:03:57,700 venire a memorizzare a un certo punto, maiuscola, per example-- 88 00:03:57,700 --> 00:04:00,732 la capitale carattere A-- mappe al numero 65. 89 00:04:00,732 --> 00:04:02,940 E la ragione di ciò è perché questo è ciò che è che è 90 00:04:02,940 --> 00:04:05,490 assegnato dallo standard ASCII. 91 00:04:05,490 --> 00:04:07,850 >> Minuscole A è 97. 92 00:04:07,850 --> 00:04:11,900 Il carattere 0 per quando si in realtà digitare il carattere, non 93 00:04:11,900 --> 00:04:13,532 che rappresenta il numero zero, è 48. 94 00:04:13,532 --> 00:04:15,240 Imparerete una coppia di questi, come si va. 95 00:04:15,240 --> 00:04:17,990 E vi sarà certamente arriva ad avere bisogno loro un po 'più avanti in CS50. 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> Il prossimo grande tipo di dati è numeri floating point. 98 00:04:23,390 --> 00:04:26,100 Così numeri in virgola mobile sono noto anche come numeri reali. 99 00:04:26,100 --> 00:04:28,850 Sono fondamentalmente numeri che avere un punto decimale in loro. 100 00:04:28,850 --> 00:04:33,360 Valori in virgola mobile come interi sono anche 101 00:04:33,360 --> 00:04:36,090 contenuta entro 4 byte di memoria. 102 00:04:36,090 --> 00:04:37,580 Ora non c'è grafico qui. 103 00:04:37,580 --> 00:04:40,890 Non c'è nessuna linea numero, perché descrivendo la gamma di un galleggiante 104 00:04:40,890 --> 00:04:44,550 non è esattamente chiaro e intuitivo. 105 00:04:44,550 --> 00:04:47,350 >> Basti dire voi avere 32 bit con cui lavorare. 106 00:04:47,350 --> 00:04:49,730 E se si dispone di un numero come pi greco, che ha 107 00:04:49,730 --> 00:04:55,510 una parte intera 3, e un galleggiante punto parte, o parte decimale 0,14159, 108 00:04:55,510 --> 00:04:58,735 e così via, è necessario essere in grado di rappresentare tutti it-- 109 00:04:58,735 --> 00:05:02,420 la parte intera e la parte decimale. 110 00:05:02,420 --> 00:05:04,550 >> Allora, cosa pensi che potrebbe significare? 111 00:05:04,550 --> 00:05:08,180 Una cosa è che se il decimale parte si allunga e più a lungo, 112 00:05:08,180 --> 00:05:10,660 se ho un grande parte intera, non potrebbe 113 00:05:10,660 --> 00:05:13,090 essere in grado di essere preciso con la parte decimale. 114 00:05:13,090 --> 00:05:15,280 E questo è davvero il limitazione di un galleggiante. 115 00:05:15,280 --> 00:05:17,229 >> Galleggianti hanno un problema di precisione. 116 00:05:17,229 --> 00:05:19,270 Abbiamo solo 32 bit a lavorare, quindi abbiamo solo possibile 117 00:05:19,270 --> 00:05:22,510 essere così preciso con la nostra parte decimale. 118 00:05:22,510 --> 00:05:27,300 Non possiamo avere un decimale necessariamente parte precisa di 100 o 200 caratteri, 119 00:05:27,300 --> 00:05:29,710 perché abbiamo solo 32 bit per lavorare con. 120 00:05:29,710 --> 00:05:31,590 Ecco, questo è una limitazione di un galleggiante. 121 00:05:31,590 --> 00:05:33,590 >> Ora per fortuna c'è un altro tipo di dati denominato 122 00:05:33,590 --> 00:05:36,530 doppia, che un po ' affronta questo problema. 123 00:05:36,530 --> 00:05:39,980 Raddoppia, come galleggianti, sono utilizzati anche per memorizzare i numeri reali o in virgola mobile 124 00:05:39,980 --> 00:05:40,840 valori. 125 00:05:40,840 --> 00:05:44,340 La differenza è che doppi sono doppia precisione. 126 00:05:44,340 --> 00:05:48,177 Possono andare bene 64 bit dati o otto byte. 127 00:05:48,177 --> 00:05:49,010 Che cosa significa? 128 00:05:49,010 --> 00:05:51,801 Bene, significa che possiamo essere molto più preciso con il punto decimale. 129 00:05:51,801 --> 00:05:54,830 Invece di avere pi a sette posti forse, con un galleggiante, 130 00:05:54,830 --> 00:05:56,710 possiamo forse avere a 30 posti. 131 00:05:56,710 --> 00:05:59,824 Se questo è importante, si potrebbe desiderare utilizzare una doppia invece di un galleggiante. 132 00:05:59,824 --> 00:06:01,740 In sostanza, se siete lavorando su qualcosa in cui 133 00:06:01,740 --> 00:06:06,540 avere un decimale molto lungo e molta precisione è importante, 134 00:06:06,540 --> 00:06:08,630 probabilmente si desidera utilizzare un doppio overfloat. 135 00:06:08,630 --> 00:06:11,250 Ora, per la maggior parte del vostro lavoro in CS50, un galleggiante dovrebbe essere sufficiente. 136 00:06:11,250 --> 00:06:15,340 Ma sanno che esistono raddoppia come un modo per affrontare alquanto con la precisione 137 00:06:15,340 --> 00:06:20,980 problema dando un extra di 32 bit per lavorare con per i numeri. 138 00:06:20,980 --> 00:06:23,650 >> Ora questo non è un tipo di dati. 139 00:06:23,650 --> 00:06:24,390 Questo è un tipo. 140 00:06:24,390 --> 00:06:25,340 E si chiama vuoto. 141 00:06:25,340 --> 00:06:27,506 E sto parlando di esso qui perché abbiamo probabilmente 142 00:06:27,506 --> 00:06:29,520 visto un paio di volte già in CS50. 143 00:06:29,520 --> 00:06:32,020 E si potrebbe chiedere che cosa è interamente circa. 144 00:06:32,020 --> 00:06:33,390 >> Quindi vuoto è un tipo. 145 00:06:33,390 --> 00:06:34,097 Essa esiste. 146 00:06:34,097 --> 00:06:35,180 Ma non è un tipo di dati. 147 00:06:35,180 --> 00:06:39,350 >> Non possiamo creare una variabile di tipo annullare e assegnare un valore ad essa. 148 00:06:39,350 --> 00:06:42,519 Ma funzioni, per esempio, può avere un tipo restituito nulla. 149 00:06:42,519 --> 00:06:45,060 In sostanza, se si vede una funzione che ha un tipo di ritorno vuoto, 150 00:06:45,060 --> 00:06:46,970 vuol dire che non restituisce un valore. 151 00:06:46,970 --> 00:06:49,440 Riuscite a pensare a un comune funzione che abbiamo usato finora 152 00:06:49,440 --> 00:06:52,780 in CS50 che non restituisce un valore? 153 00:06:52,780 --> 00:06:54,700 >> Printf è uno. 154 00:06:54,700 --> 00:06:56,820 Printf non lo fa in realtà restituire niente. 155 00:06:56,820 --> 00:06:59,850 Esso stampa qualcosa al schermo, ed è fondamentalmente 156 00:06:59,850 --> 00:07:01,650 un effetto collaterale di quello che printf fa. 157 00:07:01,650 --> 00:07:03,620 Ma non ti dà un valore indietro. 158 00:07:03,620 --> 00:07:08,419 Non acquisire il risultato e negozio in qualche variabile utilizzare in seguito. 159 00:07:08,419 --> 00:07:10,710 E 'solo qualcosa da stampare lo schermo e il gioco è fatto. 160 00:07:10,710 --> 00:07:14,360 >> Quindi diciamo che printf è una funzione void. 161 00:07:14,360 --> 00:07:16,450 Esso restituisce nulla. 162 00:07:16,450 --> 00:07:18,580 >> L'elenco perimetro di un funzione può anche essere vuoto. 163 00:07:18,580 --> 00:07:21,410 E hai visto anche che un po 'in CS50 troppo. 164 00:07:21,410 --> 00:07:22,300 Int void main. 165 00:07:22,300 --> 00:07:23,260 Ritiene che suonare un campanello? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 In pratica ciò significa che principale non prende alcun parametro. 168 00:07:27,220 --> 00:07:29,520 Non c'è alcun argomento che avere superato in principale. 169 00:07:29,520 --> 00:07:32,780 Ora più avanti vedremo che non c'è un modo per passare argomenti in principale, 170 00:07:32,780 --> 00:07:36,189 ma finora quello che abbiamo visto è int void main. 171 00:07:36,189 --> 00:07:37,730 Principale semplicemente non prende alcun argomento. 172 00:07:37,730 --> 00:07:40,236 E così si precisa che col dire nulla. 173 00:07:40,236 --> 00:07:42,110 Stiamo solo essere molto esplicito sul fatto 174 00:07:42,110 --> 00:07:44,430 che non richiede alcun argomento. 175 00:07:44,430 --> 00:07:47,160 >> Quindi per ora, è sufficiente dire che nulla in fondo 176 00:07:47,160 --> 00:07:50,789 deve solo servire come segnaposto per voi come pensare a come nulla. 177 00:07:50,789 --> 00:07:52,080 Non è davvero fare nulla. 178 00:07:52,080 --> 00:07:53,550 Non c'è valore di ritorno qui. 179 00:07:53,550 --> 00:07:54,770 Non c'è nessun parametro qui. 180 00:07:54,770 --> 00:07:55,709 E 'vuoto. 181 00:07:55,709 --> 00:07:57,250 E 'un po' più complesso di così. 182 00:07:57,250 --> 00:08:00,640 Ma questo dovrebbe essere sufficiente per la parte migliore del corso. 183 00:08:00,640 --> 00:08:05,010 E si spera ora avete un po ' poco più di un concetto di ciò che è nulla. 184 00:08:05,010 --> 00:08:08,460 >> Così quelli sono i cinque tipi Avrete incontro che sono built-in a C. 185 00:08:08,460 --> 00:08:10,670 Ma in CS50 abbiamo anche una biblioteca. 186 00:08:10,670 --> 00:08:13,550 CS50.h, che è possibile includere. 187 00:08:13,550 --> 00:08:15,930 E che vi fornirà con due ulteriori tipi 188 00:08:15,930 --> 00:08:18,280 che probabilmente sarete in grado da utilizzare sui vostri compiti, 189 00:08:18,280 --> 00:08:21,210 o semplicemente di lavoro in generale la programmazione. 190 00:08:21,210 --> 00:08:23,030 >> Il primo di questi è bool. 191 00:08:23,030 --> 00:08:26,780 Così il tipo di dati booleano, bool, viene utilizzato per le variabili 192 00:08:26,780 --> 00:08:28,114 che si memorizzare un valore booleano. 193 00:08:28,114 --> 00:08:29,863 Se hai mai sentito parlare questo termine prima, 194 00:08:29,863 --> 00:08:31,960 potrebbe sapere che un valore booleano valore è capace di soli 195 00:08:31,960 --> 00:08:34,440 tiene due diversi valori distinti. 196 00:08:34,440 --> 00:08:35,872 Vero e falso. 197 00:08:35,872 --> 00:08:37,580 Ora, questo sembra abbastanza fondamentale, giusto? 198 00:08:37,580 --> 00:08:40,496 E 'una specie di una sorpresa che questo non esiste in C come è built-in. 199 00:08:40,496 --> 00:08:42,640 E in molte lingue moderne, naturalmente, booleani 200 00:08:42,640 --> 00:08:45,390 sono un tipo di dati standard di default. 201 00:08:45,390 --> 00:08:47,192 Ma in C, non sono in realtà. 202 00:08:47,192 --> 00:08:48,400 Ma abbiamo creato per voi. 203 00:08:48,400 --> 00:08:51,910 Quindi, se mai bisogno di creare una variabile il cui tipo è bool, 204 00:08:51,910 --> 00:08:55,230 tanto per essere sicuro di #include CS50.h all'inizio del vostro programma, 205 00:08:55,230 --> 00:08:57,800 e sarete in grado di creare variabili di tipo bool. 206 00:08:57,800 --> 00:09:02,095 >> Se si dimentica di #include CS50.h, e di iniziare a utilizzare le variabili di tipo booleano, 207 00:09:02,095 --> 00:09:04,970 si possono incontrare alcuni problemi quando si sta compilando il vostro programma. 208 00:09:04,970 --> 00:09:06,490 Quindi, solo essere alla ricerca per questo. 209 00:09:06,490 --> 00:09:11,180 E forse si può solo fissare la problemi di libbra compreso CS50.h. 210 00:09:11,180 --> 00:09:14,590 >> L'altro grande tipo di dati che abbiamo fornire per voi nella biblioteca CS50 211 00:09:14,590 --> 00:09:15,670 è stringa. 212 00:09:15,670 --> 00:09:17,130 Così che cosa è una stringa? 213 00:09:17,130 --> 00:09:18,520 Le stringhe sono davvero solo parole. 214 00:09:18,520 --> 00:09:20,000 Sono collezioni di caratteri. 215 00:09:20,000 --> 00:09:20,640 Sono parole. 216 00:09:20,640 --> 00:09:21,390 Sono frasi. 217 00:09:21,390 --> 00:09:22,480 Sono paragrafi. 218 00:09:22,480 --> 00:09:25,850 Potrebbe essere interi libri, anche. 219 00:09:25,850 --> 00:09:29,690 >> Molto breve a molto lungo serie di caratteri. 220 00:09:29,690 --> 00:09:34,310 Se avete bisogno di usare le stringhe, per esempio, per memorizzare una parola, 221 00:09:34,310 --> 00:09:37,609 tanto per essere sicuro di includere CS50.h all'inizio del vostro programma 222 00:09:37,609 --> 00:09:38,900 in modo da poter utilizzare il tipo di stringa. 223 00:09:38,900 --> 00:09:43,910 E allora si può creare variabili il cui tipo di dati è una stringa. 224 00:09:43,910 --> 00:09:46,160 Ora più avanti nel corso, ci sarà anche vedere che questo è 225 00:09:46,160 --> 00:09:47,752 Non tutta la storia, neanche. 226 00:09:47,752 --> 00:09:49,460 Ci incontreremo cose chiamati strutture, 227 00:09:49,460 --> 00:09:54,249 che vi permetterà di raggruppare ciò che può essere un intero e una stringa in una sola unità. 228 00:09:54,249 --> 00:09:56,290 E possiamo usare quella per uno scopo, che potrebbe 229 00:09:56,290 --> 00:09:57,750 tornare utile più avanti nel corso. 230 00:09:57,750 --> 00:09:59,500 >> E ci sarà anche imparare su tipi definiti, 231 00:09:59,500 --> 00:10:01,720 che ti permettono di creare i propri tipi di dati. 232 00:10:01,720 --> 00:10:03,060 Non abbiamo bisogno di preoccuparsi a tale proposito per ora. 233 00:10:03,060 --> 00:10:04,550 Ma sappiamo che questo è qualcosa all'orizzonte, 234 00:10:04,550 --> 00:10:07,633 che ci sia molto di più di tutto questo cosa tipo di quello che ti sto dicendo solo 235 00:10:07,633 --> 00:10:08,133 adesso. 236 00:10:08,133 --> 00:10:10,591 Quindi, ora che abbiamo imparato po 'su i dati di base 237 00:10:10,591 --> 00:10:14,230 tipi e tipi di dati CS50, diamo parlare di come lavorare con le variabili 238 00:10:14,230 --> 00:10:18,530 e crearli utilizzando questi tipi di dati nei nostri programmi. 239 00:10:18,530 --> 00:10:22,670 Se si desidera creare una variabile, tutto quello che dovete fare è due cose. 240 00:10:22,670 --> 00:10:24,147 >> In primo luogo, è necessario dare un tipo. 241 00:10:24,147 --> 00:10:26,230 La seconda cosa che dovete a fare è dargli un nome. 242 00:10:26,230 --> 00:10:28,740 Una volta fatto questo e schiaffeggiato un punto e virgola alla fine di quella linea, 243 00:10:28,740 --> 00:10:29,830 hai creato una variabile. 244 00:10:29,830 --> 00:10:32,370 >> Quindi, ecco due esempi. 245 00:10:32,370 --> 00:10:35,744 Int numero; lettera char ;. 246 00:10:35,744 --> 00:10:36,660 Che cosa ho fatto qui? 247 00:10:36,660 --> 00:10:38,110 Ho creato due variabili. 248 00:10:38,110 --> 00:10:40,190 >> La prima, la variabile di nome è il numero. 249 00:10:40,190 --> 00:10:44,830 E il numero è in grado di contenere interi digitare i valori, perché il suo tipo è int. 250 00:10:44,830 --> 00:10:48,040 Lettera è un'altra variabile che può contenere caratteri 251 00:10:48,040 --> 00:10:50,240 perché il suo tipo di dati è char. 252 00:10:50,240 --> 00:10:51,772 >> Abbastanza semplice, giusto? 253 00:10:51,772 --> 00:10:53,480 Se vi trovate in una situazione in cui 254 00:10:53,480 --> 00:10:56,250 è necessario creare più variabili dello stesso tipo, 255 00:10:56,250 --> 00:10:58,740 avete solo bisogno di specificare il nome del tipo una volta. 256 00:10:58,740 --> 00:11:01,600 Poi basta elencare quante variabili di quel tipo di cui hai bisogno. 257 00:11:01,600 --> 00:11:04,230 >> Così ho potuto, per esempio, qui in questa terza riga di codice, 258 00:11:04,230 --> 00:11:07,420 dire altezza int ;, nuova linea. 259 00:11:07,420 --> 00:11:08,291 Larghezza Int ;. 260 00:11:08,291 --> 00:11:09,290 E che avrebbe funzionato anche. 261 00:11:09,290 --> 00:11:12,039 Mi piacerebbe ancora ottenere due variabili chiamato altezza e larghezza, ciascuna delle quali 262 00:11:12,039 --> 00:11:12,730 è un numero intero. 263 00:11:12,730 --> 00:11:16,970 Ma mi è permesso, le cose per la sintassi C, consolidare in una singola linea. 264 00:11:16,970 --> 00:11:20,230 Altezza Int, larghezza; È la stessa cosa. 265 00:11:20,230 --> 00:11:23,900 Ho creato due variabili, una chiamata altezza uno chiamato larghezza, entrambi 266 00:11:23,900 --> 00:11:26,730 sono in grado di partecipazione valori di tipo integer. 267 00:11:26,730 --> 00:11:30,920 >> Allo stesso modo qui, posso creare tre valori a virgola mobile in una volta. 268 00:11:30,920 --> 00:11:33,350 Posso forse creare una variabile chiamato radice quadrata di 2-- 269 00:11:33,350 --> 00:11:35,766 che presumibilmente finirà tenere la Point-- galleggiante 270 00:11:35,766 --> 00:11:39,222 che la rappresentazione della piazza radice di 2-- radice quadrata di 3, e pi greco. 271 00:11:39,222 --> 00:11:41,180 Avrei potuto fare questo su tre linee separate. 272 00:11:41,180 --> 00:11:47,690 Galleggiante, radice quadrata 2; Float radice quadrata 3; float pi; e che avrebbe funzionato anche. 273 00:11:47,690 --> 00:11:50,590 >> Ma ancora una volta, posso solo consolidare questo in una sola riga di codice. 274 00:11:50,590 --> 00:11:54,050 Rende le cose un po ' più corto, non come goffo. 275 00:11:54,050 --> 00:11:57,259 >> Ora, in generale, è il buon design a solo dichiarare una variabile quando ne avete bisogno. 276 00:11:57,259 --> 00:11:59,050 E parleremo un po ' po 'di più su questo 277 00:11:59,050 --> 00:12:00,945 più avanti nel corso quando discuteremo ambito. 278 00:12:00,945 --> 00:12:03,320 Quindi non necessariamente bisogno di creare tutte le variabili 279 00:12:03,320 --> 00:12:05,990 all'inizio del programma, che alcune persone potrebbero aver fatto il passato, 280 00:12:05,990 --> 00:12:08,700 o era certamente molto comune pratica di codifica molti anni fa 281 00:12:08,700 --> 00:12:11,700 quando si lavora con C. Si potrebbe solo vuole creare un diritto variabile quando 282 00:12:11,700 --> 00:12:13,140 ne hai bisogno. 283 00:12:13,140 --> 00:12:13,640 Tutto ok. 284 00:12:13,640 --> 00:12:15,150 Per questo abbiamo creato variabili. 285 00:12:15,150 --> 00:12:16,790 Come li usiamo? 286 00:12:16,790 --> 00:12:18,650 Dopo dichiariamo un variabili, non abbiamo bisogno di 287 00:12:18,650 --> 00:12:21,237 per specificare il tipo di dati di quella variabile più. 288 00:12:21,237 --> 00:12:24,070 Infatti, se lo fate, si potrebbe finire con alcune conseguenze strane 289 00:12:24,070 --> 00:12:25,490 che saremo tipo di sorvolare per ora. 290 00:12:25,490 --> 00:12:27,365 Ma è sufficiente dire, cose strane stanno andando 291 00:12:27,365 --> 00:12:30,740 per iniziare accadendo se inavvertitamente ri-dichiarare le variabili con lo stesso nome 292 00:12:30,740 --> 00:12:32,210 ancora ed ancora. 293 00:12:32,210 --> 00:12:33,882 >> Così qui ho quattro righe di codice. 294 00:12:33,882 --> 00:12:36,090 E ho un paio di commenti ci indicano solo 295 00:12:36,090 --> 00:12:37,840 quello che sta succedendo su ogni riga solo per aiutare 296 00:12:37,840 --> 00:12:40,520 si ottiene situato in quello che sta succedendo. 297 00:12:40,520 --> 00:12:41,520 Numero così int ;. 298 00:12:41,520 --> 00:12:42,520 Hai visto che in precedenza. 299 00:12:42,520 --> 00:12:44,000 Questa è una dichiarazione di variabile. 300 00:12:44,000 --> 00:12:46,670 >> Ora ho creato una variabile numero chiamato che è 301 00:12:46,670 --> 00:12:48,970 capace di contenere i valori del tipo Integer. 302 00:12:48,970 --> 00:12:50,210 Ho dichiarato che. 303 00:12:50,210 --> 00:12:53,770 >> La riga successiva che sto assegnando un valore di numero. 304 00:12:53,770 --> 00:12:54,992 Numero è uguale 17. 305 00:12:54,992 --> 00:12:55,950 Cosa sta succedendo lì? 306 00:12:55,950 --> 00:12:58,880 Sto mettendo il numero 17 all'interno di tale variabile. 307 00:12:58,880 --> 00:13:02,760 >> Quindi, se mai poi stampare cosa il contenuto del numero sono seguito, 308 00:13:02,760 --> 00:13:04,030 faranno mi dicono che è 17. 309 00:13:04,030 --> 00:13:07,030 Così ho dichiarato una variabile, e poi ho assegnato. 310 00:13:07,030 --> 00:13:10,570 >> Siamo in grado di ripetere il processo ancora una volta con la lettera char ;. 311 00:13:10,570 --> 00:13:11,640 Questa è una dichiarazione. 312 00:13:11,640 --> 00:13:14,010 Lettera uguale capitale H. Questo è un incarico. 313 00:13:14,010 --> 00:13:16,030 Piuttosto semplice, anche. 314 00:13:16,030 --> 00:13:18,319 >> Ora, questo processo potrebbe sembra tipo di sciocco. 315 00:13:18,319 --> 00:13:20,110 Perché stiamo facendo questo in due righe di codice? 316 00:13:20,110 --> 00:13:21,401 C'è un modo migliore per farlo? 317 00:13:21,401 --> 00:13:22,250 In realtà, non c'è. 318 00:13:22,250 --> 00:13:24,375 A volte si potrebbe vedere questa chiamata inizializzazione. 319 00:13:24,375 --> 00:13:28,446 E 'quando si dichiara una variabile e assegnare un valore allo stesso tempo. 320 00:13:28,446 --> 00:13:30,320 Questo è in realtà una bella cosa comune da fare. 321 00:13:30,320 --> 00:13:32,870 Quando si crea una variabile, di solito desidera avere un certo valore di base. 322 00:13:32,870 --> 00:13:34,330 Anche se è 0 o qualcosa del genere. 323 00:13:34,330 --> 00:13:36,180 Devi solo si dà un valore. 324 00:13:36,180 --> 00:13:38,360 >> È possibile inizializzare una variabile. 325 00:13:38,360 --> 00:13:42,320 Int numero uguale 17 è uguale le prime due righe di codice in alto. 326 00:13:42,320 --> 00:13:46,829 Char lettera uguale h è lo stesso come il terza e quarta riga di codice di cui sopra. 327 00:13:46,829 --> 00:13:49,620 L'asporto più importante qui quando siamo dichiarazione e l'assegnazione 328 00:13:49,620 --> 00:13:51,740 variabili è dopo che abbiamo dichiarato, avviso 329 00:13:51,740 --> 00:13:53,700 Non sto usando di nuovo il tipo di dati. 330 00:13:53,700 --> 00:13:57,916 Non sto dicendo che int numero uguale a 17 su la seconda riga di codice, per esempio. 331 00:13:57,916 --> 00:13:59,290 Sto solo dicendo numero è uguale 17. 332 00:13:59,290 --> 00:14:02,537 >> Anche in questo caso, ri-dichiarazione di una variabile dopo hai già dichiarato può portare 333 00:14:02,537 --> 00:14:03,620 a qualche conseguenza strano. 334 00:14:03,620 --> 00:14:05,950 Quindi, solo stare attenti a questo. 335 00:14:05,950 --> 00:14:06,660 >> Sono Doug Lloyd. 336 00:14:06,660 --> 00:14:08,870 E questo è CS50. 337 00:14:08,870 --> 00:14:10,499