1 00:00:00,000 --> 00:00:00,340 2 00:00:00,340 --> 00:00:02,690 >> DAVID מלאן: נניח שהיינו רוצה לכתוב תכנית שמנחה את המשתמש 3 00:00:02,690 --> 00:00:05,100 עבור מחרוזת ולאחר מכן מהוונת מחרוזת ש. 4 00:00:05,100 --> 00:00:09,000 ובכן, בואו נתחיל עם כמה מוכר קוד הכריז מחרוזת בשם של ו 5 00:00:09,000 --> 00:00:11,380 הקצאה את התמורה ערך של getstring. 6 00:00:11,380 --> 00:00:14,910 ובואו עכשיו להמשיך לחזר על התווים במחרוזת זו. 7 00:00:14,910 --> 00:00:16,000 ובכן, איך לעשות את זה? 8 00:00:16,000 --> 00:00:19,350 מתברר שמחרוזת היא פשוט רצף של תווים, אבל יותר 9 00:00:19,350 --> 00:00:23,320 כמו שצריך, מחרוזת היא מערך של דמויות, מה שאומר שאנחנו יכולים להשתמש 10 00:00:23,320 --> 00:00:27,590 סימון סוגריים מרובע לאינדקס לתוך מחרוזת ולקבל באדם 11 00:00:27,590 --> 00:00:28,680 תווים. 12 00:00:28,680 --> 00:00:30,980 >> במילים אחרות, אנחנו יכולים בצע את הפעולות הבאות. 13 00:00:30,980 --> 00:00:36,730 עבור int, אני מקבל 0, ומקבל n, אומר, אורכו של ים, באמצעות 14 00:00:36,730 --> 00:00:37,530 [הפונקציה שלנו? לבחוש?] 15 00:00:37,530 --> 00:00:38,630 [? קו,?] 16 00:00:38,630 --> 00:00:40,450 היא i פחות מ n i + +. 17 00:00:40,450 --> 00:00:45,290 במילים אחרות, עם לולאה זו, יהיה לחזר על כל אותיות n 18 00:00:45,290 --> 00:00:46,670 במחרוזת s. 19 00:00:46,670 --> 00:00:51,680 ובתוך לולאה זו, אני הולך לבדוק, אם דמות i-th בים 20 00:00:51,680 --> 00:00:57,630 גדול או שווה לאותיות קטנות, ואופי i-th הוא פחות או 21 00:00:57,630 --> 00:01:02,370 שווה לג באותיות קטנות, ולאחר מכן אני רוצה להמשיך לנצל את המכתב הזה. 22 00:01:02,370 --> 00:01:08,030 במילים אחרות, אני רוצה להדפיס% ג כמציין מיקום ותחליף ל 23 00:01:08,030 --> 00:01:11,120 של מציין מיקום שבסוגר i. 24 00:01:11,120 --> 00:01:14,390 >> אבל אז אני צריך להמיר סוגר שלי לאותיות גדולות. 25 00:01:14,390 --> 00:01:18,930 כדי לעשות זאת, אני יכול פשוט לחסר כל ההבדל הוא בין 26 00:01:18,930 --> 00:01:24,120 אותיות קטנות וא ההון טוב, אני דווקא זוכר שהון הוא 27 00:01:24,120 --> 00:01:27,160 65 בASCII, ואותיות קטנות הוא 97. 28 00:01:27,160 --> 00:01:29,210 אז ההבדל הוא טכני 32. 29 00:01:29,210 --> 00:01:31,620 אז אני יכול רק קוד קשה 32 כאן. 30 00:01:31,620 --> 00:01:33,870 אבל אני לא בהכרח זוכר את המספרים האלה. 31 00:01:33,870 --> 00:01:37,250 >> ויותר מכך, מה אם הם להשתנות על ידי מחשב? 32 00:01:37,250 --> 00:01:38,520 סביר להניח שהם לא. 33 00:01:38,520 --> 00:01:42,460 אבל הנקודה היא שעדיין אני יכול להכליל שביטוי אריתמטי 34 00:01:42,460 --> 00:01:46,550 כפשוט כל מה שההבדל הוא בין אותיות קטנות והון 35 00:01:46,550 --> 00:01:50,880 זה מה שאני רוצה להחסיר מן האות הקטנה הזה בפרט. 36 00:01:50,880 --> 00:01:54,500 >> עכשיו, אם מכתב המסוים הזה לא אותיות קטנות, אני פשוט 37 00:01:54,500 --> 00:01:56,620 רוצה להדפיס אותו. 38 00:01:56,620 --> 00:02:01,110 printf, ג% כפי שמציינים מיקום שלי, של הסוגר i. 39 00:02:01,110 --> 00:02:05,150 בחלק התחתון של תכנית זו, בואו פשוט להדפיס את השורה החדשה, כך ש 40 00:02:05,150 --> 00:02:07,520 הפקודה מופיעה על חדש שורה משלו. 41 00:02:07,520 --> 00:02:11,540 >> בואו עכשיו לקמפל תכנית זו עם capitalize0 איפור. 42 00:02:11,540 --> 00:02:13,900 בואו להפעיל אותו עם capitalize0. 43 00:02:13,900 --> 00:02:17,190 ובואו להקליד מילה כמו שלום בכל אותיות קטנות. 44 00:02:17,190 --> 00:02:19,960 אני חוזר שלום באותיות רישיות כצפוי. 45 00:02:19,960 --> 00:02:25,210 אבל בואו ננסה מבחן אחד נוסף, הפעם עם השם שלי, D-A-V-I-D, אבל עם 46 00:02:25,210 --> 00:02:28,170 D הראשון מהוון, רק ב מקרה שהרסתי משהו 47 00:02:28,170 --> 00:02:29,430 עם זה char הראשון. 48 00:02:29,430 --> 00:02:34,250 הזן, ו-D-A-V-I-D באותיות רישיות מודפס גם כן. 49 00:02:34,250 --> 00:02:36,873