1 00:00:00,000 --> 00:00:00,400 2 00:00:00,400 --> 00:00:02,720 >> SPEAKER: Ricordiamo che tutto sotto il cofano di un computer è 3 00:00:02,720 --> 00:00:03,900 memorizzato utilizzando bit. 4 00:00:03,900 --> 00:00:06,320 E bit, a loro volta, possono essere utilizzati per rappresentare i numeri. 5 00:00:06,320 --> 00:00:09,020 E numeri, a loro volta, possono essere utilizzati per rappresentare i caratteri. 6 00:00:09,020 --> 00:00:12,530 Infatti, esiste una convenzionale mappatura tra quei numeri e 7 00:00:12,530 --> 00:00:14,260 lettere, chiamato ASCII - 8 00:00:14,260 --> 00:00:17,130 American Standard Code per Informazioni Interchange. 9 00:00:17,130 --> 00:00:20,460 >> Ora con C, si scopre che possiamo vedere questa equivalenza, perché non 10 00:00:20,460 --> 00:00:24,400 hanno solo interi, abbiamo anche caratteri, sia di cui alla fine della giornata 11 00:00:24,400 --> 00:00:27,240 sono rappresentate da numeri e, a sua volta, bit. 12 00:00:27,240 --> 00:00:30,850 Quindi cerchiamo di scrivere un semplice programma che semplicemente mi dice che cosa la mappatura è 13 00:00:30,850 --> 00:00:37,650 tra numeri e lettere, tenendo importa che 65 è la A maiuscola e 97 14 00:00:37,650 --> 00:00:39,080 è un caso un minore. 15 00:00:39,080 --> 00:00:40,630 Cominciamo. 16 00:00:40,630 --> 00:00:49,680 >> "Include I / O standard dot h." "Int void main. «E ora mi piacerebbe 17 00:00:49,680 --> 00:00:53,380 iterare su tutte le lettere maiuscole stampa la loro numerica e 18 00:00:53,380 --> 00:00:54,680 equivalenti di carattere. 19 00:00:54,680 --> 00:00:56,960 Quindi, per questo, io uso un ciclo "for". 20 00:00:56,960 --> 00:00:59,560 "Per int i Gets - 21 00:00:59,560 --> 00:01:03,120 e ora, anziché avviare al solito 0, perché non mi metto ad un valore 22 00:01:03,120 --> 00:01:07,130 So di essere significativo, come il 65 per maiuscola? 23 00:01:07,130 --> 00:01:10,300 Facciamo così, così a lungo è i è inferiore a - 24 00:01:10,300 --> 00:01:10,600 um - 25 00:01:10,600 --> 00:01:17,190 65 più 26, perché non so sono 26 lettere nell'alfabeto. 26 00:01:17,190 --> 00:01:20,840 E quindi ad ogni iterazione di questa loop, mi permetta di incrementare i di di 1. 27 00:01:20,840 --> 00:01:23,640 >> Ora, ad ogni iterazione di questa loop, cosa voglio fare? 28 00:01:23,640 --> 00:01:27,390 Vorrei stampare ciò che l'attuale numero i è e ciò che il 29 00:01:27,390 --> 00:01:29,570 corrispondente char è. 30 00:01:29,570 --> 00:01:34,920 Ora, per ottenere questo, posso lanciare, così a parlare, int a un char in 31 00:01:34,920 --> 00:01:37,800 seguente modo. 32 00:01:37,800 --> 00:01:45,830 "Print f% i è% c backslash n" In altre parole, voglio dire, questo 33 00:01:45,830 --> 00:01:48,350 numero è questo personaggio. 34 00:01:48,350 --> 00:01:51,940 Quindi ho bisogno di collegare due valori per questo segnaposti per la stampa f, così 35 00:01:51,940 --> 00:01:55,130 Farò comma i, comma - 36 00:01:55,130 --> 00:01:58,400 >> Ora, io non ho un c variabile o un char, ma io ho un numero. 37 00:01:58,400 --> 00:02:01,940 E so che i numeri possono essere mappati lettere, ho semplicemente bisogno di raccontare la 38 00:02:01,940 --> 00:02:03,230 computer per farlo. 39 00:02:03,230 --> 00:02:09,020 E così posso lanciare i da un int a un char, semplicemente specificando in 40 00:02:09,020 --> 00:02:12,850 parentesi che avevo davvero come per convertirlo in un char. 41 00:02:12,850 --> 00:02:17,440 >> Chiudiamo ora questa dichiarazione, salva il file e compilare questo programma. 42 00:02:17,440 --> 00:02:23,590 "Make ascii 0 dot barra ascii 0". E stampare molto rapidamente sullo schermo come 43 00:02:23,590 --> 00:02:26,760 questa mappatura tra i numeri e loro equivalenti carattere. 44 00:02:26,760 --> 00:02:31,920 In realtà, se ho scorrere il backup, ho vedere che 65 è A, 66 è B, e se io 45 00:02:31,920 --> 00:02:35,520 scorrere indietro, 90 è Z. 46 00:02:35,520 --> 00:02:35,597