1 00:00:00,000 --> 00:00:00,400 2 00:00:00,400 --> 00:00:02,720 >> Spreker: Onthou dat alles onder die enjinkap van 'n rekenaar is 3 00:00:02,720 --> 00:00:03,900 gestoor gebruik stukkies. 4 00:00:03,900 --> 00:00:06,320 En stukkies, op sy beurt, kan gebruik word getalle voor te stel. 5 00:00:06,320 --> 00:00:09,020 En nommers, op sy beurt, kan gebruik word karakters voor te stel. 6 00:00:09,020 --> 00:00:12,530 In werklikheid, is daar 'n konvensionele kartering tussen die getalle en 7 00:00:12,530 --> 00:00:14,260 letters, die sogenaamde ASCII - 8 00:00:14,260 --> 00:00:17,130 American Standard Code for Inligting wisselaar. 9 00:00:17,130 --> 00:00:20,460 >> Nou met C, dit blyk dat ons kan sien hierdie ekwivalensie, omdat ons nie 10 00:00:20,460 --> 00:00:24,400 net ints het, het ons ook karakters, beide waarvan aan die einde van die dag 11 00:00:24,400 --> 00:00:27,240 verteenwoordig word as getalle en op sy beurt, stukkies. 12 00:00:27,240 --> 00:00:30,850 So laat ons skryf 'n eenvoudige program wat eenvoudig sê vir my wat die kartering 13 00:00:30,850 --> 00:00:37,650 tussen getalle en letters, hou in mind dat 65 is 'n kapitale A en 97 14 00:00:37,650 --> 00:00:39,080 is 'n laer geval a. 15 00:00:39,080 --> 00:00:40,630 Kom ons begin. 16 00:00:40,630 --> 00:00:49,680 >> "Sluit in standaard I / O dot h." "Int belangrikste leemte. "En nou, ek wil 17 00:00:49,680 --> 00:00:53,380 Itereer oor al die hoofletters uit te druk hul numeriese en 18 00:00:53,380 --> 00:00:54,680 karakter ekwivalente. 19 00:00:54,680 --> 00:00:56,960 So vir hierdie, ek sal gebruik om 'n lus "vir". 20 00:00:56,960 --> 00:00:59,560 "Vir int i kry - 21 00:00:59,560 --> 00:01:03,120 en nou, eerder as om te begin by die gewone 0, hoekom nie ek begin by 'n waarde 22 00:01:03,120 --> 00:01:07,130 Ek weet betekenisvol, soos 65 vir kapitale A? 23 00:01:07,130 --> 00:01:10,300 Kom ons doen dit, so lank is ek is minder as - 24 00:01:10,300 --> 00:01:10,600 um - 25 00:01:10,600 --> 00:01:17,190 65 plus 26, want ek weet daar is 26 letters in die alfabet. 26 00:01:17,190 --> 00:01:20,840 En dan op elke iterasie van hierdie lus, laat my inkrementeer i deur 1. 27 00:01:20,840 --> 00:01:23,640 >> Nou, op elke iterasie van hierdie lus, wat wil ek doen? 28 00:01:23,640 --> 00:01:27,390 Ek wil graag om uit te druk wat die huidige getal is ek, en wat die 29 00:01:27,390 --> 00:01:29,570 ooreenstemmende kar is. 30 00:01:29,570 --> 00:01:34,920 Nou, om dit te bereik, kan ek werp, sodat te spreek, het die int 'n kar in die 31 00:01:34,920 --> 00:01:37,800 volgende manier. 32 00:01:37,800 --> 00:01:45,830 "Druk f% i is% c backslash n" In ander woorde, ek wil sê, is hierdie 33 00:01:45,830 --> 00:01:48,350 getal is hierdie karakter. 34 00:01:48,350 --> 00:01:51,940 So ek nodig het om te prop in twee waardes aan hierdie plekhouers vir die druk f, so 35 00:01:51,940 --> 00:01:55,130 - Ek sal komma i, komma doen 36 00:01:55,130 --> 00:01:58,400 >> Nou, ek het nie 'n veranderlike c nie of 'n kar nie, maar ek het 'n nommer. 37 00:01:58,400 --> 00:02:01,940 En ek weet dat getalle kan gekarteer word om briewe, ek moet net om te vertel die 38 00:02:01,940 --> 00:02:03,230 rekenaar wat om te doen. 39 00:02:03,230 --> 00:02:09,020 En so kan ek i gooi van 'n int te 'n kar, net deur die spesifiseer in 40 00:02:09,020 --> 00:02:12,850 hakies wat ek wil baie graag om dit te omskep in 'n kar. 41 00:02:12,850 --> 00:02:17,440 >> Kom ons sluit nou hierdie stelling nie, behalwe die lêer, en stel hierdie program. 42 00:02:17,440 --> 00:02:23,590 "Maak ascii 0 dot streep ascii 0." En baie vinnig te druk op die skerm as 43 00:02:23,590 --> 00:02:26,760 hierdie kartering tussen getalle en hul karakter ekwivalente. 44 00:02:26,760 --> 00:02:31,920 In werklikheid, as ek blaai terug, het ek eers sien dat 65 is A, B 66 is, en as ek 45 00:02:31,920 --> 00:02:35,520 blaai terug, 90 is Z. 46 00:02:35,520 --> 00:02:35,597