1 00:00:00,000 --> 00:00:10,103 2 00:00:10,103 --> 00:00:11,270 >> ZAMYLA CHAN: Zorionak Zure bukatzean 3 00:00:11,270 --> 00:00:13,200 C programen pare lehen. 4 00:00:13,200 --> 00:00:16,379 Badakit zure lehen egindako saiakera bihurtzen dela C sintaxia gogorra izan daiteke. 5 00:00:16,379 --> 00:00:20,060 Baina zuk ziurtatzen dut, eta amaieran noski, ahal izango begiratu beharko duzu 6 00:00:20,060 --> 00:00:23,870 Lehenengo zereginak pare eta horiek osatzeko minutuan. 7 00:00:23,870 --> 00:00:27,830 >> Orain ari zaren gehiago ezagutzen lortzean sintaxia batera, Goazen Zesar iritsi. 8 00:00:27,830 --> 00:00:31,720 Zesarri, erabiltzaileak bat aurkeztuko du komando-lerro bat gako osokoa 9 00:00:31,720 --> 00:00:35,300 argumentua, eta sartu lautada batean text gonbitan mezua. 10 00:00:35,300 --> 00:00:38,050 Programa egingo encipher testua eta inprimatu 11 00:00:38,050 --> 00:00:40,020 ciphertext beren mezua. 12 00:00:40,020 --> 00:00:42,980 >> César for enciphering du nahiko erraza da. 13 00:00:42,980 --> 00:00:46,455 Shift gutun den, euren testu soila, gakoak. 14 00:00:46,455 --> 00:00:49,220 Ondorioz, baita ere, da Nahiko ziurra. 15 00:00:49,220 --> 00:00:53,850 Baina ezartzeko César egingo sartzea gaitu ASCIIMath eta array datuak 16 00:00:53,850 --> 00:00:54,460 egiturak. 17 00:00:54,460 --> 00:00:57,510 Konplexuagoa ikusiko dugu zifraketen geroago. 18 00:00:57,510 --> 00:01:01,680 2 giltza Caesar, a letra batean testu arrunta izango litzateke irudikatzen 19 00:01:01,680 --> 00:01:07,580 ciphertext C hizkia C delako bi A. B ondoren letrak litzateke 20 00:01:07,580 --> 00:01:12,450 D eta C irudikatzen E. by Hacia alfabetoaren bukaeran, W da 21 00:01:12,450 --> 00:01:18,550 Y, eta X irudikatzen Z. Baina Y ez du bi letrak ondoren, beraz, 22 00:01:18,550 --> 00:01:21,070 zifraketen alfabetoaren inguruan biltzen. 23 00:01:21,070 --> 00:01:27,190 Testu arruntean Y horrela irudikatzen arabera Ciphertext A, B eta Z daiteke arabera 24 00:01:27,190 --> 00:01:32,080 laguntzeko César Cypher ikusi nahi etengabeko alfabetoa gurpila. 25 00:01:32,080 --> 00:01:35,760 >> Bere testua, erabiltzaileak nahi encipher Bi argumentu sartuko 26 00:01:35,760 --> 00:01:37,090 komando-lerroa sartu - 27 00:01:37,090 --> 00:01:40,010 . / César gako bat. 28 00:01:40,010 --> 00:01:44,710 Beti bezala, ez dugu fidatu erabiltzailea erabat sarrera osatzen duten sartu 29 00:01:44,710 --> 00:01:45,800 gure programa zentzua. 30 00:01:45,800 --> 00:01:50,670 Beraz, bere balioztatzeko dugu komando lerro sarrera. 31 00:01:50,670 --> 00:01:57,285 >> Horren ordez, int nagusia void erabiliz, gara int nagusia, int argc, kate argv erabiliz. 32 00:01:57,285 --> 00:02:01,730 Osoko aldagai argc adierazten gainditu sartu argumentu kopurua 33 00:02:01,730 --> 00:02:02,880 komando-lerroa. 34 00:02:02,880 --> 00:02:09,070 Eta argv array bat da, edo pentsatzen zerrenda bat, argudio gainditu sartu 35 00:02:09,070 --> 00:02:12,000 >> Beraz, Zesarri, nola ez dugu baliokidetu erabiltzailearen sarrerako? 36 00:02:12,000 --> 00:02:15,870 Beno, bakarrik behar dira sartzen bi komando-lerroko argumentuak - 37 00:02:15,870 --> 00:02:18,150 . / César eta gakoa. 38 00:02:18,150 --> 00:02:22,340 Beraz argc ez bada, 2, horrek esan nahi du ahaztua bai dute gako bat, eta besterik ez 39 00:02:22,340 --> 00:02:27,230 sartu. / César, edo sartu anitz gakoak. 40 00:02:27,230 --> 00:02:29,770 >> Hori horrela bada, orduan izango duzu nahi argibideak inprimatu nahi 41 00:02:29,770 --> 00:02:30,910 eta irten programatik. 42 00:02:30,910 --> 00:02:34,320 Behar berriro saiatu dira ikusiko komando-lerrotik. 43 00:02:34,320 --> 00:02:37,430 Baina nahiz argc 2, ikusiko duzu egiaztatu behar dute, ala ez 44 00:02:37,430 --> 00:02:39,100 ematen duzu baliozko gakoa. 45 00:02:39,100 --> 00:02:40,730 César baterako, zenbaki oso bat behar duzu. 46 00:02:40,730 --> 00:02:43,260 Baina argv kate multzo bat da. 47 00:02:43,260 --> 00:02:46,490 Nola gako sartzeko duzu? 48 00:02:46,490 --> 00:02:47,850 >> Array begirada A - 49 00:02:47,850 --> 00:02:51,410 Datu egiturak eutsi anitz du datu-mota bereko baloreak. 50 00:02:51,410 --> 00:02:55,350 Sarrerak zero indexatuetan, esanahi lehen elementuaren indizea zero da 51 00:02:55,350 --> 00:03:00,260 eta azken elementu indizearen tamaina da ken 1, non tamaina zenbaki bat da 52 00:03:00,260 --> 00:03:02,850 en array elementuak. 53 00:03:02,850 --> 00:03:07,380 >> Deklaratu nuen berri bat kate array postontzia bada luzera 3, ikusmen, it 54 00:03:07,380 --> 00:03:08,570 itxura hau. 55 00:03:08,570 --> 00:03:11,520 Hiru kateak edukiontziak , Aldamenean. 56 00:03:11,520 --> 00:03:15,445 Elementu sartzeko, izena idatzi duzu array, eta, ondoren, adierazi 57 00:03:15,445 --> 00:03:18,080 kortxete artean indizea. 58 00:03:18,080 --> 00:03:21,610 Hemen, balio bat naiz esleitzea bakoitzean elementu bezala, edozein nuke 59 00:03:21,610 --> 00:03:24,310 beste aldagai katea. 60 00:03:24,310 --> 00:03:29,020 >> Beraz, gure komando-lerroko argumentuak sartzeko, guztiak egin behar dugu sartzeko 61 00:03:29,020 --> 00:03:31,690 argv array elementu eskubidea. 62 00:03:31,690 --> 00:03:37,360 Erabiltzaile sartu. / Blastoff Team bada Terminal sartu Rocket, argv 0 litzateke 63 00:03:37,360 --> 00:03:38,950 izango da. / blastoff. 64 00:03:38,950 --> 00:03:45,010 argv Team izango litzateke, eta arg2 suziria izango litzateke. 65 00:03:45,010 --> 00:03:47,670 >> Orain dela gure gakoa sartu ahal izango dugu, behar dugu oraindik ere egiteko 66 00:03:47,670 --> 00:03:49,040 Ziur dela zuzena. 67 00:03:49,040 --> 00:03:51,060 Bihurtzeko zenbaki oso bat sartu behar dugu. 68 00:03:51,060 --> 00:03:54,680 Baina ezin dugu besterik gabe bota bezalako egin dugu aldez aurretik. 69 00:03:54,680 --> 00:03:58,800 Zorionez, A Y funtzioa hartzen du zainketa Gurekin honetan, eta are gehiago, 0 itzultzen du 70 00:03:58,800 --> 00:04:02,110 katea ezin bada bihurtu zenbaki oso bat da. 71 00:04:02,110 --> 00:04:04,450 Zer egiten duzu, nahiz eta, kontatzeko Erabiltzaile zergatik ez duzu 72 00:04:04,450 --> 00:04:06,220 utzi programa jarraitzeko. 73 00:04:06,220 --> 00:04:10,710 Denda emaitza Y batean osokoa, eta ez zure gako duzu. 74 00:04:10,710 --> 00:04:12,070 Hurrengo zatia erraza da. 75 00:04:12,070 --> 00:04:15,940 Galdetu duen testu laueko erabiltzailea, hau da, datu-mota katea izan behar du. 76 00:04:15,940 --> 00:04:18,339 Zorionez guretzat, erabiltzaile guztiak sartu kateak egokiak dira. 77 00:04:18,339 --> 00:04:21,170 78 00:04:21,170 --> 00:04:24,760 >> Orain dela beharrezkoa sarrera guztiak dugu erabiltzailearen digu denbora da 79 00:04:24,760 --> 00:04:26,520 encipher beren mezua. 80 00:04:26,520 --> 00:04:29,200 César kontzeptu sinplea da nahikoa ulertzen. 81 00:04:29,200 --> 00:04:33,750 Baina, nola egin zure ordenagailua ez dakigu zein letrak bata bestearen atzetik etorri? 82 00:04:33,750 --> 00:04:36,100 >> Hemen ASCII taula dator sartu 83 00:04:36,100 --> 00:04:39,420 Karaktere bakoitzak zenbaki oso bat dauka zenbakia da lotuta. 84 00:04:39,420 --> 00:04:41,380 Ekipo-A 65 da. 85 00:04:41,380 --> 00:04:43,310 Ekipo-B 66 da. 86 00:04:43,310 --> 00:04:45,260 Minuskula bat da, 97. 87 00:04:45,260 --> 00:04:47,590 Minuskulaz b 98 da. 88 00:04:47,590 --> 00:04:50,770 Baina pertsonaiak ez daude mugatuta besterik alfabetiko zenbakiak. 89 00:04:50,770 --> 00:04:56,020 Adibidez, @ ikurra ASCII kopurua 64 da. 90 00:04:56,020 --> 00:04:59,690 >> Kate osoan aurre egin aurretik, dezagun nahi dute, besterik ez dugu mugitzeko 91 00:04:59,690 --> 00:05:01,220 ko pertsonaia. 92 00:05:01,220 --> 00:05:04,640 Beno, besterik ez dugu nahi, benetako mugitzeko en testu arruntaren letrak, ez 93 00:05:04,640 --> 00:05:06,020 karaktere edo zenbakiak. 94 00:05:06,020 --> 00:05:09,100 Beraz, lehenengo gauza garela nahi izango duzu egiaztatu da pertsonaia ala ez da 95 00:05:09,100 --> 00:05:10,430 alfabetoa. 96 00:05:10,430 --> 00:05:14,460 >> Funtzioa isalpha du honentzat gurekin eta boolear bat itzultzen du - 97 00:05:14,460 --> 00:05:18,570 pertsonaiak bada gutun bat, bestela faltsua bada. 98 00:05:18,570 --> 00:05:22,270 Beste bi funtzio erabilgarria isupper eta islower, batera 99 00:05:22,270 --> 00:05:23,860 auto-azalpen izenak. 100 00:05:23,860 --> 00:05:27,370 Egia itzuliko dira emandako pertsonaia bada da letra larriz edo xehez, 101 00:05:27,370 --> 00:05:28,740 hurrenez hurren. 102 00:05:28,740 --> 00:05:33,770 Dira Booleans geroztik, dute Oraindik erabilgarria baldintza gisa erabiltzeko. 103 00:05:33,770 --> 00:05:38,310 >> Isalpha itzultzen Egia bada, beharko duzu pertsonaia hori mugitzeko gakoak. 104 00:05:38,310 --> 00:05:43,750 Hargatik nahi ASCIIMath ireki eta zer ASCII math batzuk. 105 00:05:43,750 --> 00:05:48,700 Erabilera oso erabilera antzekoa César eta tekla bat hartzen 106 00:05:48,700 --> 00:05:50,870 komando-lerroa. 107 00:05:50,870 --> 00:05:59,590 >> Exekutatu dut ASCIIMath 5 izanez gero, gehitu badirudi 5 bat, me emanez gutun f, eta 108 00:05:59,590 --> 00:06:01,260 ASCII balioa bistaratzeko. 109 00:06:01,260 --> 00:06:04,090 Beraz dezagun programa begirada bat. 110 00:06:04,090 --> 00:06:11,820 >> Buruari galdetzen, zenuke hemen, zergatik gutun oso bat da, noiz da 111 00:06:11,820 --> 00:06:14,330 argi eta garbi, bai, gutun batean. 112 00:06:14,330 --> 00:06:17,690 Bihurtzen da, eta pertsonaiak duten osokoak dira aldagarriak. 113 00:06:17,690 --> 00:06:21,730 Letra bakar bat jarriz arabera komatxo, osokoa dezakezu gordetzeko 114 00:06:21,730 --> 00:06:25,390 kapital ASCII balioa A. Kontuz, baina. 115 00:06:25,390 --> 00:06:27,150 Bakar arropa behar duzu. 116 00:06:27,150 --> 00:06:31,260 Duen aurrekontua bakar markak gabe, konpiladore litzateke aldagai baten bila 117 00:06:31,260 --> 00:06:35,510 izeneko bat, eta ez pertsonaia. 118 00:06:35,510 --> 00:06:42,140 >> Ondoren, gutun eta gako bat gehitu dut, gordetzeko aldagai int emaitza batura. 119 00:06:42,140 --> 00:06:47,740 Nahiz eta emaitza datuak motakoa da osokoa, nire printf adierazpena erabiltzen 120 00:06:47,740 --> 00:06:50,370 % C karaktere biltegia. 121 00:06:50,370 --> 00:06:54,530 Beraz, programa pertsonaia bistaratzen osoko emaitza lotutako. 122 00:06:54,530 --> 00:07:00,400 Eta inprimatutako dugu osokoa noiztik forma baita% d erabiliz, ikusiko dugun 123 00:07:00,400 --> 00:07:02,110 kopurua ere. 124 00:07:02,110 --> 00:07:04,450 Beraz, orain ikusi ahal izango dituzu, guk tratatzeko eta pertsonaiak 125 00:07:04,450 --> 00:07:06,980 osokoak, eta alderantziz. 126 00:07:06,980 --> 00:07:12,205 >> Dezagun proba ASCIIMath gutxi bat 25 aldiz gehiago erabiltzen gako gisa. 127 00:07:12,205 --> 00:07:15,510 128 00:07:15,510 --> 00:07:17,090 Gutun-z lortzen dugu. 129 00:07:17,090 --> 00:07:19,750 Orain 26 saiatu gara. 130 00:07:19,750 --> 00:07:25,600 Gutun bat lortu nahi dugu, baina ordez ezkerreko tarte bat lortuko dugu. 131 00:07:25,600 --> 00:07:29,490 Beraz, jakina, besterik gehituz Letra gakoa ez egiteko. 132 00:07:29,490 --> 00:07:32,780 Irudikatu nahi formula bat bildu behar dugu alfabetoaren inguruan, gure 133 00:07:32,780 --> 00:07:34,570 hasieran egin zuen adibidez. 134 00:07:34,570 --> 00:07:38,520 >> Zesarren formula bat shift ondorengoa da. 135 00:07:38,520 --> 00:07:42,750 c berdin p plus k modulo 26. 136 00:07:42,750 --> 00:07:46,040 Gogoratu modulo dela baliagarria Eragiketa ematen dizkigun gainerako 137 00:07:46,040 --> 00:07:49,880 ko kopurua zatituz beste bidez. 138 00:07:49,880 --> 00:07:54,870 Dezagun aplikatzen formula hau lautada Testu 2 gakoa duen eskutitza. 139 00:07:54,870 --> 00:08:01,810 Y ASCII balioa 89 da, eta hori ematen digu 91 modulo 26, 140 00:08:01,810 --> 00:08:03,690 horrek berdin 13 - 141 00:08:03,690 --> 00:08:08,740 zalantzarik ez ASCII balioa bat, eta hori da, 67. 142 00:08:08,740 --> 00:08:12,810 >> Umorea dit orain, eta urruntzen hasita ASCII alfabetoaren indizea balioak 143 00:08:12,810 --> 00:08:18,690 non A zero eta Z da, 25, Y dela 24 zentzua. 144 00:08:18,690 --> 00:08:25,830 24 gehi 2, modulo 6, ematen digu 26, modulo 26, 0, eta hori da, 145 00:08:25,830 --> 00:08:28,170 alfabetiko baten indizea. 146 00:08:28,170 --> 00:08:32,980 Beraz, formula hori badirudi du aplikatzen alfabetoaren gutun-indizea eta 147 00:08:32,980 --> 00:08:34,960 ez bere ASCII balioa. 148 00:08:34,960 --> 00:08:37,630 >> Baina hasteko balio ASCII dezakezu. 149 00:08:37,630 --> 00:08:41,650 Eta ciphertext pertsonaia inprimatzeko, bere ASCII balioa beharko duzu ere. 150 00:08:41,650 --> 00:08:46,400 Egin arte, eta ondoren, irudikatu nahi nola atzera eta aurrera aldatzeko. 151 00:08:46,400 --> 00:08:49,850 >> Bein eskubidea formula karaktere bat, eta behar duzun guztia egin 152 00:08:49,850 --> 00:08:53,520 formula bera aplikatuko da, behin testu soileko letra - 153 00:08:53,520 --> 00:08:57,720 bada bakarrik gutun dela alfabetikoa, noski. 154 00:08:57,720 --> 00:09:02,360 Eta gogoratu behar duzula gorde kasuan, goiko edo txikiagoa da, non da 155 00:09:02,360 --> 00:09:06,890 isUpper eta isLower funtzioak Arestian esan izango handy etorriko. 156 00:09:06,890 --> 00:09:08,830 Bi formula izan dezakezu - 157 00:09:08,830 --> 00:09:11,680 hizki larri bat eta minuskulaz bat. 158 00:09:11,680 --> 00:09:18,420 Beraz isUpper isLower beti lagunduko dizu zehaztu zein formula aplikatu beharko da. 159 00:09:18,420 --> 00:09:22,460 >> Nola zure formula aplikatzen duzun bakoitzean kate batean pertsonaia bakar? 160 00:09:22,460 --> 00:09:25,910 Beno, kate bat besterik ez da beti karaktere array. 161 00:09:25,910 --> 00:09:31,150 Beraz, pertsonaia bakoitzak sartu ahal izango duzu pertsonaia behin baino gehiago elkartuz 162 00:09:31,150 --> 00:09:33,450 Kate bat begizta da. 163 00:09:33,450 --> 00:09:37,550 Zure egoera begizta egiteko moduan, funtzioa strlen, katea 164 00:09:37,550 --> 00:09:39,280 luzera izango handy etorriko. 165 00:09:39,280 --> 00:09:44,020 Kate bat hartzen ditu sarrera moduan eta katea itzultzen duten iraupena. 166 00:09:44,020 --> 00:09:49,250 Ziurtatu eskubidea liburutegi sartzea katea luzera funtzioa erabiltzeko. 167 00:09:49,250 --> 00:09:51,790 >> Eta ez dago zure ciphertext duzu. 168 00:09:51,790 --> 00:09:53,260 Nire izena Zamyla da. 169 00:09:53,260 --> 00:09:54,510 Eta [Mintzamena CODE]. 170 00:09:54,510 --> 00:10:02,944