>> JASON Hirschhorn: Καλώς ήρθατε CS50 ενότητα, όλοι.
Το όνομά μου είναι Jason Hirschhorn.
Είμαι πολύ σου TFs, αλλά πολλά οι άνθρωποι ελπίζουμε ότι θα μας ενώνει
σε απευθείας σύνδεση, οι μαθητές επέκταση ή φοιτητές προσπαθούμε να δούμε μέσα από το τμήμα, εφόσον
χαμένη ενότητα τους αυτή την εβδομάδα ή μόλις καλύψουν τη διαφορά, αν ήθελαν
να επανεξετάσει κάποιο υλικό.
>> Έτσι, σύμφωνα με το αναλυτικό πρόγραμμα, που όλα από εσάς έχουν διαβάσει, σωστά;
Βλέπω πολλά γνέφει το κεφάλι.
Τμήματα που παρέχουν ευκαιρίες να διερευνήσει την πορεία του
υλικού σε ένα πιο οικείο περιβάλλον, καθώς και να βουτήξει
hands-on δραστηριότητες.
>> Έτσι, αυτό είναι βασικά αυτό που είμαστε πρόκειται να κάνει κάθε εβδομάδα.
Εμείς πάμε για να περάσουν από αυτό που έχουμε προσδιορίστηκε να είναι το πιο σημαντικό
θέματα που καλύπτονται σε διάλεξη, και αυτά πιθανώς επίσης και πιο χρήσιμο
πιο πιθανό να καταλήξει σε σύνολα πρόβλημα και κουίζ, και στην κωδικοποίηση σας
τη ζωή έξω από CS50.
Έτσι θα πάμε για να πάει σε αυτά τα θέματα, τα συζητήσουμε, να πάει πάνω τους,
απαντήσει σε οποιεσδήποτε ερωτήσεις που εσείς έχετε, και τότε θα πάμε να κάνουμε πολλά
πράξη προβλήματα στην κωδικοποίηση.
>> Μπορείτε έφερε Όλοι οι φορητοί υπολογιστές, το οποίο είναι φανταστικό.
Αυτό είναι μια κατηγορία της επιστήμης των υπολογιστών.
Ωστόσο, πολλές από τις ασκήσεις που κάνουμε, δεν θα χρειάζονται φορητούς υπολογιστές σας.
Μπορείτε να τα κάνετε σε ένα φύλλο χαρτιού.
Αυτό είναι το πώς θα πάμε να κάνει τους στο κουίζ.
Και πράγματι, αυτό είναι ένας πολύ καλός τρόπος για να πραγματικά να ξέρετε ότι πώς να το κάνουμε
κάτι αν δεν έχετε Ελέγξτε 50 επικαλεστεί ή να κάνει για να βασιστείτε, λέγοντας
έχετε κάνει κάποια λάθη.
>> Έτσι, είστε ευπρόσδεκτοι να κώδικα για την συσκευής ή run.cs50.net, η οποία είναι
ένα άλλο εργαλείο που σας επιτρέπει να κώδικα σε απευθείας σύνδεση, αλλά θα ήθελα επίσης να συστήσω, αν
δεν το έχετε δοκιμάσει, χρησιμοποιώντας ένα φύλλο από χαρτί και προσπαθούμε αυτές τις πρακτικές
προβλήματα σε ένα φύλλο χαρτιού.
Επειδή και πάλι, αυτό είναι τελικά τι πρόκειται να
ζήτησε να κάνουμε για κουίζ.
>> Ας ξεκινήσουμε με μας ημερήσια διάταξη για σήμερα.
Εμείς πάμε για να πάει πέρα ​​από ορισμένους κανόνες για την τμήμα μας, τότε θα πάμε να βουτήξει
σε συστοιχίες, λειτουργίες, και τη γραμμή εντολών επιχειρήματα, τα οποία είναι ό, τι εσείς
κάλυψαν την περασμένη εβδομάδα στη διάλεξη και στη συνέχεια Δευτέρα και τι θα καλύψει
περισσότερα από αύριο.
Και τελικά, θα πάμε να μιλήσουμε για pset2.
Αν θα μπορούσα να πάρω μια ανάταση των χεριών, αν δεν έχουν εξετάσει το σύνολο πρόβλημα δύο
προδιαγραφές.
Θα πω σε όλους.
Fantastic.
>> Θα μιλήσουμε για τα σύνολα πρόβλημα σε ένα κομμάτι, αλλά αν διαβάσετε το σύνολο πρόβλημα
προδιαγραφές, αυτό είναι το μόνο που χρειάζεται να κάνετε.
Αν διαβάσετε ότι πριν έρθει στην τάξη και ενότητα, την Τρίτη, θα
είναι μια μεγάλη θέση.
Μπορούμε να περάσουν από το σύνολο πρόβλημα, το οποίο είναι αυτό που θα πάμε
να κάνει στο τέλος.
Εμείς πάμε για να περάσουν η λογική, βεβαιωθείτε
όλοι είναι στην ίδια σελίδα.
>> Θέλω να είναι σε θέση να εγκαταλείψουν την Τρίτη αισθάνεται πολύ άνετα με αυτό που
πρέπει να κάνουμε για την παύση πρόβλημα αυτής της εβδομάδας, και αν δεν το κάνετε, θα το κάνω ευχαρίστως
μείνετε μετά και να συνεργαστούμε μαζί σας.
Αλλά αυτό είναι ένα πράγμα που θα πρέπει να κάνω, αλλά πιστεύω ότι θα ήταν πολύ έξυπνο,
ακριβώς για να διαβάσετε το σύνολο πρόβλημα προδιαγραφές ανά κατηγορία, την Τρίτη,
το οποίο ακούγεται σαν ένα πολλοί από εσάς παιδιά έκαναν.
>> Θα ξεκινήσω με μια ημερήσια διάταξη κάθε τάξη ώστε να γνωρίζουν πού θα πάμε.
Αυτό είναι επίσης χρήσιμο για άτομα που παρακολουθούν απευθείας σύνδεση, επειδή κάθε τμήμα
είναι χρώμα που κωδικοποιείται, οπότε αν θέλετε να έρθετε πίσω και απλά να παρακολουθήσετε 10 λεπτά και όχι
από το σύνολο 90 λεπτά ενότητα, μπορείτε απλά να πάτε στο χρώμα που κωδικοποιείται τμήμα
και να εξετάσουμε σε αυτό το μέρος.
Έτσι έχω προσπαθήσει να τους χωρίσει σε ωραία ενότητες που θα σας επιτρέψει να -
αν θέλετε να έρθει πίσω και να επανεξετάσει, ή άλλους φοιτητές που είναι ακριβώς
βλέποντας μια ενότητα για έλεγχο -
για να βρείτε το συγκεκριμένο πράγμα που θέλουν να δώσουν προσοχή στην
και να μάθετε περισσότερα.
Sweet.
>> Πρότυπα.
Είμαι ένας ηγέτης FOP στην πανεπιστημιούπολη.
Δεν ξέρω αν κάποιος το έκανε FOP.
Μήπως κάποιος κάνει FOP;
Ένα πρόσωπο που έκανε FOP.
Δύο άνθρωποι έκαναν FOP.
Awesome.
Έτσι, FOP είναι το πρώτο έτος Outdoor Το πρόγραμμα προσανατολισμού.
Παίρνουμε πρωτοετών φοιτητών μέσα στο δάσος και να κάνουν οι πιο μαγευτικές εμπειρίες της
τη ζωή τους, σωστά;
Ναι.
Ήχοι για το δικαίωμα.
>> Γι 'αυτό ακριβώς ήθελε να αρχίσει να μας πρώτη τμήμα με τη συζήτηση ορισμένων κανόνων
για τη θέση και τη σχέση μας επειδή πιστεύω ότι
ότι είναι πολύ σημαντικό.
Πρώτον και κύριον, όπως εκείνους από εσάς που είναι το τμήμα μου έχουν λάβει και
έχει συζητηθεί από το ότι e-mail, μου αρέσει αυτό.
Αυτό είναι το αγαπημένο μου μέρος του έτους.
Είμαι τόσο ενθουσιασμένος.
Είμαι εδώ για ώρες σήμερα.
Δεν έχω εγκαταλείψει το κτίριο αυτό, εκτός από την πάει να φάει επειδή αγαπώ CS50 τμήμα,
αγαπούν τη διδασκαλία, μου αρέσει να δουλεύω με σας παιδιά.
>> Μία από τις υψηλότερες προτεραιότητές μου, αν δεν μου νούμερο ένα προτεραιότητα, όχι μόνο για
αυτή την κατηγορία αλλά συμπεριλαμβάνονται οι άλλοι μου τάξεις και extracurriculars, είναι να
υποστήριξη σας παιδιά, και να σας βοηθήσω, και κάνω το καλύτερό μου για να σας κάνει να είστε σίγουροι ότι
παιδιά έχουν μια θαυμάσια, διασκέδαση, παραγωγικό, συναρπαστική, συναρπαστικό
εμπειρία σε αυτή την κατηγορία.
Γι 'αυτό είμαι αποφασισμένη να.
Γι 'αυτό μου αρέσει να κάνω αυτό.
Αυτός είναι ο αριθμός μου ένα πράγμα, υποστήριξη σας παιδιά.
Εάν έχετε οποιεσδήποτε απορίες σχετικά με διάλεξη, το σύνολο πρόβλημα, το τμήμα,
τη ζωή, ακόμα κι αν θέλετε να μιλήσουμε για τη ζωή, μη διστάσετε να φτάσει.
>> Έχετε τον αριθμό του κινητού μου τηλεφώνου, Έχετε e-mail μου
διεύθυνση, που έχετε GChat μου.
Μπορείτε να επικοινωνήσετε μαζί μου ή όλων των αυτές κάθε φορά, αλλά πιθανότατα δεν θα πάρει
μια απάντηση κάθε φορά.
Προσπαθώ και να πάρει πίσω μέσα σε 24 ώρες.
Πολλάκις θα είναι μέσα 20 λεπτά ή 24 λεπτά.
Θα έπρεπε να είχα πει ότι να καταστεί παράλληλες.
Αλλά θα πάρετε μια απάντηση αρκετά γρήγορα.
>> Αν το κείμενο μου μια ώρα πριν από την που είναι το πρόβλημα οφείλεται, θα σας ηρεμήσει
κάτω και να κάνουμε βαθιές ασκήσεις αναπνοής μαζί σας, αλλά αν δεν έχουν αρχίσει,
είστε κατά πάσα πιθανότητα δεν πρόκειται να τελειώσει, και Δεν μπορώ να σας βοηθήσει πραγματικά εκεί έξω
ακόμα κι αν εγώ θα προσπαθήσω το καλύτερό μου.
Γι 'αυτό και θα κάνει τα πάντα Μπορώ να σας υποστηρίξει.
Παρακαλώ μη διστάσετε να φτάσει το αν Είναι στο σημείο και πάλι, σε ώρες γραφείου
αν με δει, ή ακόμη και εκτός.
Είμαι στην ευχάριστη θέση να δημιουργήσει ένα χρόνο για να ανταποκριθεί και το έργο μέσα από τα προβλήματα
με ή να πάει πέρα ​​από το υλικό.
Έτσι που είναι το νούμερο ένα, υποστήριξη.
Θα κάνω ό, τι μπορώ μπορεί να σας υποστηρίξει.
>> Νούμερο δύο, συνάντηση στη μέση.
Όσο και θα ήθελα να είναι, είμαι δεν είναι παντοδύναμος ή παντοδύναμο ή
τα ξέρει όλα, οπότε δεν ξέρω όλα τα χρόνο, αν αυτό που κάνω είναι να πάρει
σε, αν ο τρόπος που διδάσκω το το θέμα σας βοηθά να μάθουν, ή αν
βρίσκονται σε σύγχυση σχετικά με το θέμα, αλλά δεν σηκώστε το χέρι σας ή με ρωτούν
ή στείλτε μου ένα email.
Ή ακόμα και αν, πάλι, βρίσκονται σε σύγχυση για κάτι για το σύνολο πρόβλημα.
Αν δεν φτάσει σε μένα, Δεν μπορώ να ξέρω στα σίγουρα.
Πάω να κάνω το καλύτερό μου για να κάνουν check-in σε εσείς, βεβαιωθείτε ότι όλα είναι
πάνε καλά, προσπαθούμε να διδάξουμε τα πράγματα με έναν τρόπο που θα είναι ευνοϊκό για περισσότερα από
μαθησιακά στυλ σας, αλλά αν δεν υπάρχει Μπορώ να κάνω κάτι, επιτρέψτε μου να ξέρω.
>> Κατά μήκος αυτών των γραμμών, αν θέλετε κάποια βοήθεια με το σύνολο πρόβλημα, είμαι πιο
από ευτυχής να σας βοηθήσει με το σετ προβλήματος.
Εμείς πάμε να κάνουμε πολλά ότι προς το δεύτερο
το ήμισυ του παρόντος τμήματος.
Αλλά αν δεν έχετε διαβάσει το πρόβλημα θέτει πίσω και να μην έχουν παρακολουθήσει την βόλτα
μέσα και δεν έχουν παρακολουθήσει τις ταινίες μικρού μήκους και με περιμένει να σας διδάξει
ό, τι έχει βιντεοσκοπημένη online ή ότι μπορείτε να βρείτε στο CS50
μελέτη, η οποία δεν είναι πραγματικά δίκαιο να μένα ή σε άλλους συμμαθητές σας.
>> Επομένως, σας παρακαλώ, είμαι περισσότερο από ευτυχής να σας βοηθήσει σας, αλλά εσείς πήρε να με συναντήσει στο
η μέση.
Έχουμε τόνους των πόρων για την που διατίθενται στην CS50.
Ανέφερα μερικά από αυτά.
Παρακαλείστε να επωφεληθούν από αυτές.
Αν είστε σε σύγχυση, είμαι περισσότερο από ευτυχής να σας βοηθήσει να τους εξηγήσει
Ένας άλλος τρόπος, αλλά δεν είναι δίκαιο αν οι μαθητές εμφανίζονται σε ώρες γραφείου,
δεν έχουν αρχίσει τίποτα, και είναι Πέμπτη το βράδυ και είναι αναμένει
η TF για να τους καθοδηγήσει σε κάθε ενιαία πράγμα για το πρόβλημα που οφείλεται
το μεσημέρι της επόμενης ημέρας.
Έχει νόημα;
Και πάλι, παρακαλούμε να μας συναντήσουν στη μέση.
>> Και τέλος, υψηλές προσδοκίες.
Πάω να είναι όλοι ταξινόμησης που είναι στο τμήμα μου, ή βαθμολόγησης σας
σύνολα πρόβλημα.
Δεν έχετε πάει πίσω πρόβλημα που έχει μηδέν ή ένα ακόμα.
Λυπούμαστε γι 'αυτό.
Μας πήρε λίγο για τελικά εγκατασταθούν τμήματα, και τώρα
μπορούμε να αρχίσουμε ταξινόμησης.
>> Θα τους πάρει πίσω σε σας το ταχύτερο δυνατόν.
Αυτά είναι μερικά από μου advisees εκεί έξω.
Θα τους πάρει πίσω σε σας το ταχύτερο δυνατόν.
Και για τα δύο σετ πρόβλημα, θα είμαστε σε το χρονοδιάγραμμα και θα αρχίσουμε να πάρει τους
να σας αρκετά γρήγορα μετά που θα τους μετατρέψουν μέσα
>> Όταν παίρνετε το πρόβλημά σας που πίσω, θα θα πάρει αποτελέσματα, όπως γνωρίζετε από
διαβάζοντας τη διδακτέα ύλη - ορθότητα, σχεδιασμό, το πεδίο εφαρμογής, και το στυλ σκορ.
Θα πάρετε επίσης τις παρατηρήσεις.
Τα σχόλια είναι πιο σημαντικό από τις βαθμολογίες.
Νομίζω ότι είναι ασφαλές να πούμε ότι.
>> Παρτιτούρες είναι απλά ένας αριθμός από ένα έως πέντε.
Είναι δύσκολο να διαβάσετε σε αυτές.
Είναι δύσκολο να βελτιωθεί από αυτές.
Αλλά οι παρατηρήσεις θα επισημάνει συγκεκριμένα πράγματα που έκανε καλά ή περιοχές
μπορείτε να βελτιώσετε και να σας δώσει μερικές ιδέες για το μέλλον ή εναλλακτικές
τρόπους να κάνουμε πράγματα.
>> Επομένως, σας παρακαλώ, σας παρακαλώ, διαβάστε μέσω των σχολίων.
Έβαλα πολύ χρόνο σε τα σχόλια αυτά.
Παρακαλούμε διαβάστε τους και να κάνουν όχι μόνο μετακινηθείτε προς τα κάτω στο κάτω μέρος της
PDF, ψάξτε για το αποτέλεσμά σας, ή να πάτε σε απευθείας σύνδεση και να βρει το σκορ σου, και στη συνέχεια να αγνοήσει
τα σχόλια.
Αυτό δεν είναι το πώς είσαι πρόκειται να πάρει καλύτερα.
Αυτό δεν είναι το πώς θα πάμε να αυξήσει τα αποτελέσματά σας σε τελική ανάλυση, μόνο
εξετάζοντας τα αποτελέσματα.
Παρακαλώ κοιτάξτε τις παρατηρήσεις αυτές.
>> Και κατά μήκος της γραμμής των υψηλών προσδοκιών, και πάλι, όπως είπα,
μπορεί να σκοράρει από το ένα μέχρι πέντε.
Δυάρια, τριάρια και τεσσάρια είναι το συντριπτική πλειοψηφία των σκορ
εσείς πρόκειται να πρέπει να πάρει.
Ones και πέντε ετών και οι δύο πραγματικά σπάνιο.
Υπάρχει πάντα τα πράγματα μπορούμε να κάνουμε κάτι καλύτερο.
Κάθε φορά που κωδικοποιεί ένα πρόγραμμα, υπάρχει πάντα κάτι
θα μπορούσε να γίνει καλύτερη.
>> Έτσι, αντί να λέει μπορείτε να πάρετε μια πέντε όλη την ώρα για τα πάντα και έκανε
τα πάντα τέλεια, δεν νομίζω ότι καμία από εμάς πραγματικά πιστεύουμε ότι μπορούμε - ή
Ας ελπίσουμε ότι δεν κάνουμε ό, τι τέλεια όλη την ώρα.
Έτσι, μην ανησυχείτε αν δεν είχε πάρει πέντε.
Ένα πέντε δεν χαρτογραφήσει επάνω σε ένα Α, τεσσάρων δεν χαρτογραφήσει επάνω σε μία ομάδα Β, τριών κάνει
Δεν χάρτη σε ένα C. Αυτό δεν είναι Πώς λειτουργούν τα αποτελέσματα.
>> Όπως ο David έχει πει πολλές φορές, σε τέλος του εξαμήνου είναι όλα τα αποτελέσματα σας και
εισροών από μένα, TF σας, ελάτε μαζί και να καθορίσει τον τελικό βαθμό για εσάς.
Αλλά και πάλι, δεν είναι πέντε, Α, τέσσερα, Β, κ.λπ..
Έτσι, Πάω να έχουν υψηλές προσδοκίες για σας παιδιά.
Πάω να περιμένουμε καλά το πρόβλημα σύνολα και είμαι πρόκειται να δώσει
τα σχόλιά σας ως τέτοια.
Και αυτό δεν πρόκειται να σημαίνει ότι είσαι πρόκειται να πάρει ένα χειρότερο βαθμό.
Θα βαθμολογούνται από την άποψη της την πρόοδό σας από εβδομάδα
μηδέν μέχρι το τέλος του μαθήματος.
>> Και τέλος, από την άποψη της υψηλής προσδοκίες στην τάξη, μου αρέσει όταν
άνθρωποι συμμετέχουν.
Καταλαβαίνω μερικοί άνθρωποι αισθάνονται περισσότερο ή λιγότερο άνετα συμμετέχουν.
Άλλοι άνθρωποι συμμετέχουν Δεν σηκώνοντας το χέρι τους και
μιλάμε όλη την ώρα.
Αλλά εμείς σε αυτή την κατηγορία θα είναι κάνει πολλά μικρά προβλήματα, πολλά
μίνι ερωτήσεις, και στη συνέχεια κάποιες μεγαλύτερα προβλήματα κωδικοποίησης.
Έτσι σίγουρα δουλειά αυτές τις ασκήσεις out όταν τα κάνουμε στον υπολογιστή σας ή σε
ένα φύλλο χαρτί.
>> Αλλά εγώ θα σας δώσει επίσης κάποιο χρόνο πριν κάποιος έχει ποτέ να απαντήσει σε μερικές
από τις ερωτήσεις που ζητώ.
Έτσι, γιατί θα σας δώσει κάποιο χρόνο για να το σκέφτομαι, γιατί θα πάμε
να κάνουμε τα πράγματα μερικές φορές εταίρους, Θα περιμένουμε όλους
να ασχολούνται κάπως.
Και για την έλλειψη ενός καλύτερου όρου, υπάρχουν πιθανότατα θα είναι cold calling, η οποία
είναι όπου όλοι θα έχουν την ευκαιρία για να σκεφτεί για την απάντηση, και στη συνέχεια
Θα καλέσω σε σας, και στη συνέχεια θα σας πω την απάντηση.
>> Μην ανησυχείτε ή να φοβάται γι 'αυτό.
Το έχω κάνει στο παρελθόν και έχουμε βρεθεί ότι είναι πολύ πιο επιτυχής,
επίσης να διαβάσετε εκπαιδευτική έρευνα για να καθορίσει αν ήταν ή όχι ένα
καλή τακτική.
Είναι πολύ χρήσιμο, ειδικά αν δίνουν στους μαθητές χρόνο να σκεφτεί για το
απαντήσεις και να μην τα αναγκάζετε να έρθει μόνο έξω και να πω δεξιά από το ρόπαλο.
Αλλά αν δεν αισθάνεστε άνετα απάντηση, είμαι επίσης πολύ καλός στο
αίσθησης ότι έξω, και εμείς δεν πρόκειται να που σας επί τόπου, ιδίως όσον αφορά
η φωτογραφική μηχανή, παρόλο που κανένας από είστε στην κάμερα τώρα.
>> Έτσι, αυτές είναι οι κανόνες που έχω.
Ένα περισσότερο πράγμα κατά μήκος των γραμμών της συνεδρίασης στη μέση.
Πάω να σας δώσω πολλά σχόλια.
Παρακαλώ να μου δώσει πληροφορίες, καθώς και.
Υπάρχει μια ιστοσελίδα, sayat.me/cs50.
Γι 'αυτό είναι μια έντιμη γνώμη.
Αν θέλετε να το δώσει κατά τη διάρκεια του τμήματος, Παίρνω ένα e-mail κάθε φορά που συμβαίνει αυτό.
Θα κάνουμε ένα διάλειμμα σε ένα κομμάτι, γι 'αυτό θα κοιτάξετε μέσα από την ανατροφοδότηση τότε.
Αν έχετε ποτέ οποιαδήποτε σχόλια, παρακαλούμε να το δώσει σε μένα εκεί.
>> Αν μου δώσει πληροφορίες σχετικά με την Q, που είναι υπέροχο, αλλά αυτό είναι ο οδηγός
που κάνετε στο τέλος.
Αλλά αυτό θα είναι στο τέλος του εξαμήνου, ώστε Δεν θα είναι σε θέση να λάβει οποιαδήποτε από ότι
ανατροφοδότηση και να το μετατρέψει σε διδασκαλία εσείς καλύτερα.
Επομένως, σας παρακαλώ, αν έχετε οποιαδήποτε ανατροφοδότηση, το δώσει σε μένα.
Λατρεύω ανατροφοδότηση.
Επιστροφή στην FOP, παίρνουμε feedback όλη την ώρα.
>> Μπορείτε να μου δώσετε τα συν, τα καλά πράγματα, δέλτα, πράγματα που μπορώ να βελτιώσουμε την κατάσταση.
Μπορείτε να σχολιάσετε ρούχα μου.
Αυτό δεν θα είναι τόσο χρήσιμο, αλλά είστε ευπρόσδεκτοι να σχολιάσει οποιαδήποτε και
τα πάντα.
Παρακαλώ, παρακαλώ να μου δώσει πληροφορίες.
Εκτιμώ πολύ και αυτό Σημαίνει πολλά για μένα.
>> Ένας ακόμη κανόνας, διασκέδαση.
Εμείς πάμε για να έχουν πολλή διασκέδαση.
Ας ελπίσουμε ότι σε αυτό το μάθημα, θα είστε έχουν πολλή διασκέδαση.
Θα έχουν καραμέλα στο τμήμα.
Θα έχετε τη μουσική.
Θα πρέπει να ελπίζουμε να γνωρίσουμε ο ένας ένα άλλο κάπως καλά, έτσι θέλω
αυτό να είναι μια διασκεδαστική, συναρπαστική εμπειρία.
>> Ξέρω ότι κάποιοι από εσάς έχουν αποκοιμηθεί στο οι διαλέξεις που είχε νωρίτερα σήμερα,
οπότε ελπίζω ότι δεν θα είναι η περίπτωση τώρα.
Και αν αυτό συμβαίνει τώρα, απλά δεν ροχαλίζουν γιατί αυτό θα μπορούσε
να πιαστεί στην κάμερα.
Sweet.
Οποιεσδήποτε ερωτήσεις, σχόλια, ή ανησυχίες πριν προχωρήσουμε σε οτιδήποτε έχουμε
μίλησε;
Μεγάλη.
>> Έτσι θα πάμε για να πάει σε συστοιχίες πρώτα.
Αυτό είναι το πώς θα κάνει μια σειρά.
Το έχουμε δει αυτό πριν.
Έχετε έναν τύπο δεδομένων, έχετε ένα όνομα, και στη συνέχεια να έχουν ένα μέγεθος.
Ακριβώς εδώ, μπορώ να δημιουργήσω δύο πίνακες.
Το πρώτο είναι μια σειρά από χαρακτήρες, και έχει 26 θέσεις.
Το δεύτερο είναι ένας πίνακας βαθμολογίες, και έχει τρεις
χώρους για τρεις ακέραιοι.
Ναι;
>> ΦΟΙΤΗΤΗΣ: Είναι όλες αυτές τις διαφάνειες διαθέσιμο κάπου για μας;
>> JASON Hirschhorn: Μεγάλη ερώτηση.
Το ερώτημα ήταν, είναι όλα αυτές τις διαφάνειες διαθέσιμες;
Ναι.
Όλες αυτές οι διαφάνειες θα είναι διαθέσιμα, και στο μέλλον, θα τους email στο
σας πριν από το τμήμα.
Αλλά σήμερα, διότι αυτή είναι η πρώτη εβδομάδα, είχαμε μια καθυστερημένη έναρξη.
Έτσι, συνήθως, θα πάρετε αυτές τις διαφάνειες, αλλά θα είναι διαθέσιμη στο διαδίκτυο και
Θα τα email σας ακριβώς μετά το μάθημα.
Οποιεσδήποτε άλλες ερωτήσεις;
>> Έτσι και πάλι, οι πίνακες είναι κουτιά, λόγω έλλειψης μια καλύτερη λέξη, που κατέχουν πολλαπλές
στοιχεία ενός τύπου δεδομένων, και είναι το ένα δίπλα στο άλλο στη μνήμη.
Και έτσι πάλι, αυτό είναι το πώς μπορείτε να κάνω δύο τύποι πινάκων.
>> Έτσι, αφού έχετε κάνει σειρά σας ότι η πρώτη γραμμή - int σκορ, βραχίονα
τρεις, κλείσιμο παρένθεσης - σας θέλετε να γίνει η προετοιμασία.
Θέλετε να βάλετε κάποιες τιμές εκεί.
Και αυτό είναι το πώς να βάλετε κάποιες τιμές σε εκεί, επιλέγοντας απλά το indice και
εγγράφως τον αριθμό.
Ας συντάξει αυτή στο διοικητικό συμβούλιο.
Μπορεί ο καθένας να δει;
Ο καθένας μπορεί να δει.
Sweet.
>> Έτσι, αυτό πρόκειται να είναι μου array ονομάζεται Παρτιτούρες.
Όπως μπορείτε να δείτε, είναι το μέγεθος των τριών.
Υπάρχουν τρία κουτιά εκεί.
Ο καθένας μπορεί να χωρέσει ό, τι είδος των δεδομένων τύπου;
>> ΣΠΟΥΔΑΣΤΩΝ: Ακέραιος.
>> JASON Hirschhorn: Ένας ακέραιος σε αυτό το ένα.
Γράψαμε int σκορ, και την πρώτη λέξη είναι το είδος των δεδομένων που πρόκειται να
πάνε τα πεδία στην εν λόγω διάταξη.
Έτσι μπορώ να χωρέσει τρεις.
Γιατί έχω μηδέν έως υπάρχουν στον πίνακα;
Γιατί δεν το λένε μηδέν σκορ είναι ίσο με 1;
Θύμισέ μου το όνομά σας.
>> ΣΠΟΥΔΑΣΤΩΝ: Kurt.
>> JASON Hirschhorn: Kurt.
>> ΦΟΙΤΗΤΗΣ: Ναι.
>> JASON Hirschhorn: Γιατί;
>> ΦΟΙΤΗΤΗΣ: Επειδή ο πρώτος δείκτης είναι μηδέν, μπορούμε να αρχίσουμε να μετράμε από το μηδέν.
>> JASON Hirschhorn: Ξεκινούμε λοιπόν καταμέτρηση στο μηδέν.
Αυτό είναι ακριβώς σωστό.
Αυτή είναι η σύγχυση μέρος και το ταξίδι βούληση σας επάνω, ειδικά όταν είστε
προσπαθώντας να επαναλάβει μέσω συστοιχίες, που θα κάνουμε σε λίγο.
Είμαστε αρχίζουν να μετρούν από το μηδέν.
Έτσι, αν θέλω να αναφερθώ στην πρώτη πλαίσιο, δεν είναι ένα κουτί.
Δυστυχώς, αυτό είναι το μηδέν κουτί.
Το δεύτερο είναι ένα κουτί, και σε αυτό περίπτωση, το τρίτο είναι το πλαίσιο δύο.
>> Τι γίνεται με κουτί τρία;
Πού είναι το κουτί τρία;
Ή αν θέλω να κάνω σκορ, βραχίονα τρεις, κλείσιμο παρένθεσης, τι είναι αυτό;
Έτσι είπε το null χαρακτήρα.
Οποιεσδήποτε άλλες σκέψεις;
Τι είναι το στήριγμα σκορ τρεις βραχίονα;
>> ΦΟΙΤΗΤΗΣ: Είναι στην ουσία δεν υπάρχει, διότι το μόνο που ορίζεται ως σκορ,
βραχίονα τρεις.
>> JASON Hirschhorn: Έτσι λέτε δεν υπάρχουν πραγματικά.
Σε ορισμένες περιπτώσεις, όταν έχουμε να κάνουμε με χορδές, σε γενικές γραμμές θα βάλουμε ένα null
χαρακτήρα στο τέλος.
Θα φτάσουμε σε αυτό σε ένα δευτερόλεπτο.
Αλλά στην περίπτωση αυτή, υπάρχει δεν είναι τρίτη θέση εδώ.
Έτσι, το τελευταίο πλαίσιο σε κάθε συστοιχία είναι το μέγεθος μείον 1.
Έτσι, αν έχουμε μια σειρά από n το μέγεθος, η πρώτη θέση είναι στο μηδέν, η τελευταία είναι
σε n μείον 1.
Και σε αυτή την περίπτωση, δεν υπάρχει.
Υπάρχει κάτι εδώ μνήμης, αλλά δεν είναι δικό μας.
Εμείς δεν το κατέχουν.
Εμείς δεν το ζητήσετε.
Έτσι, αν προσπαθήσουμε να την πρόσβαση, τον οποίο και θα κάνει σε λίγο, θα πρόκειται πιθανώς να
μπει σε μπελάδες.
>> Σε αυτή την περίπτωση, είμαι αρχικοποίηση μου πίνακα με τρεις μεταβλητές.
Βάζουμε το ένα στη θέση μηδέν, δύο σε ένα κουτί, και τρεις στη θέση δύο.
Μήπως κάποιος έχει απορίες σχετικά με την προετοιμασία μια σειρά;
>> Έτσι, πήγαμε πάνω από αυτό μόλις τώρα.
Παρτιτούρες, βραχίονα τρεις, κλείσιμο παρένθεσης, που δεν υπάρχει.
Είμαστε μηδενικό δείκτη στην επιστήμη των υπολογιστών, έτσι ώστε να αρχίζουν να μετρούν από το μηδέν.
Η τελευταία θέση στη διάθεσή μας, είναι η τρίτη θέση, αλλά λέγεται box
νούμερο δύο.
>> Κάτω, αυτό είναι ένα εναλλακτικό τρόπος για την προετοιμασία συστοιχίες.
Έτσι, αντί να δημιουργήσει τη συστοιχία σε έναν γραμμή, συμπληρώνοντας την πρώτη θέση, στη συνέχεια,
το δεύτερο πλαίσιο, τότε το τρίτο πλαίσιο, μπορείτε να τα κάνετε όλα σε μία γραμμή.
Έτσι, σε αυτή τη γραμμή, οι δύο συστοιχίες.
Αυτό δημιουργεί την ίδια ακριβώς σειρά όπως αυτό που δημιουργήσαμε εδώ, αλλά
κάνει ακριβώς αυτό σε μία γραμμή.
>> Τώρα έχουμε δημιουργήσει σειρά μας.
Συνήθως τη στιγμή που θα δημιουργήσει μια σειρά, θα θέλουμε να κάνουμε κάτι με αυτό, αν
που είναι το γεμίσετε ή να πάρει τα πράγματα έξω από αυτό και να τα εκτυπώσετε στην οθόνη.
Σε αυτή την περίπτωση, θα πάμε μέσα μας σκορ συστοιχία, το οποίο αρχικοποιείται σε
η πρώτη γραμμή εδώ πάνω σε γκρι χρώμα.
Και στη συνέχεια, στη δεύτερη γραμμή, θα αρχίσουμε επανάληψη μέσω της συστοιχίας.
Μήπως κάποιος έχει απορίες σχετικά με η δομή ενός βρόχου for;
>> Έτσι, αυτό είναι το βρόχο for.
Έχουμε την αρχική μας κατάσταση, και στη συνέχεια τελική μας κατάσταση, και στη συνέχεια θα
επαναλάβει, i, κάθε βρόχο.
Και τα άγκιστρα σε αυτό για βρόχο, τι θα συμβεί αν μου ήταν να τρέξει
αυτό το πρόγραμμα;
Μπορεί κανείς να μου πει τι θα πάρετε;
[? Matu; ?]
>> Matu: Εκτυπώστε όλες τις βαθμολογίες σε κάθε γραμμή.
Θα εκτυπώσετε το κάθε σκορ σε ξεχωριστή γραμμή.
>> JASON Hirschhorn: Τι ακριβώς θα το εκτυπώσετε;
>> ΦΟΙΤΗΤΗΣ: Θα εκτυπώσετε μία, στη συνέχεια, δύο, τότε τρία.
>> JASON Hirschhorn: Ακριβώς.
Θα εκτυπώσετε μία, στη συνέχεια, δύο, στη συνέχεια, τρία, το καθένα σε ξεχωριστές γραμμές, γιατί
θα πάμε μέσω της σειράς και θα είστε δείτε αυτό το δεύτερο, η printf
δήλωση, σκορ i.
Έτσι, στον πρώτο γύρο μέσω μας βρόχου, i ισούται με μηδέν, που σημαίνει ότι είμαστε
να πάρει την τιμή στο σκορ μηδέν -
η οποία, αν πάμε πίσω στο διάγραμμα μας, είναι ένα -
και συμπληρώνοντας -
oh, λέει c.
Αυτός πρέπει να είναι% d.
Θα καθορίσει ότι σε λίγο, όταν I χέρι που σε εσάς παιδιά.
Αλλά είμαστε παρουσιάζοντας ακέραιος έτσι ώστε να θα πρέπει να είναι% d εδώ, δεν γ%.
Τι είναι το γ% για;
>> ΣΠΟΥΔΑΣΤΩΝ: χαρακτήρων.
>> JASON Hirschhorn: Χαρακτήρας, ακριβώς.
Ποιο είναι το άλλο;
Εάν δεν θέλετε να κάνετε d% για ένα ακέραιος, τι άλλο μπορείτε να κάνετε;
>> ΣΠΟΥΔΑΣΤΩΝ: i.
>> JASON Hirschhorn:% i, ακριβώς.
Έτσι, οποιεσδήποτε ερωτήσεις σχετικά με την επανάληψη μέσω της συστοιχίας;
Έτσι τι συμβαίνει αν το κάνουμε αυτό;
Αντί να κάνει i είναι μικρότερο από τρεις, που μπορώ να είναι μικρότερη
από ή ίσο με τρία.
Τι συμβαίνει όταν τρέχουμε τον κώδικα;
Ναι, Annie;
>> ΦΟΙΤΗΤΗΣ: Θα πάμε για να εκτυπώσετε περίεργα πράγματα για την τέταρτη γραμμή.
>> JASON Hirschhorn: Έτσι είπε, είναι πρόκειται να εκτυπώσετε περίεργα πράγματα σχετικά με την
τέταρτη γραμμή;
Πιστεύει κανείς να έχει μια απάντηση στην ερώτησή της;
Έτσι είναι οι πιθανότητες ότι όταν έχουμε την ευκαιρία να το -
έτσι για τον τέταρτο γύρο μέσω για μας βρόχο, ακριβώς όπως νόμιζες, Annie,
θα είναι τα αποτελέσματα βραχίονα τρία, τα οποία έχουμε ήδη καταλάβει δεν
υπάρχουν, και θα πάμε να προσπαθήσουμε και η πρόσβαση σε αυτό, να το εκτυπώσετε
έξω, το χρησιμοποιούν με κάποιο τρόπο.
Έτσι, ο υπολογιστής θα είναι πιθανώς θυμώνεις μαζί μας.
Έχεις απόλυτο δίκιο.
>> Θα μπορούσε να εγκαταλείψει το πρόγραμμα συνολικά.
Θα μπορούσε να εκτυπώσετε κάτι πραγματικά περίεργο.
Μπορείτε δεν μπορεί να πει με σιγουριά.
Οι πιθανότητες είναι κατά πάσα πιθανότητα θα θυμώνεις σας και μόλις σταματήσουν αμέσως.
>> Αλλά αυτό είναι ένα κοινό λάθος που θα έχετε όπου είστε ακριβώς έξω από ένα σε
το τέλος, και αυτό είναι ένα πρόβλημα που θα πανούκλα σας καθ 'όλη κωδικοποίησης σας.
Ένας τρόπος που μου αρέσει να κάνετε είναι απλά για μια whiteboard, περνούν από κάθε επανάληψη
του βρόχου στο χέρι ή σε χαρτί για να δείτε τι συμβαίνει, και τότε θα
γενικά συνειδητοποιήσει, OH περιμένει, εγώ δεν θα πρέπει να έχουν προχωρήσει σε μικρότερο ή
ίση με τρία.
Θα έπρεπε να είχα σταματήσει σε δύο, το οποίο είναι Τι θα συμβεί αν η κατάστασή σας είναι λιγότερο
από τρία.
Όλες οι ερωτήσεις μέχρι τώρα;
Sweet.
>> Έτσι, έχετε όλοι τους υπολογιστές σας ανοιχτά.
Εμείς πάμε για να σας δώσω τρεις παρα δύο λεπτά για να γράψει ένα πρόγραμμα που
δημιουργεί έναν πίνακα με τους ακέραιους αριθμούς ένα μέσα από πέντε και στη συνέχεια εκτυπώνει καθένα
ακέραιο σε μια νέα γραμμή.
Και εάν έχετε οποιεσδήποτε ερωτήσεις, σηκώστε το χέρι σας.
Είμαι στην ευχάριστη θέση να έρθουν κοντά.
Όπως είπα, ας ρίξουμε τρεις λεπτά για να γράψει αυτό.
Είναι όλοι εντάξει, αν πάω σε ένα νέο παράθυρο και να κλείσει αυτό;
>> Λυπάμαι αν δεν είχατε την ευκαιρία για να ολοκληρωθεί, αλλά θα πάμε να το κάνουμε
μαζί τώρα.
Έτσι, στην οθόνη, έχω # include cs50.h, # include stdio.h.
Μπορεί κάποιος να μου πει τι οι δύο γραμμές να κάνω;
Μάικλ;
>> ΦΟΙΤΗΤΗΣ: Περιλαμβάνουν τις βιβλιοθήκες ότι CS50 έκανε και ότι ο Steve έχει
αποθηκεύονται για να μπορείτε να χρησιμοποιήσετε για να κάνουν τη ζωή σας πιο εύκολη.
>> JASON Hirschhorn: Έτσι είπατε ότι περιλαμβάνουν τις βιβλιοθήκες, μια που CS50
γίνει, cs50.h, και ένα που είναι απλά τυπική, έρχεται με
το πακέτο C, stdio.h.
Τι εννοείς περιλαμβάνουν οι βιβλιοθήκες, όμως;
Μπορείτε να είστε λίγο πιο συγκεκριμένος;
>> ΦΟΙΤΗΤΗΣ: Καθιστά έτσι ώστε να μπορείτε να χρησιμοποιούν ορισμένες λέξεις κώδικα για να έχουν
λειτουργούν συμβεί χωρίς να χρειάζεται να πάει και να καταστήσουν τη λειτουργία του c εαυτό σας.
>> JASON Hirschhorn: μπορείτε να να μου δώσετε ένα παράδειγμα;
>> ΦΟΙΤΗΤΗΣ: Όπως printf είναι ένα που μπορείτε να χρησιμοποιήσετε.
>> JASON Hirschhorn: Printf.
Έτσι είπε printf είναι μία από αυτές λειτουργίες, όπου αντί να χρειάζεται να
γράψτε printf για τη δική σας, είναι printf περιλαμβάνονται πραγματικά στο stdio.h, έτσι ώστε να
μπορούν να χρησιμοποιήσουν αυτό ακριβώς και να αναλάβει ότι αυτό θα λειτουργήσει.
Στην stdio.h, αν ανοίξει το αρχείο, θα το περιλαμβάνουν το πώς printf
έργα, το σύνολο των κώδικας για printf;
Γιατί είστε κουνώντας το κεφάλι σας;
>> ΦΟΙΤΗΤΗΣ: Επειδή το αρχείο header μόνο περιλαμβάνει τη δήλωση της συνάρτησης.
>> JASON Hirschhorn: Ακριβώς δεξιά.
Το αρχείο επικεφαλίδα περιλαμβάνει μόνο η δήλωση της συνάρτησης.
Έτσι, βασικά, όταν η συγκέντρωση αυτών, χτύπησε Κάντε Count, που θα κάνουμε σε μια
Δεύτερον, ο compiler ξέρει ότι αν χρησιμοποιείτε printf, printf υπάρχει.
Είναι πρόκειται να οριστεί κάπου.
Δεν είναι ένα πρόβλημα για να το χρησιμοποιείτε.
Και στη συνέχεια, αργότερα, θα περιλαμβάνει το αυτά και μηδενικά που πραγματικά περιέχουν
εφαρμογή printf και συγχωνεύσει με τον κωδικό σας.
Πώς μπορείτε να βεβαιωθείτε ότι περιλαμβάνει το μονάδες και μηδενικά, ας πούμε, να πάρει σειρά;
>> ΦΟΙΤΗΤΗΣ: Πάρτε string είναι σε cs50.h.
>> JASON Hirschhorn: Σωστά.
Έτσι που λέει να πάρει σειρά υπάρχει, η δήλωση της συνάρτησης.
Στη συνέχεια, όμως οι μονάδες και μηδενικά, το δυαδικό αρχείο που περιλαμβάνει στην πραγματικότητα η
εφαρμογή του get σπάγκο;
Πώς μπορείτε να βεβαιωθείτε ότι πηγαίνει με το πρόγραμμά σας;
>> ΦΟΙΤΗΤΗΣ: Περάστε το συνδετήρα στο το επιχείρημα της γραμμής εντολών.
>> JASON Hirschhorn: Περάστε το συνδετικό στο επιχείρημα της γραμμής εντολών.
Πώς το κάνεις αυτό;
>> ΦΟΙΤΗΤΗΣ: Είναι το L-γραμμή στην κλαγγή
>> JASON Hirschhorn: Ακριβώς δεξιά.
Λέτε-l CS50, έτσι δεν είναι;
Αυτό περιλαμβάνει τις μονάδες και μηδενικά.
>> ΦΟΙΤΗΤΗΣ: βεβαιωθείτε όμως δεν που για σας, έτσι δεν είναι;
>> JASON Hirschhorn: Ακριβώς.
Κάντε το κάνει αυτό για σας, αλλά τελικά, θα έχετε να κάνετε, ή
θα πρέπει να κάνει μια Μάρκα για τη δική σας, έτσι ώστε να είναι ένα
καλό πράγμα που πρέπει να θυμόμαστε.
Εάν επρόκειτο να χρησιμοποιήσει ένα από αυτά άλλες βιβλιοθήκες, όχι μόνο δεν θα έχετε
να γράψετε # include και τότε η βιβλιοθήκη.
Θα πρέπει επίσης να συνδεθεί μέσα
Και αυτά τα δύο πράγματα είναι διαφορετικά. -L CS50 είναι διαφορετική
από ό, τι περιλαμβάνουν # cs50.h.
>> Στη συνέχεια έχουμε int main κενό τιράντες σγουρά, και τώρα θα πάμε με τον κωδικό
μέσα στον κεντρικό.
Η πρώτη γραμμή που έχω εδώ είναι ένα σχόλιο που λέει, θα δημιουργήσει μια σειρά
με ints ένα έως πέντε.
Τι είναι μια καλή λέξη για να περιγράψει αυτό που έχουμε τώρα στην οθόνη, ακριβώς
σχόλια μέσα στο κύριο;
Τι λέμε αυτό;
>> ΣΠΟΥΔΑΣΤΩΝ: Ψευδοκώδικας.
>> JASON Hirschhorn: Ψευδοκώδικας.
Σας ευχαριστώ, Jeffrey.
Αυτό είναι ακριβώς σωστό.
Ψευδοκώδικας.
Έχετε δει παιδιά pseudocode πριν;
Σηκώστε το χέρι σας αν έχετε χρησιμοποιήσει pseudocode πριν από το πρόβλημα που ένα.
Περίπου οι μισοί από εσάς.
>> Θα συνιστούσα ανεπιφύλακτα τη χρήση pseudocode να σπάσει τα προβλήματα σε
μικρότερα, πιο εύκολο να κοπεί κομμάτια.
Επίσης, αν κάνετε την ψευδοκώδικα, σας Τα σχόλιά σας ήδη σε μεγάλο βαθμό
που χτίστηκε το, έτσι ώστε να μην χρειάζεται να πάμε πίσω και να προσπαθήσουμε να καταλάβουμε
τι έκανες.
Έτσι, μπορεί κάποιος να μου δώσει αυτή την πρώτη γραμμή για να δημιουργήσετε έναν πίνακα με ένα ints
μέσω πέντε;
Μπορείτε;
>> ΦΟΙΤΗΤΗΣ: Int και στη συνέχεια μπορείτε να καλέσετε ανεξάρτητα από τον αριθμό, και στη συνέχεια πλατεία
στήριγμα πέντε.
>> JASON Hirschhorn: Έτσι int αριθμούς, αγκύλη πέντε.
>> ΦΟΙΤΗΤΗΣ: Ίσο, και τότε άγκιστρα.
>> JASON Hirschhorn: Ίσο, άγκιστρα.
>> ΦΟΙΤΗΤΗΣ: Ένα, δύο, τρία, τέσσερα.
>> JASON Hirschhorn: Ένα, δύο, τρία, τέσσερα, πέντε.
>> ΦΟΙΤΗΤΗΣ: Και τότε άγκιστρα και στη συνέχεια ερωτηματικό.
>> JASON Hirschhorn: Και σγουρά τιράντες και ερωτηματικό.
Εξαιρετικό.
Εκτυπώστε κάθε int σε μια νέα γραμμή.
Μπορεί κάποιος άλλος να μας δώσει μου ότι κώδικα, παρακαλώ;
[? Matu; ?]
Προχωρήστε.
>> ΦΟΙΤΗΤΗΣ: Για (
>> JASON Hirschhorn: Για (
>> ΦΟΙΤΗΤΗΣ: int i = 0
>> JASON Hirschhorn: int i = 0
>> ΦΟΙΤΗΤΗΣ: Ερωτηματικό i λιγότερο από πέντε.
>> JASON Hirschhorn: Άνω τελεία, θ είναι μικρότερη από 5.
>> ΦΟΙΤΗΤΗΣ: Ερωτηματικό, i + +.
>> JASON Hirschhorn: Άνω τελεία, i + +.
>> ΦΟΙΤΗΤΗΣ: Κλειστά παρενθέσεις, στη συνέχεια, ανοίξτε τιράντες.
>> JASON Hirschhorn: Κλειστά παρενθέσεις και δύο τιράντες.
Μέσα στα σιδεράκια;
>> ΦΟΙΤΗΤΗΣ: Και τότε printf "% d / n"
>> JASON Hirschhorn: Συγγνώμη, κρατήστε την.
Printf "% d / n, κλειστό απόσπασμα.
>> ΦΟΙΤΗΤΗΣ: Και τότε κλειστή προσφορά, κόμμα, μετράνε, βραχίονα i.
>> JASON Hirschhorn: Comma, καταμέτρηση, βραχίονα i.
>> ΦΟΙΤΗΤΗΣ: Συγγνώμη, βραχίονα αριθμούς i.
>> JASON Hirschhorn: Αριθμοί, βραχίονα i.
>> ΣΠΟΥΔΑΣΤΩΝ: Συγγνώμη.
Και στη συνέχεια να κλείσει παρενθέσεις, ερωτηματικό.
>> JASON Hirschhorn: Κλειστά παρένθεση, τελεία.
Πάω να σώσει αυτό.
Εμείς πάμε για να κάνει καταμέτρηση.
Και πώς μπορώ να εκτελέσω το μέτρημα;
>> ΣΠΟΥΔΑΣΤΩΝ: Backslash.
>> ΦΟΙΤΗΤΗΣ: Dot κάθετο -
>> JASON Hirschhorn:. / Μετρήσει, ακριβώς.
Σας ευχαριστώ. . / Μετράνε.
Ένα, δύο, τρία, τέσσερα, πέντε για τις νέες γραμμές.
Φαίνεται ότι λειτούργησε.
Ναι, ο Νώε;
>> ΦΟΙΤΗΤΗΣ: Θα μπορούσατε επίσης να κάνετε μικρότερη ή ίσο με τέσσερα, όπως και i είναι μικρότερο από ό, τι
ή ίση με τέσσερα;
Υπάρχει κανένα όφελος να κάνει λιγότερο εκεί από πέντε, ή απλώς ένας διαφορετικός τρόπος
γράψιμο;
>> JASON Hirschhorn: Έτσι, το ερώτημα είναι εσείς θα μπορούσε να κάνει i είναι μικρότερη ή
ίσο με τέσσερα αντί i είναι μικρότερη από πέντε.
Θα που έχουν εργαστεί το ίδιο;
>> ΦΟΙΤΗΤΗΣ: Θα πρέπει.
>> JASON Hirschhorn: Ναι.
Είναι εντελώς θα λειτουργούν με τον ίδιο.
Στιλιστικά, είναι γενικά μικρότερη από ό, τι, και θα δείτε σε ένα δεύτερο, όταν
κάνουμε χορδές, μπορείτε να χρησιμοποιήσετε κάτι ονομάζεται strlen, το οποίο έχετε δει
πριν, για να πάρει το μήκος του string.
Και δεν μπορείτε να κάνετε λιγότερο από ό, τι ή ίση strlen.
Θα μπορούσατε να κάνετε μικρότερη ή ισούται με strlen μείον ένα.
Έτσι είναι ακριβώς καλύτερο να κάνει λιγότερο από strlen.
Ναι;
>> ΦΟΙΤΗΤΗΣ: Και στην πραγματική κουίζ, κάντε θα πρέπει να διατυπώσουν τις παρατηρήσεις τους σχετικά με μας
κώδικα, καθώς;
>> JASON Hirschhorn: Το ερώτημα ήταν στο κουίζ, εσείς
Πρέπει να διατυπώσουν τις παρατηρήσεις τους;
Γι 'αυτό θα μιλήσουμε περισσότερο για το κουίζ όταν έρχονται, αλλά γενικά, μια καλή
κανόνας είναι όταν είστε τη σύνταξη κώδικα, να διατυπώσει παρατηρήσεις.
Εάν παίρνετε το λάθος κωδικό, αλλά το σχολιάσουν το δικαίωμα, μπορείτε να πάρετε κάποια
πίστωσης τόσο από μένα αν ήμουν ταξινόμησης σας σε ένα σύνολο πρόβλημα ή σε ένα κουίζ.
Έτσι, τα σχόλια είναι πάντα καλό να παρέχει.
Sweet.
Μετρήστε.
Εξαιρετική δουλειά.
Ας προχωρήσουμε.
>> Strings.
Strings.
Το έχουμε δει αυτό πριν στη διάλεξη.
Αυτό φύσηξε το μυαλό μου όταν ανιχνεύθηκε για πρώτη φορά αυτό.
Πιθανότατα δεν φυσήξει κανενός απασχολήσει εδώ, αλλά αυτό είναι εντάξει.
>> Χορδές είναι πίνακες χαρακτήρων, και καταλήγουν με, όπως είπατε και προηγουμένως,
η μηδενική τερματισμού, η οποία είναι αυτό / 0 χαρακτήρα.
Αν θα πάμε να σχεδιάσετε μια σειρά σχετικά με τις του σκάφους, θα το συντάξει εδώ.
Έτσι, πόσο καιρό είναι αυτή η σειρά;
Λυπάμαι.
Πόσο καιρό είναι αυτή η σειρά;
>> ΦΟΙΤΗΤΗΣ: [δεν ακούγεται].
>> JASON Hirschhorn: Four;
Γιατί είναι τέσσερα;
>> ΦΟΙΤΗΤΗΣ: Επειδή η πέμπτη θέση είναι για τον null χαρακτήρα.
>> JASON Hirschhorn: Έτσι, η πέμπτη θέση είναι για τον null χαρακτήρα.
Έτσι, εάν επρόκειτο να τρέξει strlen για αυτό, θα μου δώσει τέσσερις.
Διορθώστε.
Και η σειρά, όμως, αν θα έπρεπε να προετοιμαστεί αυτό το array, πόσες θέσεις
θα πρέπει να ζητήσετε;
>> ΣΠΟΥΔΑΣΤΩΝ: Πέντε.
>> JASON Hirschhorn: Πέντε.
Θα έπρεπε να ζητήσει πέντε, αλλά μπορώ τίθεται μόνο τέσσερις χαρακτήρες εδώ
γιατί πρέπει να θέσει αυτό το null τερματιστή για το τέλος.
Έτσι θα πάμε για να γράψει σε "ohai» και θέσει το null τερματισμού στο στο τέλος.
Θα έλεγα ότι αυτό είναι εγχόρδων s ισούται με αυτό.
Τι είναι το s βραχίονα μηδέν;
s βραχίονα μηδέν, Annie;
>> ΦΟΙΤΗΤΗΣ: O.
>> JASON Hirschhorn: O, ακριβώς. s βραχίονα ένα;
s βραχίονα πέντε;
>> ΦΟΙΤΗΤΗΣ: Δεν υπάρχουν.
>> JASON Hirschhorn: Δεν υπάρχουν.
Ακριβώς δεξιά.
Cool.
Οποιεσδήποτε ερωτήσεις σχετικά με την κατανόηση χορδές ως πίνακες χαρακτήρων;
Εντάξει, τότε.
Ένα ακόμη πρόγραμμα για σας παιδιά.
Γράψτε ένα πρόγραμμα που ζητά από το χρήστη για μια σειρά συνέχεια εκτυπώνει καθένα
χαρακτήρα σε μια νέα γραμμή.
Έτσι, ας ρίξουμε τρία λεπτά για να γράψει Το πρόγραμμα αυτό, και στη συνέχεια θα το κωδικό
ως ομάδα.
>> Λυπάμαι.
Μήπως θα πρέπει να δούμε αυτό;
>> ΦΟΙΤΗΤΗΣ: Όχι.
>> JASON Hirschhorn: OK.
Ας πάρουμε ένα λεπτό για να κωδικοποιήσει αυτό, ή τουλάχιστον να ξεκινήσετε με αυτό.
>> Έτσι, μπορείτε να συνεχίσετε να εργάζεστε, αλλά Πάω να αρχίσει να πηγαίνει μέσα από αυτό.
Έτσι, όπως και πριν, έχω στην οθόνη # Περιλαμβάνουν cs50.h, # include stdio.h.
int main κενό.
Μέσα σε αγκύλες κύριο, έχω δύο παρατηρήσεις, ψευδοκώδικας.
Η μία είναι να ζητήσει μια σειρά από τον χρήστη.
Το δεύτερο είναι να εκτυπώσετε το καθένα χαρακτήρα σε μια νέα γραμμή.
Έτσι, Anna, μπορείτε να μου δώσετε ρωτήσω για μια σειρά από το χρήστη;
>> ΣΠΟΥΔΑΣΤΩΝ: Printf.
>> JASON Hirschhorn: Printf;
>> ΦΟΙΤΗΤΗΣ: Ναι.
(
>> ΙΑΣΩΝ Hirschhorn: (
>> ΦΟΙΤΗΤΗΣ: «Δώσε μου ένα string.
>> JASON Hirschhorn: "δώστε μου ένα str - ουπς -
string.
>> ΦΟΙΤΗΤΗΣ: / n ") ερωτηματικό.
>> JASON Hirschhorn: Τέλος το string, κλειστή παρένθεση, τελεία.
>> ΦΟΙΤΗΤΗΣ: Ναι.
Και τότε την επόμενη γραμμή, string s = πάρει string.
>> JASON Hirschhorn: String s = πάρει string.
>> ΦΟΙΤΗΤΗΣ: Ναι.
Και στη συνέχεια ()
>> ΙΑΣΩΝ Hirschhorn: ()
>> ΣΠΟΥΔΑΣΤΩΝ: Άνω τελεία.
>> JASON Hirschhorn: Άνω τελεία.
Fantastic.
Έτσι, Πάω να πάρετε ένα string και Πάω να το αποθηκεύσετε σε ό, τι;
Ποια είναι η μεταβλητή που ονομάζεται που δημιουργήσατε;
>> ΦΟΙΤΗΤΗΣ: String s.
>> JASON Hirschhorn: Η μεταβλητή ονομάζεται s.
Είναι τύπου string.
Ακριβώς.
Το επόμενο πράγμα που θέλουμε να είναι εκτυπώσετε κάθε χαρακτήρας σε μια νέα γραμμή.
Ποιος μπορεί να μου δώσει τον κώδικα;
[Δεν ακούγεται];
Μπορείς να το δώσει σε μένα;
>> ΣΠΟΥΔΑΣΤΩΝ: Σίγουρα.
>> JASON Hirschhorn: Ας το κάνουμε.
Και συγνώμη.
Δεν ήθελα να επαναλάβω αυτό που λέτε επειδή είστε το πάρει σωστό, αλλά εγώ
Πρέπει να το επαναλάβω, έτσι ώστε όταν μεταγράψει αυτό, μπορούν να πάρουν το σύνολο των
το εκτός κειμένου για τις μεταγραφές.
Έτσι, μπορείτε απλά να μιλάτε.
Δυστυχώς, έχω να το πω πέρα ​​από σας.
Λυπάμαι, αλλά -
>> ΦΟΙΤΗΤΗΣ: Αυτό είναι μια χαρά.
Για int i = 0
>> JASON Hirschhorn: Για int i = 0
>> ΦΟΙΤΗΤΗΣ: I λιγότερο από -
>> JASON Hirschhorn: Άνω τελεία.
>> ΦΟΙΤΗΤΗΣ: Πριν από αυτό, μπορούμε να βάλουμε ένα μεταβλητή, έτσι μπορείτε να πάρετε int μήκος του ονόματος;
>> JASON Hirschhorn: Ω, δεν το κάνετε θέλετε να βάλετε το ερωτηματικό;
OK.
Έτσι, ό, τι θέλετε να κάνετε μετά το μηδέν;
>> ΦΟΙΤΗΤΗΣ: Θέλω να πάρω το μήκος συμβολοσειράς του s και
ορίζεται ότι για μια μεταβλητή;
>> JASON Hirschhorn: OK, Λοιπόν, πώς μπορώ να το κάνω;
>> ΦΟΙΤΗΤΗΣ: Έτσι κάνετε int length =
>> JASON Hirschhorn: Int μήκος =
>> ΦΟΙΤΗΤΗΣ: S-Τ-Ε-Ε-Ε-Ν.
>> JASON Hirschhorn: Σ-Τ-Ε-Ε-Ε-Ν -
>> ΦΟΙΤΗΤΗΣ: Από s.
Βάσεις.
>> ΙΑΣΩΝ Hirschhorn: (ες).
>> ΦΟΙΤΗΤΗΣ: Και τότε πιστεύω ότι θα πρέπει να βάλει ένα ερωτηματικό μεταξύ των δύο ints.
>> JASON Hirschhorn: Ένα ερωτηματικό μετά από το μηδέν;
>> ΦΟΙΤΗΤΗΣ: Ναι.
Στη συνέχεια, βάλτε ένα ερωτηματικό μετά από αυτό, και λέτε, λιγότερο από το μήκος.
θ μικρότερη από το μήκος, το οποίο είναι η μεταβλητή.
>> ΦΟΙΤΗΤΗΣ: Και τότε ερωτηματικό.
>> JASON Hirschhorn: Άνω τελεία.
>> ΦΟΙΤΗΤΗΣ: i + +.
>> JASON Hirschhorn: i + +.
Υπάρχει για το βρόχο μας.
Εντάξει, μέσα στο for loop.
>> ΦΟΙΤΗΤΗΣ: Και στη συνέχεια, κάντε printf.
>> JASON Hirschhorn: Printf.
>> ΣΠΟΥΔΑΣΤΩΝ: Βάσεις.
>> JASON Hirschhorn: παρενθέσεις, εισαγωγικά.
>> ΦΟΙΤΗΤΗΣ: παρενθέσεις, εισαγωγικά,% c / n.
>> JASON Hirschhorn: c%, OK.
>> ΦΟΙΤΗΤΗΣ: / n.
>> JASON Hirschhorn: / n.
>> ΦΟΙΤΗΤΗΣ: Κλειστά εισαγωγικά.
>> JASON Hirschhorn: Κλειστά εισαγωγικά.
>> ΣΠΟΥΔΑΣΤΩΝ: Comma.
>> JASON Hirschhorn: Comma.
>> ΦΟΙΤΗΤΗΣ: S.
>> JASON Hirschhorn: S.
>> ΦΟΙΤΗΤΗΣ: Στήριγμα i.
>> JASON Hirschhorn: Στήριγμα i.
>> ΦΟΙΤΗΤΗΣ: Και στη συνέχεια κλείνει παρενθέσεις.
>> JASON Hirschhorn: Κλειστά παρενθέσεις.
>> ΦΟΙΤΗΤΗΣ: Και τότε ερωτηματικό.
>> JASON Hirschhorn: Άνω τελεία.
Fantastic.
Οπότε ας το αποθηκεύσετε.
Κάντε ξόρκι.
Oh boy.
Έχω ένα ζευγάρι των λαθών.
Πρώτο λάθος στη γραμμή 11, που λέει, αναμένεται έκφραση, και είναι δίνοντας
με ένα σφάλμα ότι η δεύτερη int, υπάρχει το σφάλμα.
Υπάρχει κάποια λάθος εκεί γύρω.
Ξέρει κανείς τι λάθος έχει αυτό;
Kurt;
>> ΦΟΙΤΗΤΗΣ: Νομίζω ότι έπρεπε να είναι ένα κόμμα και όχι ένα ερωτηματικό.
>> JASON Hirschhorn: OK, ένα κόμμα αντί για ένα ερωτηματικό.
Έτσι, είναι ότι όλοι πρέπει να το διορθώσω;
>> ΦΟΙΤΗΤΗΣ: Όχι.
>> JASON Hirschhorn: Τι άλλο χρειαζόμαστε για να το διορθώσω;
>> ΦΟΙΤΗΤΗΣ: Πρέπει να περιλαμβάνει string.h.
>> JASON Hirschhorn: Συμπερίληψη string.h.
Πού μπορώ να χρειάζεται να συμπεριληφθεί;
>> ΦΟΙΤΗΤΗΣ: Στο ίδιο μέρος που είστε, συμπεριλαμβανομένων τα άλλα πράγματα, το δικαίωμα
μετά περιλαμβάνουν stdio.h.
>> JASON Hirschhorn: Ας δούμε αν αυτό λειτουργεί πρώτο γιατί γενικά, μου αρέσει
να καθορίσει ένα πράγμα πρώτα, και στη συνέχεια, εκτελέστε αυτό, και στη συνέχεια να δούμε τα λάθη που έχουμε.
Έτσι θα πάμε για να καθαρίσετε το τερματικό με τον έλεγχο n, ας κάνουν μάγια.
Έτσι, ένα άλλο σφάλμα στη γραμμή 11.
Αναμενόμενη ερωτηματικό.
Και είμαι ακόμα να πάρει λάθη σε αυτή τη γραμμή.
Γι 'αυτό δεν μου έδωσε ένα λάθος λέγοντας ότι δεν καταλαβαίνει τι είναι strlen,
αλλά αυτό μου δίνει τα λάθη σε αυτό γραμμή, έτσι ώστε ό, τι άλλο είναι λάθος;
Mark;
Marcus.
>> ΦΟΙΤΗΤΗΣ: Έχετε να αφαιρέσετε το δεύτερο int δήλωση;
>> JASON Hirschhorn: Κατάργηση το δεύτερο int.
Ας προσπαθήσουμε αυτό.
Τώρα σαφές το τερματικό.
Κάντε ξόρκι.
Error.
Εμμέσως δηλώνοντας βιβλιοθήκη συνάρτηση strlen.
Έτσι τώρα μπορούμε να δούμε το σφάλμα.
Τι πρέπει να περιλαμβάνει;
>> ΣΠΟΥΔΑΣΤΩΝ: string.h.
>> JASON Hirschhorn: Συμπερίληψη string.h, Θα κάνουμε # include string.h στην κορυφή
της οθόνης.
Ας σώσει, να ξόρκι.
Τώρα καταρτίζονται.
Έτσι και πάλι, τα πράγματα που απαιτούνται για να θυμάμαι την ατάκα 12 σε βρόχο για μας, όταν
θα φαινόταν ότι για τη δημιουργία, int i = 0, μήκος = strlen (ες).
>> Αυτό είναι μια φανταστική στρατηγική.
Το στυλ αυτό είναι μεγάλη, η σχεδιασμό αυτό είναι μεγάλη.
Μπορούμε να πάμε σε αυτούς τους λόγους αργότερα, αλλά με αυτόν τον τρόπο το μόνο που χρειάζεται να καλέσετε
strlen μία φορά και όχι κάθε φορά που θα τρέξει μέσα από το βρόχο.
Ωστόσο, θα πρέπει να χρησιμοποιήσετε ένα κόμμα εκεί και δεν χρειάζεται int και πάλι.
Αν είστε δηλώνοντας τόσο αυτούς που μεταβλητές μαζί,
Δεν χρειάζεται int και πάλι.
Και στη συνέχεια, αν πρόκειται να χρησιμοποιήσετε strlen, η οποία είναι μια άλλη βιβλιοθήκη
δεν λειτουργούν περιλαμβάνονται στο stdio.h ή cs50.h, να
ότι έχετε συμπεριλάβει string.h.
Kurt;
>> ΦΟΙΤΗΤΗΣ: Έτσι, στη συνέχεια, αν δεν χρειάζεται να πω τι μήκος τύπου είναι, κάνει ότι
σημαίνει ότι πρέπει να είναι int;
Δεν θα μπορούσε να έχει δύο διαφορετικές τύποι εκεί;
>> JASON Hirschhorn: Έτσι θα μπορούσε έχουν δύο διαφορετικούς τύπους.
Μήκος είναι ένα int εδώ, όμως.
Μήκος είναι ένα int επειδή είναι κόμμα και στη συνέχεια το ίδιο πράγμα.
>> ΦΟΙΤΗΤΗΣ: Έτσι υποθέτει ότι πρόκειται να είναι η ίδια με την πρώτη;
>> JASON Hirschhorn: Ακριβώς.
Εμείς δεν πρόκειται να το κάνουμε τώρα, αλλά θα μπορεί να περιλαμβάνει δύο μεταβλητές για την
ίδια γραμμή χρησιμοποιώντας έναν τύπο δεδομένων.
Έτσι int x, y θα δημιουργήσει δύο μεταβλητές.
Έτσι int x, y, αν κάνουμε αυτό, δίνει μου μια αχρησιμοποίητη μεταβλητή x και y, διότι
εμείς δεν τα χρησιμοποιούν.
Έτσι, βάζοντας κενό πριν είναι απλά μια φανταχτερό τέχνασμα, αν δεν χρησιμοποιείτε
κάτι, να το χρησιμοποιήσει.
Αλλά όπως βλέπετε, μπορώ να δημιουργήσω x και y στην ίδια γραμμή με ένα κόμμα.
Είναι η δημιουργία δύο ακέραιους αριθμούς εκεί.
Έτσι, ναι, απολύτως δυνατό να δημιουργήσει δύο πράγματα στην ίδια γραμμή
χωρίζονται από ένα κόμμα.
Ας απαλλαγούμε από αυτά, όμως.
>> Έτσι, υπάρχει ξόρκι.
Σας ευχαριστούμε πολύ για την κωδικοποίηση για εμάς.
Ας κάνουν μια ακόμη φορά, να τρέξει.
Δώσε μου ένα string.
[Δεν ακούγεται], κάνατε το μεγαλύτερο μέρος της.
Ποια είναι η σειρά;
>> ΣΠΟΥΔΑΣΤΩΝ: Γεια σας.
>> JASON Hirschhorn: Γεια σας.
H-E-L-L-O, κάθε χαρακτήρας σε μία γραμμή.
Φαίνεται μεγάλη.
Ας το εκτελέσετε ξανά.
Πάντα πρόκειται για τον έλεγχο για τις περιπτώσεις κόρνερ.
Τι είναι μια καλή περίπτωση για να ελέγξετε τη γωνία;
>> ΦΟΙΤΗΤΗΣ: Ένας αριθμός;
>> JASON Hirschhorn: Ένας αριθμός.
Γι 'αυτό θα θέσει σε 1, και εκτυπώνει 1.
Δεν ζητάει γράμματα, έτσι ώστε φαίνεται ότι το έργο τους αριθμούς.
Καλή περίπτωση γωνία για να ελέγξετε.
Αυτό είναι μια άλλη καλή γωνία φάκελο για να ελέγξει;
>> ΦΟΙΤΗΤΗΣ: Ένα κενό string.
>> JASON Hirschhorn: Χμ;
>> ΦΟΙΤΗΤΗΣ: σαν ένα άδειο string.
>> JASON Hirschhorn: Κενή συμβολοσειρά.
Οπότε ας μην τεθεί σε τίποτα.
Και τι γίνεται εκτυπωθούν;
>> ΣΠΟΥΔΑΣΤΩΝ: Τίποτα.
>> JASON Hirschhorn: Τίποτα.
Φαίνεται σαν να λειτουργεί.
Θα μπορούσατε να δοκιμάσετε περισσότερα κρούσματα γωνία, αλλά γενικά οι αριθμοί, μια διαφορετική δεδομένων είναι
μεγάλη για να δοκιμάσετε, καθώς δεν είναι τίποτα.
Τίποτα, μηδέν, αρνητικά είναι πάντα μεγάλα πράγματα για να δοκιμάσετε και εσείς τα πράγματα
Πρέπει δοκιμή, τα πράγματα σίγουρα θα δοκιμάσουμε Ελέγξτε και για 50 θα δοκιμάσει για.
Οποιεσδήποτε ερωτήσεις σχετικά με spell.c;
>> Εντάξει, ας το κεφάλι πίσω.
Έχω ένα ακόμη πρόγραμμα για σας παιδιά να γράψουν.
Λέγεται students.c.
Αυτό είναι ένα πρόγραμμα που ζητά από τον χρήστη πέντε ονόματα, στη συνέχεια, τυχαία επιλέγει
και εκτυπώνει ένα από τα ονόματα.
Αυτό το πρόγραμμα είναι λίγο πιο συμμετέχουν από την τελευταία δύο γράψαμε,
οπότε γιατί να μην παίρνουμε πέντε λεπτά για να Κώδικα, ατομικά, και στη συνέχεια θα
κώδικα, ως ομάδα.
>> Το πρόγραμμα περιλαμβάνει επίσης κάποια πράγματα μπορεί να μην έχετε ξαναδεί, οπότε αν
Έχετε μια ερώτηση σχετικά με, πώς Κάνω αυτό, σηκώστε το χέρι σας.
Θα έρθω και θα σας προς τη σωστή κατεύθυνση.
Αλλά κάνουμε επίσης επειδή αυτό θα είναι ένας καλός τρόπος για να εισάγουν ορισμένα
θέματα που είναι δύσκολο.
>> Έτσι λειτουργεί, έτσι δεν είναι;
>> ΦΟΙΤΗΤΗΣ: Ναι.
>> JASON Hirschhorn: Κάθε φορά που ενεργοποιείτε σε ένα set πρόβλημα, εκεί πολλοί τρόποι να γίνει
αυτό, αλλά κάποιοι είναι πιο κομψό από τους άλλους.
Ας βουτήξει μέσα
# Include cs50.h.
# Include stdio.h.
int main κενό, άγκιστρα.
Μέσα από τα άγκιστρα, Έχω δύο παρατηρήσεις.
Το πρώτο είναι, να ζητήσει από το χρήστη για πέντε ονόματα.
Το δεύτερο είναι, τυχαία να επιλέξουν και να εκτυπώσετε ένα από τα ονόματα.
Ας κάνουμε το πρώτο, ρωτήστε ο χρήστης για πέντε ονόματα.
Ποιος ζήτησε από τον χρήστη για πέντε ονόματα και μπορεί να μου πει πώς να το κάνουμε αυτό;
Μόνο δύο άνθρωποι έκαναν το πρώτο μέρος.
Τρεις άνθρωποι έκαναν το πρώτο μέρος.
Τέσσερα, πέντε.
Τομ, πώς το κάνεις αυτό;
>> ΦΟΙΤΗΤΗΣ: Θα κηρύξει μια σειρά και στη συνέχεια το όνομα, στήριγμα πέντε.
>> JASON Hirschhorn: String αναφέρουμε στήριγμα πέντε.
Έτσι τι είναι αυτή η γραμμή να κάνει, εγχόρδων βραχίονα όνομα πέντε;
>> ΦΟΙΤΗΤΗΣ: Θα δηλώσει μια σειρά από strings.
>> JASON Hirschhorn: Αυτό είναι μια σειρά από strings.
Πόσες χορδές πρόκειται για να χωρέσει εδώ;
>> ΣΠΟΥΔΑΣΤΩΝ: Πέντε.
>> JASON Hirschhorn: Πέντε.
Εξαιρετικό.
Εμείς πάμε για να το ονομάσουμε ονόματα διότι θα πάμε για να πάρει πολλαπλές αυτές.
Εντάξει, το επόμενο βήμα;
>> ΦΟΙΤΗΤΗΣ: Και τότε θα έχουν ένα for loop -
>> JASON Hirschhorn: Για την μέθοδο loop.
>> ΦΟΙΤΗΤΗΣ: - για i = 0.
>> JASON Hirschhorn: for (int i = 0.
>> ΣΠΟΥΔΑΣΤΩΝ: Άνω τελεία.
>> JASON Hirschhorn: Άνω τελεία.
>> ΦΟΙΤΗΤΗΣ: I λιγότερο από πέντε.
>> JASON Hirschhorn: I λιγότερο από πέντε.
>> ΣΠΟΥΔΑΣΤΩΝ: Άνω τελεία.
>> JASON Hirschhorn: Άνω τελεία.
>> ΦΟΙΤΗΤΗΣ: i + +.
>> JASON Hirschhorn: i + +.
>> ΦΟΙΤΗΤΗΣ: Και στη συνέχεια κλείνει παρενθέσεις.
>> JASON Hirschhorn: Κλειστά παρενθέσεις, και στη συνέχεια κάποιες αγκύλες.
Μέσα στα άγκιστρα;
>> ΦΟΙΤΗΤΗΣ: Και τότε printf.
>> JASON Hirschhorn: Printf.
>> ΦΟΙΤΗΤΗΣ: Open παρενθέσεις, το όνομα% d.
>> JASON Hirschhorn: Συγνώμη;
>> ΦΟΙΤΗΤΗΣ: Όνομα.
>> JASON Hirschhorn: Όνομα.
>> ΦΟΙΤΗΤΗΣ: Και τότε το διάστημα, και στη συνέχεια δ%.
>> JASON Hirschhorn: Όνομα, διάστημα,% d.
>> ΦΟΙΤΗΤΗΣ: Και τότε / n, και στη συνέχεια κλείνει.
>> JASON Hirschhorn: έτσι το όνομα, το διάστημα, % D / n, κλειστή παρένθεση.
>> ΦΟΙΤΗΤΗΣ: Comma, i + 1.
Λυπάμαι.
Κλειστά απόσπασμα, και στη συνέχεια, κόμμα, i +1.
>> JASON Hirschhorn: Κλειστά απόσπασμα, κόμμα, i +1.
>> ΦΟΙΤΗΤΗΣ: Ναι.
Και τότε η επόμενη γραμμή -
>> JASON Hirschhorn: i + 1.
>> ΦΟΙΤΗΤΗΣ: Ναι.
Και τότε η επόμενη διαφάνεια είναι τα ονόματα i βραχίονα.
>> JASON Hirschhorn: Επόμενη γραμμή είναι τα ονόματα i βραχίονα.
>> ΦΟΙΤΗΤΗΣ: = πάρει string.
>> JASON Hirschhorn: = Get -
κεφαλαίου G-Ε-Τ -
string.
Ωχ, συγνώμη.
>> ΦΟΙΤΗΤΗΣ: Open, κλειστά παρενθέσεις και στη συνέχεια -
>> JASON Hirschhorn: Open, έκλεισε paren.
>> ΣΠΟΥΔΑΣΤΩΝ: Άνω τελεία.
>> JASON Hirschhorn: Άνω τελεία.
Εντάξει, έτσι ώστε να προετοιμαστεί το φάσμα της χορδές, τα ονόματα, και στη συνέχεια να περάσουν ένα
για το βρόχο, και πέντε φορές εκτυπώσετε κάποια ζητήσει να του χρήστη και στη συνέχεια να αποθηκεύσετε
πέντε χορδές.
Πιστεύει κανείς να έχει οποιαδήποτε προσαρμογές σε αυτό;
Tom, νομίζω ότι όλοι συμφωνεί μαζί σας.
Φαίνεται αρκετά καλό.
OK.
Γιατί το έκανες i +1, όμως;
>> ΦΟΙΤΗΤΗΣ: Θέλω να πω, δεν έχει να είναι, αλλά εγώ +1 έτσι ώστε να είναι
ένα όνομα για να αναφέρουμε πέντε.
Διαφορετικά, θα είναι το όνομα το μηδέν για να αναφέρουμε τέσσερα.
>> JASON Hirschhorn: Έτσι έκανα +1 γιατί διαφορετικά θα έπρεπε
εκτυπώνεται μηδέν έως το τέσσερα, διότι αυτό είναι το πώς σκέφτονται οι υπολογιστές, αλλά οι άνθρωποι
πραγματικά δεν διαβάζεται σαν αυτό.
Αυτό είναι ένα άλλο πράγμα θα συναντήσετε.
Μερικές φορές, όταν εκτυπώνετε κάτι στο χρήστη, θα θελήσετε να κάνετε μια
λίγο πιο όμορφη, και να κάνει i +1 σε αυτή την περίπτωση είναι
τρόπος για να γίνει πιο όμορφη.
>> Βλέπω επίσης πέντε φορές, όνομα συμβολοσειράς είναι πέντε, i είναι μικρότερη από πέντε.
Ξέρω πού πήρατε το πέντε.
Μπορείτε να το πήρε από μένα λέγοντάς Σας πέντε ονόματα.
Αλλά αν θέλαμε να καταστήσει τον Κώδικα λίγο πιο ισχυρή, ένα πράγμα που
θα μπορούσε να μην είναι εδώ, έξω από int, θα μπορούσαμε να κάνουμε κάτι τέτοιο,
# Define, και θα μπορούσαμε να κάνουμε ΟΝΟΜΑΤΑ 5.
>> Έτσι, βασικά, όπου γράφω κεφαλαίου N, κεφάλαιο A, κεφάλαιο Μ, κεφάλαιο Ε,
κεφάλαιο S, που string, θα αντικαταστήσει ότι με 5 στον κώδικα.
Ή ας την ονομάσουμε μόνο - θα αποκαλούν απλώς NUMBER.
Έτσι είμαι καθορίζουν όλα τα καλύμματα ΑΡΙΘΜΟΣ να είναι 5.
>> Έτσι, τώρα όπου έχω τον αριθμό 5, I να το αντικαταστήσετε με όλα τα ΑΡΙΘΜΟΣ καπάκια.
Και τώρα, αν θέλετε να αλλάξετε τον αριθμό των ονομάτων, το μόνο που χρειάζεται να κάνετε είναι να
αυτή η γραμμή, γραμμή τέσσερα, όπου έχω # Define αριθμό 5, η αλλαγή αυτή να είναι 10,
ή να αλλάξετε ότι για να 4.
Όταν τον κωδικό σας παίρνει πλέον, δεν είστε Θα θυμάστε ότι όλα τα μέρη
θέσει πόσα ονόματα που ήθελε, και Για να μην χάσετε ένα, αυτό είναι
ένας καλός τρόπος για να το κάνουμε, να βρούμε κάτι επάνω στην κορυφή και στη συνέχεια χρησιμοποιήστε απλά αυτή τη φράση
παντού σε όλο τον κωδικό σας.
Μάρκους;
>> ΦΟΙΤΗΤΗΣ: Είναι ότι στυλιστικά προτιμώμενη από ό, τι σε παγκόσμιο επίπεδο που ορίζει ένα
σταθερά n;
>> JASON Hirschhorn: Έτσι είναι ότι στυλιστικά προτιμάται από ό, τι σε παγκόσμιο επίπεδο
ορίζει ένα σταθερό ν;
Έτσι που λέτε θα μπορούσε κάνει, int αριθμό = 5;
>> ΦΟΙΤΗΤΗΣ: Έχουν συμφώνων σε C ή όχι;
>> JASON Hirschhorn: Ή const - σε ίσες.
Έτσι λέτε ακριβώς μια καθολική μεταβλητή;
>> ΦΟΙΤΗΤΗΣ: Ναι.
>> JASON Hirschhorn: Έτσι στυλιστικά, δεν υπάρχει κατ 'ανάγκην ένα δικαίωμα
απαντήσω, αλλά και οι δύο από αυτούς είναι καλύτερα όχι μόνο ρίχνουν τα τυχαία αυτά
αριθμούς σε όλη κωδικό σας.
Καλούμε τους Magic Numbers.
Όταν κοιτάζω τον κωδικό σας ή όταν κάποιος διαβάζει μέσα από αυτό, που
Δεν θέλουμε μόνο αυτά τυχαίων αριθμών που δεν έχουν νόημα.
Ακόμη και ο αριθμός 26, το οποίο είναι γενικά Ο αριθμός των γραμμάτων του αλφαβήτου,
είναι καλύτερα να καθορίσουν ALPHABET επάνω στην κορυφή και να αποθηκεύσετε τον αριθμό 26 στην εν λόγω σειρά,
αν αυτό έχει νόημα.
>> Ή για το πρόβλημα που έχει ένα, όχι - και πάλι, εμείς δεν μιλάμε για αυτό σε
ο χρόνος, αλλά και όχι μόνο ρίχνουν σε 25 παντού ή 10, μπορείτε να
αποθηκεύσετε τον αριθμό 25 ως τέταρτο ή 10, όπως Δεκάρα, και αυτό το καθιστά ευκολότερο για
όποιος διαβάζει μέσα στον κώδικα για να καταλάβετε γιατί επέλεξε τον αριθμό.
Και επίσης για σας, εάν θέλετε πάντα να ενημερώσετε τον κώδικα σας, καθιστά λίγο
πιο ισχυρή.
Ναι;
>> ΦΟΙΤΗΤΗΣ: Είναι αυτός ο κώδικας, επίσης, θα να είναι διαθέσιμα για εμάς μετά;
>> JASON Hirschhorn: Όλοι αυτοί οι κωδικοί ότι έχουμε γράψει μαζί είναι
πρόκειται να σας αποσταλεί με email παιδιά και διαθέσιμα.
Ναι.
Έτσι, ζητά από το χρήστη για πέντε ονόματα.
Τυχαία επιλογή και εκτύπωση ένα από τα ονόματα.
Ποιος έκανε αυτή τη γραμμή;
Αυτό είναι το πιο λεπτό γραμμή εδώ.
Συγγνώμη, Τομ.
Κάνατε μια πραγματικά καλή δουλειά, αλλά Αυτό είναι λίγο πιο περίπλοκη.
Marcus, προχωρήστε.
>> ΦΟΙΤΗΤΗΣ: Καλά πρώτα, θα πάμε να πρέπει να περιλαμβάνει stdlib.h και time.h.
>> JASON Hirschhorn: Δηλαδή λέτε σε η κορυφή, περιλαμβάνει δύο περισσότερες βιβλιοθήκες.
Θέλεις να περιλαμβάνει S-Τ-Ρ-Ε-Ι-Β dot H, Standard Library, και τι
ήταν ο άλλος;
>> ΦΟΙΤΗΤΗΣ: Time.h.
>> JASON Hirschhorn: # include time.h.
Έτσι, αυτά είναι δύο βιβλιοθήκες.
Υποθέτω ότι τώρα θα πάμε να χρησιμοποιούν λειτουργίες που περιέχονται σε αυτά
δύο, η οποία είναι ο λόγος που χρειάζεται να συμπεριληφθούν;
>> ΦΟΙΤΗΤΗΣ: Έτσι, λοιπόν, πρώτα να είστε πρόκειται να θέλετε να γράψετε srand.
>> JASON Hirschhorn: srand.
>> ΦΟΙΤΗΤΗΣ: (χρόνος (0)
>> JASON Hirschhorn: Συγγνώμη.
Srand (ώρα (
>> ΣΠΟΥΔΑΣΤΩΝ: 0.
>> JASON Hirschhorn: 0.
>> ΦΟΙΤΗΤΗΣ:)), ερωτηματικό.
>> JASON Hirschhorn: άλλο κλειστό paren;
Άνω τελεία.
Πάω να αντικαταστήσει απλώς μηδέν σας με NULL.
Θα κάνει περίπου το ίδιο πράγμα, αλλά Σε γενικές γραμμές, θα δείτε NULL, η οποία
θα μιλήσουμε γι 'αυτό γραμμή σε ένα δευτερόλεπτο.
>> ΦΟΙΤΗΤΗΣ: Στιλιστικά καλύτερα;
>> JASON Hirschhorn: Σε γενικές γραμμές, οι άνθρωποι δικαίωμα NULL, αλλά το ίδιο πράγμα.
>> ΦΟΙΤΗΤΗΣ: Και τότε int όνομα.
>> JASON Hirschhorn: Int όνομα.
>> ΦΟΙΤΗΤΗΣ: =
>> JASON Hirschhorn: =
>> ΣΠΟΥΔΑΣΤΩΝ: Rand.
>> JASON Hirschhorn: Rand.
>> ΦΟΙΤΗΤΗΣ: ()
>> ΙΑΣΩΝ Hirschhorn: ()
>> ΦΟΙΤΗΤΗΣ: Modulo αριθμό.
>> JASON Hirschhorn: Τι είναι modulo;
Ο χαρακτήρας;
Ο χαρακτήρας τοις εκατό;
>> ΦΟΙΤΗΤΗΣ: χαρακτήρων τοις εκατό.
Modulo αριθμός που ορίζεται επάνω στην κορυφή.
>> JASON Hirschhorn: Modulo ΑΡΙΘΜΟΣ.
>> ΦΟΙΤΗΤΗΣ: Και τότε ερωτηματικό.
>> JASON Hirschhorn: Άνω τελεία.
>> ΦΟΙΤΗΤΗΣ: Και τότε νέα γραμμή, printf.
>> JASON Hirschhorn: Printf.
>> ΦΟΙΤΗΤΗΣ: (
>> ΙΑΣΩΝ Hirschhorn: (
>> ΦΟΙΤΗΤΗΣ: "
>> JASON Hirschhorn: "
>> ΦΟΙΤΗΤΗΣ:% s / n
>> JASON Hirschhorn:% s / n
>> ΦΟΙΤΗΤΗΣ: "
>> JASON Hirschhorn:% s / n "
>> ΦΟΙΤΗΤΗΣ: Comma, τα ονόματα χώρου.
>> JASON Hirschhorn: Space -
>> ΦΟΙΤΗΤΗΣ: Ω, υποθέτω, τι δεν το λέμε εδώ;
>> JASON Hirschhorn: Ζητήσαμε ονόματα.
>> ΦΟΙΤΗΤΗΣ: Open βραχίονα, το όνομα.
>> JASON Hirschhorn: Open βραχίονα, το όνομα.
>> ΦΟΙΤΗΤΗΣ: Κλειστά βραχίονα.
>> JASON Hirschhorn: Κλειστό βραχίονα.
>> ΦΟΙΤΗΤΗΣ:)
>> JASON Hirschhorn:)
>> ΣΠΟΥΔΑΣΤΩΝ: Άνω τελεία.
>> JASON Hirschhorn: Άνω τελεία.
Εντάξει, ας σώσει.
Ας κάνουμε αυτόν τον κωδικό.
Φοιτητές.
Ας εκτελέσετε αυτόν τον κώδικα.
Φοιτητές.
Όχι. / Σπουδαστή. . / Φοιτητές.
Όνομα μία.
Θα πούμε David.
Όνομα δύο, RJ.
Όνομα τρεις, Rob.
Όνομα τέσσερις, Lucas.
Όνομα πέντε, Joseph.
Και τότε εκτυπώνει Ιωσήφ και πάλι.
>> Έτσι, επιτρέψτε μου να τρέξει αυτό και πάλι.
Επιτρέψτε μου να κάνω τα ίδια ονόματα.
David, RJ, Rob, Lucas, Joseph.
Και αυτό μου έδωσε David αυτή τη φορά.
Έτσι έκανα το ίδιο πράγμα, αλλά έδωσε με ένα διαφορετικό πράγμα, και αυτό είναι
διότι, φυσικά, ζητάμε για ένα τυχαίο όνομα.
Πιστεύω λοιπόν ότι, με βάση από πάνω μου περιπλάνηση γύρω από το δωμάτιο, ότι οι περισσότεροι άνθρωποι
πιθανότατα πήρε το πρώτο δεξί μέρος, τη δημιουργία αυτής της διάταξης και στη συνέχεια να πάρει
όλα τα ονόματα.
Μιλώ για τις γραμμές 10 έως 16.
Αλλά γραμμές 18 και 21 είναι κατά πάσα πιθανότητα μερικά πράγματα που δεν έχετε δει πριν,
Οπότε ας πάμε μέσα από αυτά.
>> Αυτή η γραμμή, srand NULL χρόνο είναι ουσιαστικά -
Συγγνώμη, ας παραλείψετε τα κάτω μια γραμμή, rand ().
Αυτό σας δίνει ένα τυχαίο αριθμό, ένα τυχαίο ακέραιο.
Και αν χτυπήσει ραντ ΜΑΝ, η οποία πολλοί από εσάς έκαναν -
Μ-Α-Ν διάστημα R-Α-Ν-ϋ -
στο τερματικό όπως αυτό, Μ-Α-Ν διαστημική Ε-Α-Ν-D, πατήστε Enter.
Θα καταλήξουμε στο εγχειρίδιο και θα είναι σε θέση να διαβάσει ότι το ραντ
εξόδους της εντολής αριθμός ψευδο τυχαία bytes μετά την σπορά τον τυχαίο αριθμό
γεννήτρια φορά.
>> Έτσι, αυτό είναι μια περιγραφή.
Αυτό είναι ό, τι ραντ κάνει, δίνει Είστε ένας τυχαίος αριθμός, όταν
να καλέσετε τη λειτουργία αυτή.
Δυστυχώς, δεν είναι πραγματικά τυχαία γιατί αν απλά call τυχαία
χωρίς να πάρει κάποια σπόρων, ορισμένα σημείο εκκίνησης, θα επιλέγουν πάντα
η ίδια και χρησιμοποιεί έναν τύπο για να καθορίσει το επόμενο.
Έτσι, αν σας καλέσει ραντ, αυτό ακριβώς θα να σας δώσει το ίδιο πράγμα.
Θα είναι πολύ προβλέψιμη.
Είναι στην πραγματικότητα δεν θα είναι τυχαία.
>> Έτσι, αυτό που πρέπει να κάνουμε, κατά του Marcus Οδηγίες για μένα, ήταν ραντ σπόρων
με κάτι άλλο, το οποίο είναι ό, τι η λειτουργία srand κάνει.
Είναι σπόροι ραντ με κάτι λίγο πιο τυχαία από το ίδιο πράγμα, και
αυτός είναι το σπορά με NULL χρόνου, η οποία είναι, μόνο κατά συνθήκη, η σημερινή
χρόνος σε δευτερόλεπτα.
>> Έτσι, αν υποτεθεί ότι όλοι δεν είναι πρόκειται να τρέξει τον κώδικα στο ακριβές
ίδιο δευτερόλεπτο, γι 'αυτό είναι ένα ασφαλές στοίχημα ότι NULL διάστημα πρόκειται να είναι διαφορετική
κάθε φορά που αυτό εκτελείται ο κώδικας.
Ασφαλές στοίχημα ότι ως εκ τούτου, θα ραντ srand σπόρων με κάτι διαφορετικό κάθε
μόνο μία φορά.
Έτσι, κατά συνθήκη, όταν θέλουμε ένα τυχαίο αριθμό, γράφουμε αυτή τη γραμμή,
srand NULL χρόνο, να μας δώσει μια πολύ πιο τυχαία σπορά, και τότε διατρέχουμε
ραντ, η οποία μας δίνει έναν τυχαίο αριθμό.
Ναι;
>> ΦΟΙΤΗΤΗΣ: Μπορείτε να μας πείτε τι εννοείτε με σπόρο;
>> JASON Hirschhorn: Seed όπως -
έτσι rand πρόκειται να πάρει κάποιο αριθμό και πρόκειται να χρησιμοποιήσετε κάποια
φόρμουλα για να φτάσετε εκεί.
Έτσι, πρόκειται να ξεκινήσω με κάτι και να το μετατρέψει στη συνέχεια σε κάτι που βασίζονται
εκτός του εν λόγω παρασκευάσματος.
Εάν έχετε πάντα δίνουν το ίδιο πράγμα, είναι πάντα πρόκειται να το μετατρέψει σε
ίδιο πράγμα.
Έτσι, το πρώτο πράγμα που να είναι ο σπόρος.
Έτσι, θέλετε να δώσετε κάτι διαφορετικά να αρχίσει με, και γι 'αυτό
θα το μετατρέψει σε κάτι διαφορετικό.
>> Και τελικά, γραμμή 20, Αυτό% ονομάζεται
modulo, και αυτό προκαλεί σύγχυση.
Αυτό είναι κάτι που είναι λίγο διαφορετικά εδώ ότι δεν έχετε πραγματικά
έχουν στην πραγματική ζωή τα μαθηματικά.
Αλλά κατ 'ουσίαν, όταν παίρνετε ένα γιγαντιαίο αριθμό και θα διαιρέσει σε C, τι
συμβαίνει με το υπόλοιπο;
>> ΦΟΙΤΗΤΗΣ: Παίρνει περικοπεί.
>> JASON Hirschhorn: Παίρνει περικοπεί.
Έτσι, 20 διαιρείται με το 3 είναι αυτό;
Τι σημαίνει ότι η επιστροφή στην σας, 20 διαιρείται με το 3.
Λυπούμαστε, 10 διαιρείται με το 3.
Τι σημαίνει ότι η επιστροφή σε σας;
>> ΦΟΙΤΗΤΗΣ: [δεν ακούγεται].
>> JASON Hirschhorn: 10 διαιρείται με 3 απλά επιστρέφει 3, δεν 3 υπόλοιπο 1.
Λοιπόν, τι 10 επιστρέφει modulo 3 είναι μόνο το υπόλοιπο, 1.
Έτσι, αν θέλετε να ξέρετε τι 10 διαιρείται από 3 στην πραγματικότητα ήταν, θα κάνατε
κάνει 10 διαιρείται με το 3, θα παίρνατε 3 σας, και στη συνέχεια θα κάνετε 10 modulo 3, και
θέλετε να πάρετε μια 1.
Έτσι, θα συνειδητοποιήσετε ότι το 10 διαιρείται κατά 3 είναι 3, υπόλοιπο 1.
>> Και σε αυτή τη γραμμή, ραντ θα μπορούσε να είναι οποιοσδήποτε ακέραιος, κατ 'ουσίαν.
Έτσι modulo λέει, το διαιρέσετε με αριθμό, η οποία είναι σε αυτή την περίπτωση 5.
Και αν ποτέ χωρίζουν από έναν αριθμό, το ακέραιος πρέπει πάντοτε να είναι μικρότερη από ό, τι
αυτός ο αριθμός.
Έτσι, αν η διαίρεση με έναν αριθμό 5, το υπόλοιπο είναι πάντα θα είναι
μηδέν έως το τέσσερα.
Αυτό είναι ακριβώς το πώς τα μαθηματικά λειτουργεί έξω.
>> Έτσι, ένας μεγάλος αριθμός moduloed από ένα μικρότερο Αριθμός πάντα θα επιστρέψει
υπόλοιπο και θα επιστρέφει πάντα κάποια αριθμός που είναι μικρότερος από τον αριθμό που
διαιρούμενο με.
Μήπως κάποιος έχει απορίες σχετικά με modulo, γιατί θα έρθει πολύ,
πολύ βολικό, έτσι θέλω να βεβαιωθείτε ότι ο καθένας το καταλαβαίνει;
Cool.
Και είδαμε ότι το πρόγραμμα αυτό λειτούργησε.
Εντάξει, κινείται.
>> Μέχρι την επόμενη, θα πάμε για να πάει σε λειτουργίες, και θα πάμε για να πάει
μέσα από το υπόλοιπο από αυτά τα πράγματα αρκετά γρήγορα γιατί θέλω να πάρω την
τα επιχειρήματα της γραμμής εντολών.
Έτσι, οι λειτουργίες είναι κατ 'ουσίαν, Όπως έχετε δει, μαύρα κουτιά.
Θα πάρουμε τα πράγματα με ονομάζονται παράμετροι, κάνουν κάτι για να τους, είτε
αλλάξετε ή να δημιουργήσουν κάποιες παρενέργειες, και, τέλος, φτύνουν
κάτι, το οποίο είναι η τιμή επιστροφής.
Μπορεί κανείς να μου δώσει ένα λόγο Γι 'αυτό θα χρησιμοποιήσει τις λειτουργίες;
Ο καθένας;
Ένας λόγος για τον οποίο θα χρησιμοποιήσετε τις λειτουργίες;
Όποιος;
Είδα τα δύο χέρια.
Τι είναι ένας καλός λόγος;
Μάρκους;
>> ΦΟΙΤΗΤΗΣ: Αν έχετε να καλούν τον ίδιο κομμάτι του κώδικα πολλές φορές.
>> JASON Hirschhorn: Εντάξει, αν χρειαστεί να καλούν τον ίδιο κομμάτι της
κωδικοποιήσει πολλές φορές.
Jeff, δεν έχετε ένα διαφορετικό λόγο;
>> ΦΟΙΤΗΤΗΣ: Ακριβώς, έτσι ώστε τότε μπορείτε να προγραμματίσετε λιγότερο.
>> JASON Hirschhorn: Μπορείτε κώδικα λιγότερο.
Δεξιά.
Αν θέλετε να κάνετε κάτι πολύ -
στον προηγούμενο κώδικα, θα μπορούσα να έχω γραπτή πάρει σειρά πέντε φορές, αλλά ένα
για το βρόχο κάνει να φαίνεται πιο όμορφη και θα πρέπει να γράψετε λιγότερο κώδικα.
Οι συναρτήσεις είναι μια παρόμοια ιδέα.
Αν θέλω να κάνω το ίδιο πράγμα πολύ, μετακινήσετε σε μια λειτουργία και να καλέσετε ότι
λειτουργεί κάθε φορά.
Αυτό θα κάνει αυτό το πράγμα για σας.
Αυτός είναι ένας καλός λόγος να χρησιμοποιήσετε τις λειτουργίες.
>> Έτσι ανατομία μιας συνάρτησης.
Μια λειτουργία θα είναι γενικά μοιάζει με αυτό.
Θα ξεκινήσω με τον τύπο επιστροφής, τότε θα πάρει το όνομα.
Θα πάρει τα επιχειρήματα, αλλιώς γνωστή ως τις παραμέτρους, και στο εσωτερικό
τα άγκιστρα, θα είστε γράψτε τον κωδικό σας.
>> Έχουμε δει μια λειτουργία πολύ.
Αυτό είναι βασικά.
Εδώ είναι το κύριο επάνω σε ανατομία που είχα προηγουμένως.
Τι σημαίνει int εδώ σημαίνει;
Τι σημαίνει int σημαίνει;
Όταν γράφω int main (void).
>> ΦΟΙΤΗΤΗΣ: τύπος επιστροφής;
>> JASON Hirschhorn: Συγνώμη;
>> ΦΟΙΤΗΤΗΣ: Ο τύπος επιστροφής.
>> JASON Hirschhorn: Int είναι η Επιστρέφει, ακριβώς δεξιά.
Κύρια επιστρέφει ένα int.
Ποιος είναι ο κύριος;
>> ΦΟΙΤΗΤΗΣ: Το όνομα της λειτουργίας.
>> JASON Hirschhorn: Main είναι η όνομα της συνάρτησης.
Ακριβώς δεξιά.
Και κενό;
Τι είναι άκυρη μέσα στις παρενθέσεις;
>> ΦΟΙΤΗΤΗΣ: Δεν παίρνει οποιαδήποτε εξωτερική αξία.
>> JASON Hirschhorn: άκυρη -
δεξιά.
Μέσα στις παρενθέσεις, βάζουμε το παραμέτρους ή τα επιχειρήματα τα
συνάρτηση παίρνει, τι συμβαίνει μέσα στο μαύρο κουτί.
Όταν γράφετε κενό, λες Αυτό παίρνει τίποτα μέσα
Έτσι int main void σημαίνει το κύριο Δεν παίρνουμε τίποτα μέσα
>> Μέσα από τα άγκιστρα, έχουμε κάποια κώδικα, και στη συνέχεια θα δούμε στο τέλος
επιστρέψει την τιμή μηδέν.
Τι σημαίνει επιστροφή μηδέν σημαίνει;
Λοιπόν, μιλήσαμε για τον τύπο επιστροφής.
Κύρια πρέπει να επιστρέψει ένα int.
Αυτό είναι που κάνει αυτή τη γραμμή.
Επιστρέφει έναν int, μηδέν.
>> Φυσικά, δεν έχουμε δει ότι πολλά γιατί στον προγραμματισμό κάνουμε με
οι μηχανές που κάνουμε και για τους συντάκτες που χρησιμοποιούμε, που σήμερα
δεν χρειάζεται αυτή τη γραμμή.
Main είναι ειδική για το ότι γνωρίζει όταν φτάσετε στο τέλος της κύριας, απλά
επιστροφή μηδέν αν όλα πήγαν καλά.
Στην πραγματικότητα, αν κάτι δεν πάει καλά, κύρια θα επιστρέψει συχνά μια διαφορετική
αριθμός που σημαίνει ότι κάτι πήγε στραβά με το πρόγραμμά σας.
>> Έτσι, γενικά, όταν δείτε τον κωδικό, θα δεν γράφουν επιστροφή μηδέν, αλλά είναι καλό
να ξέρετε ότι αυτό συμβαίνει πίσω από το σκηνές, γιατί κάθε φορά που γράφετε
Ένας άλλος τύπος της λειτουργίας, θα έχετε την ευκαιρία να πρέπει να
περιλαμβάνει μια γραμμή επιστροφής.
Αν είστε λέγοντας Πάω να επιστρέφει ένα int, θα πρέπει να
γράψτε επιστρέψει κάτι.
Εάν λέτε κενό μέχρι εδώ στο αρχή, άκυρη κύρια κενό, για
παράδειγμα, τότε δεν επιστρέφουν τίποτα - κενό δεν σημαίνει τίποτα -
έτσι ώστε να μην χρειάζεται αυτή τη γραμμή επιστροφής.
Αλλά έχετε γράψει ποτέ κάτι που δεν είναι άκυρη για τον τύπο επιστροφής, θα πρέπει να έχετε
μια γραμμή που λέει την επιστροφή και πρέπει να βάλετε κάτι εκεί
που ταιριάζει με τον τύπο.
Οποιεσδήποτε ερωτήσεις σχετικά με αυτό;
Sweet.
>> Πεδίο εφαρμογής.
Αυτό είναι κάτι που έχουμε άγγιξε, όπως επίσης.
Κάθε μεταβλητή, όπως γνωρίζουμε, έχει μια για συγκεκριμένο πεδίο, και αυτό είναι βασικά
μιλάμε για το πού η μεταβλητή μπορεί ή δεν μπορεί να αναφερθούν.
Και εγώ ήθελα να πω ό, τι συμβαίνει σε άγκιστρα μένει
μέσα στα άγκιστρα.
Έτσι, για παράδειγμα, αν κοιτάξουμε αυτόν τον κώδικα, να ορίζουμε μια καθολική μεταβλητή
εκτός της κύριας, int a, εδώ πάνω στην κορυφή.
Είμαστε καλώντας άλλο int ένα εσωτερικό κύριο.
Έχουμε κάποια πιο άγκιστρα, και είμαστε καλώντας άλλη int a.
>> Έχουμε τρία Α σε κώδικα.
Αυτά δεν είναι το ίδιο πράγμα.
Έχω δημιουργήσει τρεις διαφορετικές μεταβλητές.
Στη συνέχεια, μέσα σε αυτά τα εσωτερικά σγουρά τιράντες, λέω = 4.
Όπου το Α είναι ότι μιλάμε για το πρώτη, η δεύτερη,
ή η τρίτη;
>> ΣΠΟΥΔΑΣΤΩΝ: Η τρίτη.
>> JASON Hirschhorn: Είναι μιλάει στο ένα τρίτο περίπου.
Όλα αυτά είναι μια πραγματικότητα μπορεί να είναι μίλησε για το συγκεκριμένο
παράδειγμα επειδή το πεδίο εφαρμογής τους όλα πάνε σε αυτές τις ενδόμυχες άγκιστρα.
Ωστόσο, όταν λέμε τα πράγματα το ίδιο το όνομα, δεν υπάρχει κάτι που ονομάζεται κρύβεται.
Έτσι, θα ασχοληθεί μόνο με ή να διορθώσετε ή να χρησιμοποιήσετε το Η πιο πρόσφατη μεταβλητή, ή ένα
πλησιέστερα προς εσάς.
Έτσι, εδώ μέσα, αυτή η τρίτη ένα βρίσκεται πλησιέστερα στην εν λόγω γραμμή, Α = 4, έτσι
επηρεάζει το ένα τρίτο.
Και η τελευταία γραμμή, a = 2, το οποίο είναι ένα που μιλάμε, το πρώτο, το δεύτερο,
ή τρίτη επιχείρηση;
>> ΣΠΟΥΔΑΣΤΩΝ: Δεύτερη.
>> JASON Hirschhorn: Είναι μιλάει για το δεύτερο ένα.
Φυσικά, η τρίτη α είναι ο πλησιέστερος προς αυτό στον κώδικα, αλλά η τρίτη α
δεν υπάρχει έξω τα άγκιστρα.
Μόλις φτάσετε σε αυτό το κλειστό σγουρά τιράντες, είναι σαν να φύγει,
κατ 'ουσίαν.
Έτσι, το μόνο δύο που έχουν απομείνει είναι εκείνες τα δύο πρώτα, και φυσικά, τώρα
είναι πλησιέστερα προς το δεύτερο.
>> Έτσι, αυτό είναι ένα καλό πράγμα για να θυμάστε σχετικά με το πεδίο εφαρμογής.
Για παράδειγμα, είμαι βέβαιος ότι έχετε αντιμετωπίσει Αυτό σε ένα do while loop.
Εάν προετοιμάστε τη μεταβλητή μέσα το do while loop και στη συνέχεια προσπαθήστε να
πρόσβαση σε αυτό έξω, ίσως πήρε κάποια προειδοποίηση, όπως αυτό
μεταβλητή δεν υπάρχει.
Αυτό συμβαίνει γιατί από την ιδέα πεδίου, ότι τα πράγματα υπάρχουν μόνο
μέσα σε αυτά τα άγκιστρα.
Άγκιστρα είναι σαν ένα γιγάντιο αγκαλιά που δίνετε τον κωδικό σας, είναι ένα άλλο
τρόπος για να το σκεφτώ.
>> Έτσι, αυτό είναι μια άλλη λειτουργία, κάτι που για σας παιδιά να κώδικα, hellofunction.c.
Εμείς πάμε για να παρακάμψετε ότι προς το παρόν, αλλά αυτό είναι κάτι που σας ενθαρρύνω να
πρακτική για τη δική σας.
Γράψτε ένα πρόγραμμα στο οποίο οι κύριες κλήσεις μια άλλη λειτουργία που εκτυπώνει μια
χαιρετισμό προς τον χρήστη.
Είναι λαμβάνοντας ουσιαστικά hello world και υδροληψίες ότι printf σε
άλλη λειτουργία.
Αλλά εμείς δεν πρόκειται να το κάνουμε τώρα γιατί δεν έχουμε τόσο πολύ χρόνο
αριστερά, όπως θα ήθελα.
>> Έτσι δήλωση της συνάρτησης.
Έχουμε ξαναδεί αυτό, καθώς και.
Εάν θέλετε να γράψετε κάποια άλλη λειτουργία, θα πρέπει να αφήσετε τον υπολογιστή να γνωρίζει και
κύρια γνωρίζουν ότι υπάρχει.
Έτσι, αυτό που κάνουμε είναι πάνω από την κύρια, γράφουμε ο τύπος επιστροφής, το όνομα και η
παραμέτρους, και στη συνέχεια κάτω από κύριο, εδώ κάτω, αντιγράφουμε στην πραγματικότητα αυτή τη γραμμή
και στη συνέχεια γράψτε τον πραγματικό κώδικα.
Έτσι, με αυτόν τον τρόπο, εάν καλέσετε τη συνάρτηση στην κύρια στην κορυφή, ξέρει ότι κύρια
Hello υπάρχει, για παράδειγμα, αν ήμουν να καλέσει γεια, και στη συνέχεια φαίνεται να
η εφαρμογή κάτω.
Τι θα συμβεί αν δεν συμπεριλάβει line up κορυφή, άκυρη hello (void);
>> Αν δεν περιλαμβάνουν αυτή τη γραμμή και κύρια κλήσεις Γεια σας, είμαι
πρόκειται να πάρει ένα σφάλμα.
Πάω να πάρετε ένα σφάλμα, επειδή ο compiler δεν γνωρίζει
ότι αυτό το πράγμα δεν υπάρχει.
Αυτό είναι παρόμοιο με το γιατί # δεν περιλαμβάνουν cs50.h.
Αυτό που ουσιαστικά κάνει cs50.h βάζει πάρει σειρά μέχρι εκεί.
Είναι βάζοντας πάρει int εκεί.
Είναι βάζοντας όλα αυτά λειτουργίας πρωτότυπα μέχρι πριν από τα κύρια, έτσι ώστε όταν
μπορείτε να τους καλέσετε στο κύριο, κύριο ξέρει ότι υπάρχουν αυτά τα πράγματα.
Αυτό είναι ό, τι κάνουν αυτά τα αρχεία. H.
Και έτσι, αν πρόκειται να φτιάξετε το δικό σας λειτουργία, έχετε για να βεβαιωθείτε ότι
έχετε βάλει τον πρωτότυπο εκεί.
Οποιεσδήποτε ερωτήσεις σχετικά με αυτό το μέτρο;
>> Επιχειρήματα της γραμμής εντολών.
Αυτό είναι ό, τι θα πάμε να τελειώσει και, στη συνέχεια ελπίζουμε ότι θα
συμπίεση σε κάποια PSET.
Δεν ξέρω αν θα είμαστε σε θέση να αποσπάσουν ότι στο εξαιτίας του χρόνου, αλλά
με σας παιδιά που είναι εδώ, και αν παιδιά θέλουν να πουν μετά για λίγο, θα
μπορεί να πάει πέρα ​​από το εξωτερικό.
Αλλά θα πάμε να τελειώσω με τα επιχειρήματα της γραμμής εντολών
για τα τελευταία 15 λεπτά.
Είμαστε ξύπνιοι, Μάικλ;
Είσαι ξύπνιος;
Καλό.
Δεν ξέρω αν κοιμάστε με τα μάτια κλειστά.
Θα ήταν δύσκολο.
>> Επιχειρήματα της γραμμής εντολών.
Αυτά είναι ένας τρόπος για να περάσει τις πληροφορίες σε ένα πρόγραμμα.
Τελικά, θα συναντήσετε τους άλλους.
Αλλά κατ 'ουσίαν, θα πάμε να σταματήσει γραπτώς int main (void) αν θέλουμε να
λάβει κάποια επιχειρήματα της γραμμής εντολών.
Εμείς πάμε για να γράψω αυτό το πράγμα ονομάζεται int main (int argc,
εγχόρδων argv, παρένθεση.
Αυτό προκαλεί σύγχυση.
Αυτό είναι ένα πολλά γράμματα που δεν είναι σε ανθρώπινης αγγλικά, οπότε θα πάμε να
απλήρωτος τους αυτή τη στιγμή.
>> Argc σημαίνει καταμέτρηση επιχείρημα -
και πάλι, όλα αυτά θα είναι διαθέσιμα στο διαδίκτυο -
και αυτός είναι ο αριθμός των επιχειρημάτων.
Argv σημαίνει φορέα επιχείρημα, και αυτά είναι τα επιχειρήματα τους.
Είναι μια σειρά από strings.
Έχουμε δει στην πραγματικότητα μια σειρά χορδές πριν από σήμερα.
Δημιουργήσαμε μία στην τελευταία πρόγραμμα που κωδικοποιούνται.
>> Έτσι, εδώ είναι ένα παράδειγμα.
Γράφω. / Ohai CS50 ενότητα στη γραμμή εντολών μου.
Argc σε αυτή την περίπτωση ισούται με 3.
Argv βραχίονα 0 είναι ohai, argv στήριγμα 1 είναι CS50, argv βραχίονα 2 είναι η ενότητα.
Και πάλι, argc είναι ο αριθμός των επιχειρημάτων, και στο ταξίδι σας μέχρι λίγο
bit, μετράμε πάντα το όνομα του λειτουργεί ως το πρώτο επιχείρημα.
Έτσι, σε αυτή την περίπτωση, υπάρχουν τρεις επιχειρήματα, το όνομα της συνάρτησης
και στη συνέχεια αυτά τα δύο που έχω πληκτρολογήσει μέσα
>> Στη συνέχεια, θα πάμε για να σώσει αυτούς επιχειρηματολογία τους στο argv.
Και πάλι, όπως είδαμε πριν, κάναμε Αυτό το τελευταίο πρόγραμμα που κωδικοποιούνται.
Μπορείτε να μετακινηθείτε μέσα από τη σειρά των argv και να πάρει τις χορδές.
Αυτό είναι ουσιαστικά αυτό που κάναμε στο το τέλος του περασμένου προγράμματός μας.
Διαλέξαμε ένα τυχαίο όνομα και στη συνέχεια πήγε στο ονόματα οτιδήποτε άλλο στήριγμα και τυπωμένα
από το string που βρίσκεται εκεί.
>> Στην κορυφή του ακριβώς τη συστοιχία, γιατί οι ίδιες οι χορδές είναι πίνακες, όπως
μίλησε, μπορείτε να έχετε συστοιχίες των πινάκων, η οποία είναι
ουσιαστικά αυτό που argv είναι.
Ένας τρόπος που μπορείτε να σκεφτείτε Αυτό είναι γραμμές και στήλες.
Μπορώ να βγάλω αυτό το δικαίωμα τώρα.
Έτσι argv -
Αυτό δεν είναι διαγραφή.
Ας αντλήσουν από ohai.
>> Έτσι, αν έγραψα στο τμήμα ohai CS50, Πάω να περικόψει
τμήμα για αυτό το παράδειγμα.
Αλλά ουσιαστικά, μου πολυδιάστατη array, ohai CS50,
θα πάμε να κάνουμε αίρεση.
Μέχρι εδώ, μπορώ να έχω πρόσβαση -
αν μπορώ απλά να δώσει argv έναν αριθμό -
Αυτό είναι λάθος.
Τι συμβαίνει σε αυτό το διάγραμμα;
>> ΦΟΙΤΗΤΗΣ: ξεκινούν από το μηδέν.
>> JASON Hirschhorn: Θα πρέπει ξεκινήσει με μηδέν.
Θα πρέπει πιθανώς να περιστρέψετε επίσης, αλλά δεδομένου ότι έχω σχεδιάσει ήδη, είμαι
πρόκειται να το αφήσει εκεί για τώρα.
Αλλά ξεκινά από το μηδέν.
Αυτό είναι σωστό.
Λυπάμαι αν αυτό είναι μικρό.
Μπορεί εσείς να δείτε το είδος του;
Έτσι, αν κάνω argv 0, εγώ θα πάρει όλα ohai.
Αν το κάνω argv 1, θα πάρει όλα CS50.
Αν το κάνω argv 2, θα πάρω όλα αίρεσης.
>> Αλλά τώρα, όπως είπαμε, χορδές είναι πίνακες οι ίδιοι.
Έτσι, αυτό που μπορώ να κάνω είναι να αντιμετωπίσει αυτό ως μια πολυδιάστατη array, και εγώ
μπορεί να κάνει κάτι προς την κατεύθυνση της argv 0, 0, η οποία μου δίνει ακριβώς το
χαρακτήρα 0.
Argv 0, 1, η οποία μου δίνει ακριβώς h.
Argv 1, 3, η οποία μου δίνει ακριβώς Αυτό το 0 εδώ κάτω στο CS50.
>> Έτσι, επειδή οι ίδιες οι χορδές Οι πίνακες, είναι σαν να βάζουμε
ότι σε μια άλλη συστοιχία.
Έχουμε τώρα σειρά από πίνακες, και εμείς μπορούν να δείκτη στην πρώτη σειρά μας και
τότε δείκτη στη δεύτερη σειρά μας.
Και όπως θα περίμενε κανείς, το κάνουμε αυτό από απλά βάζοντας αυτά τα δύο -
κάνουμε τις αγκύλες, ακριβώς ακριβώς δίπλα ο ένας στον άλλο.
Έτσι, σε αυτό το παράδειγμα, argv 1 είναι CS50 και argv 1, 2, όπως είπαμε, είναι μόλις 5.
Μήπως κάποιος έχει απορίες σχετικά με πολυδιάστατους arrays;
Εσείς κάνουν φοβερό.
Sweet.
>> Έτσι, έχουμε ένα άλλο πρόγραμμα εδώ, και αυτό είναι το τελευταίο πράγμα που είμαστε
πρόκειται να κάνουμε τώρα.
Έτσι θέλω να γράψω ένα πρόγραμμα που λαμβάνει το πλήρες όνομα του χρήστη, δύο και μόνο
δύο επιχειρήματα της γραμμής εντολών, και, τέλος, εκτυπώσετε ένα χαιρετισμό στο
χρήστη που περιλαμβάνει το μικρό τους όνομα.
Επομένως, γιατί δεν παίρνετε τρεις ή τέσσερις λεπτά για να γίνει αυτό, και στη συνέχεια θα πάμε
πάνω ως ομάδα, και τότε θα τυλίξετε;
>> Και πάλι, εδώ, όταν λέμε ότι κέρδισε πλήρες όνομα του χρήστη σύμφωνα με την περιγραφή
αυτού του προβλήματος, θα πρέπει να είναι εντολή επιχειρήματα της γραμμής, που δεν χρησιμοποιούν πάρει string.
Ναι, Μάρκους;
>> ΦΟΙΤΗΤΗΣ: Έτσι, όταν λέτε δύο εντολών επιχειρήματα της γραμμής, είναι ότι εκτός από την
. το / τρέξει, ή -
>> JASON Hirschhorn: Καλή ερώτηση.
Να, συμπεριλαμβανομένου του. / Run, τρεις τα επιχειρήματα της γραμμής εντολών.
Ή όπως το. / Εξατομικευμένη, σε Στην περίπτωση αυτή, γιατί αυτό είναι το
όνομα αυτού του αρχείου.
Έτσι argc θα είναι τρεις.
Θέλω, όμως, μόνο δύο επιχειρήματα δίδεται στο πρόγραμμα.
Θα πρέπει να διευκρινίζεται ότι.
Θα κάνουμε αυτή την αλλαγή πριν δημοσιεύσετε αυτά και να τα στείλετε σε σας παιδιά.
>> ΦΟΙΤΗΤΗΣ: Τι θα γίνει αν έχουν ένα μεσαίο όνομα;
>> JASON Hirschhorn: Εάν έχετε μια μέση το όνομα, είστε από την τύχη.
Λυπάμαι.
Ή αν πάει μόνο από Shakira, είστε, επίσης, από την τύχη.
Ναι;
>> ΦΟΙΤΗΤΗΣ: Έτσι, όταν οι άνθρωποι δεν έχουν cs50.h, δεν μπορούν να προσδιορίσουν argv
ως char αστέρι argv;
Ή είναι αυτό που ονομάζεται ακόμα σειρά argv;
>> JASON Hirschhorn: Ναι.
Έτσι, string, και πάλι, έχουμε καλύψει πάνω από ό, τι ακριβώς συμβαίνει εκεί.
Αυτό πρόκειται να αποσυμπιεστεί ίσως την Τετάρτη, αλλά σύντομα.
Είναι σαν βοηθητικές ρόδες.
Διότι κατ 'ουσίαν, είναι το ίδιο πράγμα.
>> Έτσι, ας ρίξουμε άλλο ένα λεπτό για το πρόγραμμα αυτό, και στη συνέχεια θα πάμε πάνω
ως μια ομάδα, και στη συνέχεια όπως είπα, τυλίξτε επάνω.
Και νομίζω ότι είναι ακόμα έξτρα καραμέλα, έτσι εσείς θα πρέπει να ελπίζουμε να
αυτό, ή μπορείτε να πάρετε αυτό.
>> Συγγνώμη αν είστε ακόμα γραπτώς, αλλά θέλω να βουτήξει και εμείς
μπορεί να το τελειώσω μαζί.
Έτσι έχω γράψει, # include cs50.h, # include stdio.h.
int main (void), άγκιστρο, σγουρά τιράντες, μέσα σε τρεις γραμμές
ψευδοκώδικα, να λάβει το πλήρες όνομα του χρήστη, δύο και μόνο δύο γραμμή εντολών
επιχειρήματα, να εκτυπώσετε ένα χαιρετισμό στο χρήστη που περιλαμβάνει το μικρό τους όνομα.
>> Έτσι, το πρώτο, λαμβάνει το πλήρες όνομα ενός χρήστη.
Ποιος μπορεί να με βοηθήσει να το πλήρες όνομα ενός χρήστη;
Πώς μπορώ να κάνω αυτό το μέρος;
Μήπως εσείς κάνετε αυτό το πρώτο μέρος;
Πάρτε το πλήρες όνομα ενός χρήστη.
Λοιπόν, γι 'αυτό μία γραμμή εντολών επιχείρημα, τι να γράψω;
Τι πρέπει να αλλάξει για δήλωση της συνάρτησης μου;
>> ΦΟΙΤΗΤΗΣ: Δεν θέλετε να είναι άκυρη πια.
>> JASON Hirschhorn: Ακριβώς.
Δεν θέλω να είναι άκυρη.
Τι θέλω να είναι;
>> ΦΟΙΤΗΤΗΣ: Int argc.
>> JASON Hirschhorn: Int argc.
>> ΦΟΙΤΗΤΗΣ: String argv.
>> JASON Hirschhorn: String argv.
>> ΦΟΙΤΗΤΗΣ: Στήριγμα βραχίονα.
>> JASON Hirschhorn: Στήριγμα βραχίονα.
Αυτό είναι ακριβώς σωστό, και αυτό είναι πραγματικά πώς είμαι πρόκειται να πάρει
το πλήρες όνομα ενός χρήστη.
Θα πάμε για να το βάλει εκεί.
Έτσι ώστε η μία κάνει.
Έτσι τώρα θέλω δύο και μόνο δύο τα επιχειρήματα της γραμμής εντολών.
Έτσι, ο Νώε, τι είναι ένας τρόπος μπορώ ελέγξετε τον αριθμό των εντολών
επιχειρήματα της γραμμής έχω;
>> ΦΟΙΤΗΤΗΣ: Θα κάνουμε μια πρόταση if.
>> JASON Hirschhorn: Αν δήλωση, ακριβώς.
Τι θέλω ως η κατάσταση;
>> ΦΟΙΤΗΤΗΣ: Αν argc μεγαλύτερο από 3.
>> JASON Hirschhorn: Αν argc είναι μεγαλύτερη από 3.
Αν argc μεγαλύτερη από 3, τι μπορώ να κάνω;
>> ΦΟΙΤΗΤΗΣ: Επιστροφή 1.
>> JASON Hirschhorn: Επιστροφή 1.
Θα εξασφαλίσει ότι έχω δύο και μόνο δύο;
>> ΦΟΙΤΗΤΗΣ: Όχι.
Αν argc είναι μεγαλύτερη από ό, τι 3, και λιγότερο από 2.
>> JASON Hirschhorn: Αν argc είναι μεγαλύτερη από 3 και argc είναι μικρότερη του 2.
Τι είναι ένας τρόπος που μπορώ να γράψω αυτό ακριβώς μία γραμμή, ή χωρίς τη χρήση που
και λογικό τελεστή;
>> ΦΟΙΤΗΤΗΣ: Δεν είναι ίσο με 2.
>> JASON Hirschhorn: Αν argc δεν είναι ίσο με 2.
Ακριβώς.
Έτσι, αν argc δεν είναι ίση με 2, η θα μου δώσει αυτό το πρόγραμμα,
εξατομικευμένη, όταν το τρέχω, και που θα μου δώσει πόσα
τα επιχειρήματα της γραμμής εντολών;
Πόσα θα ελέγξω για;
>> Λυπάμαι.
Επιτρέψτε μου να αναδιατυπώσει ότι.
Αν argc = 2, πόσα πράγματα έκανε ο χρήστης γράψει στη γραμμή;
>> ΣΠΟΥΔΑΣΤΩΝ: One.
>> JASON Hirschhorn: Μόνο ένα.
Έτσι, πριν, είχες δίκιο, ο Νώε.
Τι μπορώ πραγματικά να βάλει εκεί;
>> ΦΟΙΤΗΤΗΣ: Αυτό ισούται με 3.
>> JASON Hirschhorn: argc δεν είναι ίσο με 3.
Θέλω να ισούται με 3 γιατί θέλω εξατομικευμένες συν τα άλλα δύο.
Έτσι, αν argc δεν είναι ίσο με 3, επιστρέφει 1.
Γιατί είπες επιστρέψετε 1;
>> ΦΟΙΤΗΤΗΣ: Επειδή η σημαίνει ότι είναι λάθος.
>> JASON Hirschhorn: Αυτό σημαίνει ότι είναι λάθος, Και τι είναι αυτό πρόκειται να κάνει;
>> ΦΟΙΤΗΤΗΣ: Re-ζητήσει ο χρήστης.
>> JASON Hirschhorn: Δεν πρόκειται να σταματήσουν το κάπνισμα το πρόγραμμα, γι 'αυτό θα πρέπει να τρέξει
και πάλι, αλλά δεν έχουμε τίποτα εδώ για να ζητήσω και πάλι.
Δεν είχα ζητήσει γι 'αυτό.
Έτσι, αυτό είναι ακριβώς σωστό.
Επιστροφή 1 μόλις κλείνει το πρόγραμμα.
Μεγάλη.
>> Και να εκτυπώσετε ένα χαιρετισμό στο χρήστη που περιλαμβάνει το μικρό τους όνομα.
Πώς μπορώ να κάνω αυτό;
Anna?
>> ΣΠΟΥΔΑΣΤΩΝ: Printf.
>> JASON Hirschhorn: Printf.
>> ΦΟΙΤΗΤΗΣ: ("
>> ΙΑΣΩΝ Hirschhorn: (
>> ΦΟΙΤΗΤΗΣ: "γεια
>> JASON Hirschhorn: "γεια
>> ΦΟΙΤΗΤΗΣ:% s
>> JASON Hirschhorn:% s
>> ΦΟΙΤΗΤΗΣ: / n
>> JASON Hirschhorn: / n
>> ΦΟΙΤΗΤΗΣ: ",
>> JASON Hirschhorn: ",
>> ΦΟΙΤΗΤΗΣ: argv
>> JASON Hirschhorn: Συγνώμη;
>> ΦΟΙΤΗΤΗΣ: argv
>> JASON Hirschhorn: argv
>> ΦΟΙΤΗΤΗΣ: αγκύλες 1.
>> JASON Hirschhorn: Πλατεία παρένθεση;
>> ΣΠΟΥΔΑΣΤΩΝ: 1.
>> JASON Hirschhorn: 1.
>> ΦΟΙΤΗΤΗΣ: Και) ερωτηματικό.
>> JASON Hirschhorn:) ερωτηματικό.
Ας τρέξει αυτό.
Κάντε εξατομικευμένη.
. / Εξατομικευμένη.
Είναι μόλις κλείσετε.
Γιατί να το κόψω;
>> ΦΟΙΤΗΤΗΣ: Δεν βάλατε κανένα επιχείρημα.
>> JASON Hirschhorn: δεν το έκανα θέσει επιχειρήματα μέσα
Φαίνεται μεγάλη.
Εσείς καρφωμένα.
Έτσι και πάλι, σας πήγε στο argv και ελέγχονται στο argc αρχή.
Αυτές είναι οι δύο σημαντικές πράγματα που πρέπει να θυμάστε.
Έτσι, στο τελευταίο δίλεπτο μας πριν φύγει, δεν θα έχουμε να PSET δύο, αλλά
όπως είπα, αν θέλετε να μείνετε μετά για 10 λεπτά, θα ήθελα ο ίδιος στην ευχάριστη θέση να πάει
πάνω μαζί σας τη λογική για αυτά τα σύνολα πρόβλημα.
Είχαμε πολλά να καλύψουμε σήμερα έτσι δεν έχετε πρόσβαση σε αυτά.
Γενικά, μου αρέσει να συμπεριλάβει ότι στο τέλος.
Έτσι, αν θέλετε να μείνω, μείνω για 10 λεπτά.
Θα το κάνουμε αυτό.
>> Στη συνέχεια, όπως ανέφερα στην αρχή, PSET μηδέν και το ένα, θα πάρουμε ότι
Η γνώμη σας το συντομότερο δυνατόν.
Ο στόχος είναι να πάρει το chipset μία γνώμη, το τμήμα σχολίων,
πριν από το chipset δύο οφείλεται.
Έτσι, αν έχετε κάνει κάποια λάθη ή στυλιστικά, τα πράγματα θα μπορούσαν να είναι καλύτερα,
θα έχετε αυτές τις πληροφορίες, έτσι ώστε να δεν θα κάνει τα ίδια πράγματα στο PSET δύο.
Και στη συνέχεια, στο μέλλον, θα έχετε όλα της σχόλιά σας σχόλια PSET και
πίσω πριν από το επόμενο οφείλεται.
>> Τέλος, αν θα μπορούσα να βάλω σε ένα άλλο βύσμα για ανατροφοδότηση.
Αυτό είναι το πρώτο τμήμα σας.
Ήταν η πρώτη ενότητα μου διδασκαλία του τρέχοντος έτους.
Πήγαινε εκεί.
Γράψτε τα πράγματα, καλές και κακές, και θα το χρησιμοποιούν για να κάνουν
τμήμα καλύτερα την επόμενη φορά.
Και τελευταίο, πάλι, αν χρειαστεί τίποτα, επιτρέψτε μου να ξέρω.
Είμαι περισσότερο από ευτυχής να σας βοηθήσω.
Αν θέλετε απλά καραμέλα, I θα έχουν επιπλέον καραμέλα.
Είμαι στην ευχάριστη θέση να φέρει σε εσάς.
>> Αυτό πρόκειται να είναι μια καταπληκτική πορεία.
Αυτό είναι ένα από τα, αν όχι το αγαπημένο μου Φυσικά, έχω πάρει στη ζωή μου,
και ελπίζω ότι θα είναι ότι θαυμάσια για σας.
Γι 'αυτό θέλω να κάνω ό, τι μου να κάνει ότι φοβερό για σας.
Πάω να στείλει ένα email εάν είστε στο τμήμα μου, ούτε ο Νώε, και
Θα προσπαθήσω να προγραμματίσετε με καθένα από εσείς ένα χρόνο για να κάνουν check-in κατά τη διάρκεια των
επόμενες δύο εβδομάδες ώστε να μπορώ να πάρετε μια αίσθηση του τι CS φόντο σας,
και επίσης θα βοηθήσει να προσαρμόσουμε αυτά τμήματα για να ταιριάζει καλύτερα στις ανάγκες σας.
Έτσι, αυτό είναι ό, τι έχω παραταχθεί.
Και πάλι, θα σας δω έξω αν θέλετε να είναι εκεί.
Αυτή ήταν η εβδομάδα δύο ενότητα.
Σας ευχαριστώ παιδιά τόσο πολύ.