דוד י מלאן: נניח שאני רוצה ליישום תכנית, המנחה את המשתמש עבור מחרוזת ולאחר מכן ממשיך כדי לנצל את הקלט שלהם, המרה כל אותיות קטנות שהם מקלידים לאותיות רישיות. ובכן, בואו נלך קדימה ו ליישם תכנית זו. בואו כוללים ראשון cs50.h אחרי על ידי להכליל את stdio.h. וכדי שנוכל להשתמש strlen, בואו כוללים string.h. בואו הבא נכריז על void main int כעיקרי ובואו עכשיו להמשיך להנחות את המשתמש למחרוזת. Printf, בואו תבקש מהם עבור חלק מהקלט. עכשיו בואו להכריז על מחרוזת - אנחנו קוראים לזה - ולאחסן אותו בתוצאה של קורא GetString פונקצית ספריית cs50. בואו עכשיו להמשיך לחזר על כל הדמויות בים, וניצול כל אותיות קטנות שאנחנו רואים. עבור int, אני מקבל 0. בואו גם להכריז n כמו להיות שווה אורך המחרוזת של ים כך שנוכל לחזר מi עד n, אורכו של ים, ועל כל אחד אני תוספת איטרציה. ואז בתוך לולאה זו, בואו הבדיקה הראשונה היא המכתב הנוכחי - מכתב i-th של ים, אם אפשר לומר כך - אות קטנה. אם אני הוא הסוגר של גדול או שווה לאותיות קטנות, וזה פחות או שווה ל z הקטנה - עכשיו, אם אנחנו רוצים להמיר אותיות קטנות מכתב לאותיות רישיות, זוכר ראשון ש בASCII אותיות קטנות הוא 97 ואותיות גדולות הוא 65. בינתיים, ב אותיות קטנות הוא 98, ואותיות גדולות B הוא 66. אם תמשיך להסתכל על דפוס זה, אנחנו תראו את זה באותיות קטנות אותיות הן תמיד 32 ערכים גבוהים יותר מהאותיות רישיות. אז אם אנחנו רוצים להמיר מאותיות קטנות לאותיות רישיות, שהוא צריך די, באמת, להחסיר 32 מהקלט של המשתמש. או באופן כללי יותר, רק לחסר כי הבדל בין אותיות קטנות ו א הון איך לבטא את זה? ובכן, בואו נעשה את זה בקוד. Printf, ציטוט, "% c" סוף ציטוט להדפסה את דמותה הנוכחית, ואחריו הדפסה כל מה שהוא במינוס i סוגר של התוצאה של עשייה באותיות קטנות מינוס אותיות רישיות פסיק. במילים אחרות, בסוגריים זה ביטוי, קצת גדול מינוס, הוא הולך לחזור אלינו ב סופו של היום 32. אבל אני לא צריך לזכור שזה 32. אני יכול להרשות למחשב כדי להבין מה ההבדל בין אותיות קטנות והון הוא. בינתיים, ברגע שאני יודע את ההבדל, אני יכול להחסיר אותו מהים סוגר i, שייקח את מה ככל הנראה אות קטנה ל ערך נמוך יותר, כלומר ערך שממפה על שווה ערך אותיות רישיות. בואו עכשיו להציל, לקמפל, ולהפעיל את התכנית. הפוך לנצל לוכסן נקודה באותיות גדולות. והקלט שלי יהיה שלום. ויש לנו, הלו. עכשיו ההנחיה שלי, יש להודות, היא קצת מכוער, כי יש לנו הושמט ביט אחד של הדפסה. ובואו נחזור ולהוסיף את זה. בתחתיתה של תכנית זו, אני מאוד פשוט, ובעיקר עבור מטרה אסתטית, הולך להוסיף printf, ציטוט, n לוכסן הפוך סוף ציטוט. בואו שומרים מחדש את הקובץ הזה, הידור מחדש, שידור חוזר. הפוך לנצל, לוכסן נקודה לנצל. שוב, עבור קלט אני נספק "שלום" בכל המקרה הנמוך ועכשיו על Enter, ו" שלום ", שהודפס בהרבה יותר נקי.