1 00:00:00,000 --> 00:00:10,103 2 00:00:10,103 --> 00:00:11,270 >> ЗАМИЛА цхан: Честитамо на окончање 3 00:00:11,270 --> 00:00:13,200 Први пар Ц програма. 4 00:00:13,200 --> 00:00:16,379 Знам да је ваш први улазак у Ц синтакса може бити застрашујуће. 5 00:00:16,379 --> 00:00:20,060 Али, уверавам вас, на крају курс, моћи ћете да погледате 6 00:00:20,060 --> 00:00:23,870 Првих неколико задатака и заврше у минутима. 7 00:00:23,870 --> 00:00:27,830 >> Сада када се све више упознати са синтаксом, хајдемо до Цезара. 8 00:00:27,830 --> 00:00:31,720 У Цезара, корисник ће поднети цео кључ као командне линије 9 00:00:31,720 --> 00:00:35,300 Аргумент, затим унесите обичан текстуална порука на линији. 10 00:00:35,300 --> 00:00:38,050 Програм ће тада енципхер текста и штампање 11 00:00:38,050 --> 00:00:40,020 њихова порука шифрата. 12 00:00:40,020 --> 00:00:42,980 >> Ксифарска за Цезара је прилично једноставан. 13 00:00:42,980 --> 00:00:46,455 Схифт свако слово, у својим обичан текст, по кључу. 14 00:00:46,455 --> 00:00:49,220 Као резултат тога, то је такође прилично несигурно. 15 00:00:49,220 --> 00:00:53,850 Међутим, проведба Цезар ће увести да АСЦИИМатх и низ података 16 00:00:53,850 --> 00:00:54,460 структуре. 17 00:00:54,460 --> 00:00:57,510 Доћи ћемо до сложеније шифре касније. 18 00:00:57,510 --> 00:01:01,680 Уз Цезара кључу 2, писмо у обичан текст ће бити представљен 19 00:01:01,680 --> 00:01:07,580 слово Ц у шифрату јер Ц је после два слова А. Б ће бити 20 00:01:07,580 --> 00:01:12,450 заступа Д и Ц Е. Ка крај писма, В 21 00:01:12,450 --> 00:01:18,550 представља И и Кс, З. Али И нема два слова после њега, па 22 00:01:18,550 --> 00:01:21,070 шифре се обавија око азбуке. 23 00:01:21,070 --> 00:01:27,190 И у обичном тексту овако представља У шифрату, а З од Б. То може 24 00:01:27,190 --> 00:01:32,080 помоћи да видите као Цезар Ципхер континуирано писмо точак. 25 00:01:32,080 --> 00:01:35,760 >> Да енципхер њихов текст, упутство ће ући два аргумента 26 00:01:35,760 --> 00:01:37,090 у командној линији - 27 00:01:37,090 --> 00:01:40,010 / Цезар. Затим кључа. 28 00:01:40,010 --> 00:01:44,710 Као и увек, не можемо да верујемо корисника потпуно да унесете улаз који чине 29 00:01:44,710 --> 00:01:45,800 смисао за наш програм. 30 00:01:45,800 --> 00:01:50,670 Тако да ћемо морати да провере своје командне линије улаз. 31 00:01:50,670 --> 00:01:57,285 >> Уместо коришћења маин празнину, ми смо коришћење маин, инт аргц, аргв ниска. 32 00:01:57,285 --> 00:02:01,730 Целобројна променљива аргц представља број аргумената донетих у 33 00:02:01,730 --> 00:02:02,880 командне линије. 34 00:02:02,880 --> 00:02:09,070 И аргв је низ, или мислите да је то листа, од аргумената прошло ин 35 00:02:09,070 --> 00:02:12,000 >> Дакле, за Цезара, како ми потврди корисников улаз? 36 00:02:12,000 --> 00:02:15,870 Па, они само треба да се улази два аргументи командне линије - 37 00:02:15,870 --> 00:02:18,150 / И Цезар. Кључ. 38 00:02:18,150 --> 00:02:22,340 Дакле, ако се не аргц 2, то значи да је они су или заборавили кључ и само 39 00:02:22,340 --> 00:02:27,230 ушао / Цезар,. или они ушао више кључева. 40 00:02:27,230 --> 00:02:29,770 >> Ако је то случај, онда ћете желите да одштампате упутства 41 00:02:29,770 --> 00:02:30,910 и напустио програм. 42 00:02:30,910 --> 00:02:34,320 Они ће морати да покушате поново из командне линије. 43 00:02:34,320 --> 00:02:37,430 Али, чак и ако је аргц 2, ви ћете Треба да се провери да ли су они 44 00:02:37,430 --> 00:02:39,100 да вам важећи кључ. 45 00:02:39,100 --> 00:02:40,730 За Цезара, потребан вам је цео број. 46 00:02:40,730 --> 00:02:43,260 Али аргв је низ стрингова. 47 00:02:43,260 --> 00:02:46,490 Како приступити тај кључ? 48 00:02:46,490 --> 00:02:47,850 >> Кратак поглед на низове - 49 00:02:47,850 --> 00:02:51,410 структуре података које имају више вредности истог типа података. 50 00:02:51,410 --> 00:02:55,350 Пријаве су нула-индексирани, што значи да Први елемент је индекс нула 51 00:02:55,350 --> 00:03:00,260 и последњи елемент је у величини индекса минус 1, где је величина је број 52 00:03:00,260 --> 00:03:02,850 елемената у низу. 53 00:03:02,850 --> 00:03:07,380 >> Ако сам прогласио нову стринг низа сандуче дужине 3, визуелно, то 54 00:03:07,380 --> 00:03:08,570 изгледа овако. 55 00:03:08,570 --> 00:03:11,520 Три контејнери за гудаче , Раме уз раме. 56 00:03:11,520 --> 00:03:15,445 Да бисте приступили било који елемент, упишете име низа, а затим указује 57 00:03:15,445 --> 00:03:18,080 индекс у угластим заградама. 58 00:03:18,080 --> 00:03:21,610 Ево, ја додељивањем вредности сваког елеменат, баш као што сам урадио са било 59 00:03:21,610 --> 00:03:24,310 други стринг променљиве. 60 00:03:24,310 --> 00:03:29,020 >> Дакле, за приступ наше аргументе командне линије, Све што треба да урадите је приступ 61 00:03:29,020 --> 00:03:31,690 право аргв елемент низа. 62 00:03:31,690 --> 00:03:37,360 Уколико корисник унео / Бластофф. Теам Ракета у терминал, аргв 0 би 63 00:03:37,360 --> 00:03:38,950 бе / Бластофф.. 64 00:03:38,950 --> 00:03:45,010 аргв ће бити тим, и арг2 би ракета. 65 00:03:45,010 --> 00:03:47,670 >> Сада то можемо приступити наш кључ, ми и даље треба да се 66 00:03:47,670 --> 00:03:49,040 сигурни да је то тачно. 67 00:03:49,040 --> 00:03:51,060 Морамо да га претворити у цео број. 68 00:03:51,060 --> 00:03:54,680 Али, не можемо само баци као ми смо урадили раније. 69 00:03:54,680 --> 00:03:58,800 Срећом, на И функција брине ово за нас, па чак и враћа 0 70 00:03:58,800 --> 00:04:02,110 Ако стринг не може бити конвертован у цео број. 71 00:04:02,110 --> 00:04:04,450 То је на вама, мада, да кажем корисник зашто нећеш 72 00:04:04,450 --> 00:04:06,220 нека настави програма. 73 00:04:06,220 --> 00:04:10,710 Чувајте резултат за И у цео број, и тамо имате кључ. 74 00:04:10,710 --> 00:04:12,070 Следећи део је једноставна. 75 00:04:12,070 --> 00:04:15,940 Питај корисника за њихову чисти текст, који ће бити од типа података стринг. 76 00:04:15,940 --> 00:04:18,339 Срећом за нас, све корисник уноси жице су важећи. 77 00:04:18,339 --> 00:04:21,170 78 00:04:21,170 --> 00:04:24,760 >> Сада када имамо све потребне улаз од корисника, то је време да 79 00:04:24,760 --> 00:04:26,520 енципхер њихову поруку. 80 00:04:26,520 --> 00:04:29,200 Концепт је једноставан Цезара довољно да се схвати. 81 00:04:29,200 --> 00:04:33,750 Али како се рачунар зна који слова се после један од другог? 82 00:04:33,750 --> 00:04:36,100 >> Ево где АСЦИИ табела ступа на сцену 83 00:04:36,100 --> 00:04:39,420 Сваки лик има цео број број повезан са њим. 84 00:04:39,420 --> 00:04:41,380 Капитал је 65. 85 00:04:41,380 --> 00:04:43,310 Капитал Б 66. 86 00:04:43,310 --> 00:04:45,260 Мала слова је 97. 87 00:04:45,260 --> 00:04:47,590 Слово Б је 98. 88 00:04:47,590 --> 00:04:50,770 Али знакови нису ограничени уноса слова на само бројевима. 89 00:04:50,770 --> 00:04:56,020 На пример, @ симбол број 64 је АСЦИИ. 90 00:04:56,020 --> 00:04:59,690 >> Пре него што се бави читав низ, хајде да се претварамо да ми само треба да пребаце 91 00:04:59,690 --> 00:05:01,220 један знак. 92 00:05:01,220 --> 00:05:04,640 Па, ми само желимо да се пребаци стварна Слова у чисти текст, а не 93 00:05:04,640 --> 00:05:06,020 карактере или бројеве. 94 00:05:06,020 --> 00:05:09,100 Дакле, прва ствар коју ћемо желети да проверите да ли је лик у 95 00:05:09,100 --> 00:05:10,430 писмо. 96 00:05:10,430 --> 00:05:14,460 >> Функција исалпха то ради нас и враћа боолеан - 97 00:05:14,460 --> 00:05:18,570 ако је истина ликова је писмо, фалсе ако је другачије. 98 00:05:18,570 --> 00:05:22,270 Две друге корисне функције исуппер и исловер, са 99 00:05:22,270 --> 00:05:23,860 саморазумљиво имена. 100 00:05:23,860 --> 00:05:27,370 Они су се вратили важи ако даје карактер је велика или мала, 101 00:05:27,370 --> 00:05:28,740 респективно. 102 00:05:28,740 --> 00:05:33,770 Пошто су боолеанс, они су корисно користити као услове. 103 00:05:33,770 --> 00:05:38,310 >> Ако исалпха враћа труе, мораћете да пребаце тај лик по кључу. 104 00:05:38,310 --> 00:05:43,750 Дакле, хајде да отворимо да АСЦИИМатх и неки АСЦИИ математику. 105 00:05:43,750 --> 00:05:48,700 Употреба је веома сличан коришћења за Цезара и узима у кључ у 106 00:05:48,700 --> 00:05:50,870 командне линије. 107 00:05:50,870 --> 00:05:59,590 >> Ако ми АСЦИИМатх 5, чини се да додате 5. да, дајући ми слово Ф, а 108 00:05:59,590 --> 00:06:01,260 приказивање АСЦИИ вредност. 109 00:06:01,260 --> 00:06:04,090 Па хајде да погледамо програм. 110 00:06:04,090 --> 00:06:11,820 >> Можда се питате, баш овде, зашто Писмо је цео број, када је 111 00:06:11,820 --> 00:06:14,330 јасно, па, писмо. 112 00:06:14,330 --> 00:06:17,690 Испоставило се да су ликови и броја су заменљиви. 113 00:06:17,690 --> 00:06:21,730 Стављајући писмо у сингл наводници, цео број може да складишти 114 00:06:21,730 --> 00:06:25,390 АСЦИИ вредност капитала О: Будите опрезни, ипак. 115 00:06:25,390 --> 00:06:27,150 Треба појединачне одећу. 116 00:06:27,150 --> 00:06:31,260 Без појединачних наводника, компајлер ће изгледати за променљиву 117 00:06:31,260 --> 00:06:35,510 имену, а не карактер. 118 00:06:35,510 --> 00:06:42,140 >> Онда додати слово и кључ, складиштење сума у ​​инт променљивих резултата. 119 00:06:42,140 --> 00:06:47,740 Иако је резултат од типа података цео број, моја изјава користи иф 120 00:06:47,740 --> 00:06:50,370 % Ц чувар места за карактере. 121 00:06:50,370 --> 00:06:54,530 Дакле Програм исписује карактер повезана са целобројну резултатом. 122 00:06:54,530 --> 00:07:00,400 А пошто смо штампала цео облик као и у% д, видимо 123 00:07:00,400 --> 00:07:02,110 као и број. 124 00:07:02,110 --> 00:07:04,450 Тако сада можете видети да смо третирају карактера и 125 00:07:04,450 --> 00:07:06,980 целих бројева, и обрнуто. 126 00:07:06,980 --> 00:07:12,205 >> Хајде да испробате неколико АСЦИИМатх више пута користе 25 као кључ. 127 00:07:12,205 --> 00:07:15,510 128 00:07:15,510 --> 00:07:17,090 Ми смо добили слово З. 129 00:07:17,090 --> 00:07:19,750 Сада ћемо покушати 26. 130 00:07:19,750 --> 00:07:25,600 Ми желимо да се писмо, али уместо тога добијамо леву заграду. 131 00:07:25,600 --> 00:07:29,490 Дакле, очигледно, само додавање Кључ писма неће учинити. 132 00:07:29,490 --> 00:07:32,780 Морамо да смислимо формулу за увијање око азбуке, као и наши 133 00:07:32,780 --> 00:07:34,570 пример у почетку учинио. 134 00:07:34,570 --> 00:07:38,520 >> Формула за Цезаровог помак је следећи. 135 00:07:38,520 --> 00:07:42,750 Ц једнак П плус по модулу 26 к. 136 00:07:42,750 --> 00:07:46,040 Сетите се да је користан по модулу Операција која нам даје остатак 137 00:07:46,040 --> 00:07:49,880 поделе један број од другог. 138 00:07:49,880 --> 00:07:54,870 Хајде да примењују ову формулу за обичан Текст писмо са кључем од 2. 139 00:07:54,870 --> 00:08:01,810 АСЦИИ вредност и је 89, што даје нам 91 по модулу 26, 140 00:08:01,810 --> 00:08:03,690 што је једнако 13 - 141 00:08:03,690 --> 00:08:08,740 дефинитивно није АСЦИИ вредност у, који је 67.. 142 00:08:08,740 --> 00:08:12,810 >> Хумор и сада ми се удаљи од АСЦИИ вредности на абецедном индексу 143 00:08:12,810 --> 00:08:18,690 где је нула, а З је 25, што значи да је и 24. 144 00:08:18,690 --> 00:08:25,830 24 плус 2, по модулу 6, даје нам 26, по модулу 26, 0, што је 145 00:08:25,830 --> 00:08:28,170 азбучни индекс. 146 00:08:28,170 --> 00:08:32,980 Дакле, ова формула изгледа да утиче на азбучни индекс писма и 147 00:08:32,980 --> 00:08:34,960 Не његова АСЦИИ вредност. 148 00:08:34,960 --> 00:08:37,630 >> Али почнете са АСЦИИ вредностима. 149 00:08:37,630 --> 00:08:41,650 И да одштампате Ципхертект карактер, мораћете његову АСЦИИ вредност, као добро. 150 00:08:41,650 --> 00:08:46,400 То је на вама, онда, да схватим како да се пребаците напред и назад. 151 00:08:46,400 --> 00:08:49,850 >> Када схватите праву формулу један знак, све што треба да урадите 152 00:08:49,850 --> 00:08:53,520 се применити исту формулу за сваки писмо у облику чистог текста - 153 00:08:53,520 --> 00:08:57,720 само ако је то писмо није абецедно, наравно. 154 00:08:57,720 --> 00:09:02,360 И запамтите да треба да сачува случају, горњи или доњи, ту 155 00:09:02,360 --> 00:09:06,890 исУппер и исЛовер функције раније поменуто ће добро доћи. 156 00:09:06,890 --> 00:09:08,830 Можете имати две формуле - 157 00:09:08,830 --> 00:09:11,680 један за великим словима и један за мала слова. 158 00:09:11,680 --> 00:09:18,420 Дакле исУппер исЛовер ће вам помоћи одредити који формула да се пријаве. 159 00:09:18,420 --> 00:09:22,460 >> Како да примените своју формулу за сваки Један знак у низу? 160 00:09:22,460 --> 00:09:25,910 Па, ниска је само низ карактера. 161 00:09:25,910 --> 00:09:31,150 Дакле, можете да приступите сваки знак од груписање преко сваког карактера у 162 00:09:31,150 --> 00:09:33,450 стринг у фор петљи. 163 00:09:33,450 --> 00:09:37,550 Што се тиче стања вашег за петље, функцију стрлен, за ниску 164 00:09:37,550 --> 00:09:39,280 дужина, ће добро доћи. 165 00:09:39,280 --> 00:09:44,020 Потребно је у ниски, као и улаз враћа дужину тог низа. 166 00:09:44,020 --> 00:09:49,250 Побрините се да укључите праву библиотеку да користите функцију Дужина низа. 167 00:09:49,250 --> 00:09:51,790 >> И ту имате шифрат. 168 00:09:51,790 --> 00:09:53,260 Моје име је Замила. 169 00:09:53,260 --> 00:09:54,510 И [ВИМОВА ШИФРА]. 170 00:09:54,510 --> 00:10:02,944