1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:00,860 >> ΟΜΙΛΗΤΗΣ 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 και να πω, γεια σου David; 7 00:00:09,680 --> 00:00:12,500 Λοιπόν, για να το κάνετε αυτό, θα μπορούσαν να προσεγγίσουν αυτό σε μια-δυο τρόπους. 8 00:00:12,500 --> 00:00:15,760 Θα μπορούσα, φυσικά, μόνο σκληρή κώδικα David, αλλά αυτό δεν είναι όλα ότι 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 αξίες και περισσότερο, αλλά για τώρα, string είναι απλώς μια λέξη ή μια φράση, περισσότερα 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 Ισούται απόσπασμα, unquote, D-Α-V-Ι-Α, κλειστή απόσπασμα, ερωτηματικό. 25 00:01:10,220 --> 00:01:15,595 Το καθαρό αποτέλεσμα στην γραμμή πέντε τώρα είναι να κηρύξει χορδών, οι D-Α-V-Ι-Α, την αποθήκευση 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 Έτσι, μέχρι το τέλος αυτής της γραμμής, έχουμε Ϋ-Α-V-Ι-ϋ αποθηκεύονται μέσα μιας μεταβλητής 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 On line έξι, Πάω να αντικαταστήσει κόσμο με ένα σύμβολο κράτησης θέσης. 32 00:01:35,010 --> 00:01:39,960 % S ορίζεται σύμφωνα με το τεκμηρίωση για την printf ως ένα 33 00:01:39,960 --> 00:01:41,690 θέση αντικειμένου για ένα string. 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 string, και τότε θα πρέπει να διευκρινίσει τι αξία θέλω να συνδέσετε σε αυτό 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 στο εσωτερικό του string έτσι δεν διαχωρίζουν ένα επιχείρημα από την άλλη. 47 00:02:24,370 --> 00:02:28,740 Μόνο αυτό το κόμμα που είναι έξω από αυτό string με χωρίζει πραγματικότητα 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 >> Επιτρέψτε μου λοιπόν να μετακινηθείτε προς τα επάνω, και η πρώτη τέτοια boldfaced λάθος εδώ είναι η χρήση του 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 Θα σήμαινε εγχόρδων, αλλά αποδεικνύεται I ξέχασε ότι σειρά δεν υφίσταται ως 62 00:03:06,700 --> 00:03:10,830 τύπο δεδομένων σε τεχνικά Γ. Εννοιολογικά υπάρχει, αλλά η λέξη 63 00:03:10,830 --> 00:03:16,210 "String" υπάρχει μόνο επειδή η 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 >> Οπότε ας πάμε πίσω στην κορυφή μου προγραμματίσετε και να ενημερώνει τον compiler που 69 00:03:36,340 --> 00:03:40,130 όχι μόνο μπορώ να θέλετε να χρησιμοποιήσετε το σύμβολο εγχόρδων, θέλω επίσης να εκπαιδεύσει το 70 00:03:40,130 --> 00:03:42,160 compiler για το τι σημαίνει αυτό το σύμβολο. 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 compiler που θα πρέπει να περιλαμβάνει το περιεχόμενα του CS50.H όπου κι αν βρίσκονται 75 00:04:02,460 --> 00:04:06,620 στο σκληρό δίσκο μου μέσα από το πρόγραμμά μου, αυτόν τον τρόπο την εκπαίδευση του compiler ως προς 76 00:04:06,620 --> 00:04:09,050 τι εννοείται με κορδόνι. 77 00:04:09,050 --> 00:04:13,420 >> Ας recompile το πρόγραμμα μου μετά από την αποθήκευση των αλλαγών. 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 Τώρα έχω μια ερώτηση που αναβοσβήνει κατά την οποία θα να πληκτρολογήσετε ". / γεια ένα", και voila. 82 00:04:23,760 --> 00:04:25,010 Γεια σου David. 83 00:04:25,010 --> 00:04:26,402