>> SPEAKER 1: בסדר.
שהתכנית האחרונה הייתה קצת משעממת.
בואו נלך קדימה ולהתאים אישית זה קצת.
במקום להגיד שלום עולם, למה אנחנו לא הולכים קדימה
ותגיד, הלו דוד?
ובכן, כדי לעשות את זה, אני יכול לגשת זה בכמה דרכים.
אני יכול, כמובן, קוד פשוט קשה דוד, אבל זה לא כל כך
שונה במהותו מהגרסה האחרונה.
אז בואו לקחת קפיצה קדימה, לבטל כי לשנות, ובמקום להכניס חדש
שורת קוד שבו השורה חמש שהייתה פעם.
>> באופן ספציפי, מה שאני הולך לעשות כאן הוא מוסיף בשם מחרוזת, ובכך
הכרזה על משתנה.
שים לב כי ב-C, לא רק שיש לך לתת למשתנה שם, אשר ב
מקרה זה הוא שם, יש לך גם כדי לציין איזה סוג שהוא.
נצטרך לראות סוגים אחרים לפני זמן רב, בין שלהם מספרים שלמים ונקודה צפה
ערכים ויותר, אך לעת עתה, מחרוזת הוא רק מילה או ביטוי, יותר
באופן רשמי, רצף של אפס תווים או יותר.
אז באותו הרגע, הקו הזה הוא חמש אמירה, תן לי משתנה בשם שם
נתונים שסוג היא מחרוזת.
>> עכשיו, אני רוצה לאחסן את ערך לשם, ולעשות את זה ב-C, אנו משתמשים בשווים
לחתום, הידוע גם אופרטור ההשמה.
אז אני הולך להמשיך באופן הבא.
שווה ציטוט, סוף ציטוט, D-A-V-I-D, ציטוט סגור, פסיק.
ההשפעה נטו בקו חמש עכשיו היא להכריז על מחרוזת, D-A-V-I-D, אחסון
זה מהצד הימני של זה ביטוי למשתנה על
צד שמאל של ביטוי זה.
אז עד הסוף של קו זה, יש לנו D-A-V-I-D מאוחסן בתוך משתנה
קרא בשמה.
>> עכשיו בואו להשתמש במשתנה זה.
על קו שש, אני הולך להחליף עולם עם מציין המיקום.
% S מוגדר על פי תיעוד של printf כמו להיות
מציין מיקום עבור מחרוזת.
במילים אחרות, זה דרך של יידוע printf שאני הולך לשים
ערך אחר כאן, אבל תן לי להגיד לך בעוד רגע מה
זה הולך להיות.
עכשיו, איך אני ממשיך לספר לי printf מה הערך שהוא הולך להיות?
>> ובכן, אני צריך לספק printf עם טענה שנייה, ולעשות את זה, אני
צריך לשים פסיק אחרי הראשון כזה טענה, שזו מצוטטת
מחרוזת, ואז אני צריך לציין מה ערך שאני רוצה לחבר לזה
מציין המיקום של הטענה הראשונה.
אז את שמו של המשתנה שלי הוא, כמובן, שם, כך שזה די להקליד
"שם" כשני טיעון לprintf.
עכשיו אל תלכו שולל.
למרות שיש פסיק בתוך המחרוזת המצוטטת, שאכן
בתוך המחרוזת אז זה לא להפריד בין ויכוח אחד למשנהו.
רק הפסיק הזה זה מחוץ לזה מחרוזת ציטטה מפרידה למעשה
הטענה הראשונה של printf מ הטיעון השני שלה.
>> בואו עכשיו לקמפל תכנית זו.
הפוך שלום אחד.
אלוהים אדירים, חמש שגיאות שנוצרו, ושל התכנית שלי
רק שבעה קווים ארוכים.
ובכן, כמו תמיד, לא מסתכל על האחרון של השגיאות על המסך שלך.
תראה הראשון כי אולי יש לפיה השפעה מדורגת
רק שגיאה אחת למעלה נוצרה עליונה מראה של יותר טעויות ממה שיש
הם באמת.
>> אז תן לי לגלול למעלה, וראשון מסוגו שגיאה מודגשת כאן היא שימוש
מחרוזת מזהה לא מוצהרת.
האם אתה מתכוון סטנדרטי ב?
ובכן, לא, אני לא.
אני עשיתי את מתכוון מחרוזת, אבל מסתבר שאני שכח את המחרוזת שאינה קיימת כ
סוג הנתונים טכני ב C. מבחינה מושגית זה קיים, אבל המילה
"מחרוזת" קיימת רק בגלל CS50 צוות שהכריז עליה, כביכול,
בקובץ שאנו עצמנו כתבנו.
למעשה, כפי שרק מישהו מזמן הכריז פונקצית printf בקובץ
נקראים תקן IO.H, כך גם אנחנו צוות להכריז מחרוזת כסוג הנתונים ב
קובץ זה, אין זה מפתיע, נקרא CS50.H.
>> אז בואו נחזור לחלק העליון שלי לתכנת ולהודיע ​​למהדר כי
לא רק אני רוצה להשתמש בסמל מחרוזת, אני גם רוצה לחנך
מהדר על מה שסמל זה אומר.
ולעשות את זה בפשטות, אני יכול ללכת בחזרה לשורה אחת, להוסיף שורה חדשה
כאן, ומוסיף, "כולל CS50.H" גם בין סוגריים זווית.
הוראה זו, כמו הרבה שעכשיו על קו שניים, הוא הולך להודיע
מהדר שזה צריך לכלול את תוכן של CS50.H באשר הם
בכונן הקשיח שלי הפנימי של התכנית שלי, וכך לחנך את המהדר כדי
מה כוונה במחרוזת.
>> בואו להדר מחדש את התכנית שלי לאחר שמירת השינויים.
הפוך שלום אחד.
Enter.
הרבה יותר טוב.
עכשיו יש לי הפקודה מהבהבת שבו אני ניתן להקליד ". / שלום אחד", וזהו.
שלום דוד.