1 00:00:00,000 --> 00:00:00,400 2 00:00:00,400 --> 00:00:02,720 >> SPEAKER: Bedenk dat alles onder de motorkap van een computer is 3 00:00:02,720 --> 00:00:03,900 opgeslagen met bits. 4 00:00:03,900 --> 00:00:06,320 En bits zijn beurt kan worden gebruikt om nummers te vertegenwoordigen. 5 00:00:06,320 --> 00:00:09,020 En getallen zijn beurt kan worden gebruikt om tekens te vertegenwoordigen. 6 00:00:09,020 --> 00:00:12,530 In feite bestaat er een conventioneel mapping tussen deze cijfers en 7 00:00:12,530 --> 00:00:14,260 brieven, genaamd ASCII - 8 00:00:14,260 --> 00:00:17,130 American Standard Code for Information Interchange. 9 00:00:17,130 --> 00:00:20,460 >> Nu met C, het blijkt dat we kunnen zien deze gelijkwaardigheid, omdat we niet 10 00:00:20,460 --> 00:00:24,400 alleen ints, hebben we ook chars, beide waarbij aan het eind van de dag 11 00:00:24,400 --> 00:00:27,240 worden weergegeven als nummers en, beurtelings, bits. 12 00:00:27,240 --> 00:00:30,850 Dus laten we schrijven een eenvoudig programma dat gewoon vertelt me ​​wat het in kaart brengen is 13 00:00:30,850 --> 00:00:37,650 tussen cijfers en letters, rekening houdend met erg dat 65 is een hoofdletter A en 97 14 00:00:37,650 --> 00:00:39,080 is een kleine letter een. 15 00:00:39,080 --> 00:00:40,630 Laten we beginnen. 16 00:00:40,630 --> 00:00:49,680 >> "Omvat standaard I / O punt h." "Int belangrijkste leegte. "En nu wil ik graag 17 00:00:49,680 --> 00:00:53,380 itereren over alle hoofdletters afdrukken van hun numerieke en 18 00:00:53,380 --> 00:00:54,680 karakter equivalenten. 19 00:00:54,680 --> 00:00:56,960 Dus voor deze, zal ik gebruik maken van een lus "voor". 20 00:00:56,960 --> 00:00:59,560 "Voor int i krijgt - 21 00:00:59,560 --> 00:01:03,120 en nu, in plaats beginnen bij de gebruikelijke 0, waarom niet ik beginnen bij een waarde 22 00:01:03,120 --> 00:01:07,130 Ik weet significant, zoals 65 voor hoofdletter A? 23 00:01:07,130 --> 00:01:10,300 Laten we dit doen, zo lang is i is kleiner dan - 24 00:01:10,300 --> 00:01:10,600 um - 25 00:01:10,600 --> 00:01:17,190 65 plus 26, omdat ik er weet zijn 26 letters in het alfabet. 26 00:01:17,190 --> 00:01:20,840 En vervolgens elke variant van dit lus, laat me i met 1 verhoogd. 27 00:01:20,840 --> 00:01:23,640 >> Nu op elke variant van dit lus, wat wil ik doen? 28 00:01:23,640 --> 00:01:27,390 Ik wil graag uitprinten wat de huidige nummer i en welke 29 00:01:27,390 --> 00:01:29,570 overeenkomstige char is. 30 00:01:29,570 --> 00:01:34,920 Nu, om dat te bereiken, kan ik gegoten, zodat te spreken, de int naar een char in de 31 00:01:34,920 --> 00:01:37,800 volgende wijze. 32 00:01:37,800 --> 00:01:45,830 "Print f% i is% c backslash n" In Met andere woorden, wil ik zeggen, dit 33 00:01:45,830 --> 00:01:48,350 nummer is dit karakter. 34 00:01:48,350 --> 00:01:51,940 Dus ik moet de stekker in twee waarden voor deze plaats houders voor print f, dus 35 00:01:51,940 --> 00:01:55,130 - Ik zal komma i, komma doen 36 00:01:55,130 --> 00:01:58,400 >> Nu denk ik niet een variabele c hebben of een char, maar ik heb wel een aantal. 37 00:01:58,400 --> 00:02:01,940 En ik weet dat nummers kunnen worden toegewezen aan brieven, ik moet gewoon vertellen de 38 00:02:01,940 --> 00:02:03,230 computer om dat te doen. 39 00:02:03,230 --> 00:02:09,020 En zo kan ik i gegoten uit een int naar een char, simpelweg door het specificeren in 40 00:02:09,020 --> 00:02:12,850 haakjes dat ik zou heel graag willen! om te zetten naar een char. 41 00:02:12,850 --> 00:02:17,440 >> Laten we sluiten nu deze verklaring, sparen het bestand, en dit programma samen te stellen. 42 00:02:17,440 --> 00:02:23,590 "Make ascii 0 dot slash ascii 0." En zeer snel af te drukken op het scherm als 43 00:02:23,590 --> 00:02:26,760 Deze mapping tussen de nummers en hun karakter equivalenten. 44 00:02:26,760 --> 00:02:31,920 In feite, als ik scroll back-up, ik voor het eerst zien dat 65 A is, 66 is B, en als ik 45 00:02:31,920 --> 00:02:35,520 scroll naar beneden, 90 is Z. 46 00:02:35,520 --> 00:02:35,597