1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:00,860 >> SPEAKER 1: בסדר. 3 00:00:00,860 --> 00:00:03,260 שהתכנית האחרונה הייתה קצת משעממת. 4 00:00:03,260 --> 00:00:05,510 בואו נלך קדימה ולהתאים אישית זה קצת. 5 00:00:05,510 --> 00:00:07,710 במקום להגיד שלום עולם, למה אנחנו לא הולכים קדימה 6 00:00:07,710 --> 00:00:09,680 ותגיד, הלו דוד? 7 00:00:09,680 --> 00:00:12,500 ובכן, כדי לעשות את זה, אני יכול לגשת זה בכמה דרכים. 8 00:00:12,500 --> 00:00:15,760 אני יכול, כמובן, קוד פשוט קשה דוד, אבל זה לא כל כך 9 00:00:15,760 --> 00:00:17,650 שונה במהותו מהגרסה האחרונה. 10 00:00:17,650 --> 00:00:21,430 אז בואו לקחת קפיצה קדימה, לבטל כי לשנות, ובמקום להכניס חדש 11 00:00:21,430 --> 00:00:23,980 שורת קוד שבו השורה חמש שהייתה פעם. 12 00:00:23,980 --> 00:00:28,970 >> באופן ספציפי, מה שאני הולך לעשות כאן הוא מוסיף בשם מחרוזת, ובכך 13 00:00:28,970 --> 00:00:30,920 הכרזה על משתנה. 14 00:00:30,920 --> 00:00:34,240 שים לב כי ב-C, לא רק שיש לך לתת למשתנה שם, אשר ב 15 00:00:34,240 --> 00:00:38,110 מקרה זה הוא שם, יש לך גם כדי לציין איזה סוג שהוא. 16 00:00:38,110 --> 00:00:41,970 נצטרך לראות סוגים אחרים לפני זמן רב, בין שלהם מספרים שלמים ונקודה צפה 17 00:00:41,970 --> 00:00:46,480 ערכים ויותר, אך לעת עתה, מחרוזת הוא רק מילה או ביטוי, יותר 18 00:00:46,480 --> 00:00:49,340 באופן רשמי, רצף של אפס תווים או יותר. 19 00:00:49,340 --> 00:00:53,760 אז באותו הרגע, הקו הזה הוא חמש אמירה, תן לי משתנה בשם שם 20 00:00:53,760 --> 00:00:56,560 נתונים שסוג היא מחרוזת. 21 00:00:56,560 --> 00:01:00,460 >> עכשיו, אני רוצה לאחסן את ערך לשם, ולעשות את זה ב-C, אנו משתמשים בשווים 22 00:01:00,460 --> 00:01:03,030 לחתום, הידוע גם אופרטור ההשמה. 23 00:01:03,030 --> 00:01:04,860 אז אני הולך להמשיך באופן הבא. 24 00:01:04,860 --> 00:01:10,220 שווה ציטוט, סוף ציטוט, D-A-V-I-D, ציטוט סגור, פסיק. 25 00:01:10,220 --> 00:01:15,595 ההשפעה נטו בקו חמש עכשיו היא להכריז על מחרוזת, D-A-V-I-D, אחסון 26 00:01:15,595 --> 00:01:19,480 זה מהצד הימני של זה ביטוי למשתנה על 27 00:01:19,480 --> 00:01:21,480 צד שמאל של ביטוי זה. 28 00:01:21,480 --> 00:01:25,970 אז עד הסוף של קו זה, יש לנו D-A-V-I-D מאוחסן בתוך משתנה 29 00:01:25,970 --> 00:01:27,450 קרא בשמה. 30 00:01:27,450 --> 00:01:28,910 >> עכשיו בואו להשתמש במשתנה זה. 31 00:01:28,910 --> 00:01:35,010 על קו שש, אני הולך להחליף עולם עם מציין המיקום. 32 00:01:35,010 --> 00:01:39,960 % S מוגדר על פי תיעוד של printf כמו להיות 33 00:01:39,960 --> 00:01:41,690 מציין מיקום עבור מחרוזת. 34 00:01:41,690 --> 00:01:44,620 במילים אחרות, זה דרך של יידוע printf שאני הולך לשים 35 00:01:44,620 --> 00:01:47,930 ערך אחר כאן, אבל תן לי להגיד לך בעוד רגע מה 36 00:01:47,930 --> 00:01:49,180 זה הולך להיות. 37 00:01:49,180 --> 00:01:52,800 עכשיו, איך אני ממשיך לספר לי printf מה הערך שהוא הולך להיות? 38 00:01:52,800 --> 00:01:56,850 >> ובכן, אני צריך לספק printf עם טענה שנייה, ולעשות את זה, אני 39 00:01:56,850 --> 00:02:00,460 צריך לשים פסיק אחרי הראשון כזה טענה, שזו מצוטטת 40 00:02:00,460 --> 00:02:04,990 מחרוזת, ואז אני צריך לציין מה ערך שאני רוצה לחבר לזה 41 00:02:04,990 --> 00:02:07,010 מציין המיקום של הטענה הראשונה. 42 00:02:07,010 --> 00:02:10,880 אז את שמו של המשתנה שלי הוא, כמובן, שם, כך שזה די להקליד 43 00:02:10,880 --> 00:02:14,000 "שם" כשני טיעון לprintf. 44 00:02:14,000 --> 00:02:15,070 עכשיו אל תלכו שולל. 45 00:02:15,070 --> 00:02:20,440 למרות שיש פסיק בתוך המחרוזת המצוטטת, שאכן 46 00:02:20,440 --> 00:02:24,370 בתוך המחרוזת אז זה לא להפריד בין ויכוח אחד למשנהו. 47 00:02:24,370 --> 00:02:28,740 רק הפסיק הזה זה מחוץ לזה מחרוזת ציטטה מפרידה למעשה 48 00:02:28,740 --> 00:02:31,700 הטענה הראשונה של printf מ הטיעון השני שלה. 49 00:02:31,700 --> 00:02:34,270 >> בואו עכשיו לקמפל תכנית זו. 50 00:02:34,270 --> 00:02:36,500 הפוך שלום אחד. 51 00:02:36,500 --> 00:02:39,570 אלוהים אדירים, חמש שגיאות שנוצרו, ושל התכנית שלי 52 00:02:39,570 --> 00:02:41,100 רק שבעה קווים ארוכים. 53 00:02:41,100 --> 00:02:44,720 ובכן, כמו תמיד, לא מסתכל על האחרון של השגיאות על המסך שלך. 54 00:02:44,720 --> 00:02:47,960 תראה הראשון כי אולי יש לפיה השפעה מדורגת 55 00:02:47,960 --> 00:02:51,600 רק שגיאה אחת למעלה נוצרה עליונה מראה של יותר טעויות ממה שיש 56 00:02:51,600 --> 00:02:52,570 הם באמת. 57 00:02:52,570 --> 00:02:56,620 >> אז תן לי לגלול למעלה, וראשון מסוגו שגיאה מודגשת כאן היא שימוש 58 00:02:56,620 --> 00:02:59,140 מחרוזת מזהה לא מוצהרת. 59 00:02:59,140 --> 00:03:00,630 האם אתה מתכוון סטנדרטי ב? 60 00:03:00,630 --> 00:03:01,990 ובכן, לא, אני לא. 61 00:03:01,990 --> 00:03:06,700 אני עשיתי את מתכוון מחרוזת, אבל מסתבר שאני שכח את המחרוזת שאינה קיימת כ 62 00:03:06,700 --> 00:03:10,830 סוג הנתונים טכני ב C. מבחינה מושגית זה קיים, אבל המילה 63 00:03:10,830 --> 00:03:16,210 "מחרוזת" קיימת רק בגלל CS50 צוות שהכריז עליה, כביכול, 64 00:03:16,210 --> 00:03:18,160 בקובץ שאנו עצמנו כתבנו. 65 00:03:18,160 --> 00:03:22,540 למעשה, כפי שרק מישהו מזמן הכריז פונקצית printf בקובץ 66 00:03:22,540 --> 00:03:28,310 נקראים תקן IO.H, כך גם אנחנו צוות להכריז מחרוזת כסוג הנתונים ב 67 00:03:28,310 --> 00:03:32,470 קובץ זה, אין זה מפתיע, נקרא CS50.H. 68 00:03:32,470 --> 00:03:36,340 >> אז בואו נחזור לחלק העליון שלי לתכנת ולהודיע ​​למהדר כי 69 00:03:36,340 --> 00:03:40,130 לא רק אני רוצה להשתמש בסמל מחרוזת, אני גם רוצה לחנך 70 00:03:40,130 --> 00:03:42,160 מהדר על מה שסמל זה אומר. 71 00:03:42,160 --> 00:03:47,010 ולעשות את זה בפשטות, אני יכול ללכת בחזרה לשורה אחת, להוסיף שורה חדשה 72 00:03:47,010 --> 00:03:54,070 כאן, ומוסיף, "כולל CS50.H" גם בין סוגריים זווית. 73 00:03:54,070 --> 00:03:58,170 הוראה זו, כמו הרבה שעכשיו על קו שניים, הוא הולך להודיע 74 00:03:58,170 --> 00:04:02,460 מהדר שזה צריך לכלול את תוכן של CS50.H באשר הם 75 00:04:02,460 --> 00:04:06,620 בכונן הקשיח שלי הפנימי של התכנית שלי, וכך לחנך את המהדר כדי 76 00:04:06,620 --> 00:04:09,050 מה כוונה במחרוזת. 77 00:04:09,050 --> 00:04:13,420 >> בואו להדר מחדש את התכנית שלי לאחר שמירת השינויים. 78 00:04:13,420 --> 00:04:15,500 הפוך שלום אחד. 79 00:04:15,500 --> 00:04:16,440 Enter. 80 00:04:16,440 --> 00:04:17,730 הרבה יותר טוב. 81 00:04:17,730 --> 00:04:23,760 עכשיו יש לי הפקודה מהבהבת שבו אני ניתן להקליד ". / שלום אחד", וזהו. 82 00:04:23,760 --> 00:04:25,010 שלום דוד. 83 00:04:25,010 --> 00:04:26,402