1 00:00:00,000 --> 00:00:00,280 2 00:00:00,280 --> 00:00:02,240 >> DAVID MALAN: Ας δούμε τώρα βελτιώσετε το πρόγραμμα αυτό λίγο περισσότερο. 3 00:00:02,240 --> 00:00:06,510 Δεν θα ήταν ωραίο αν θα μπορούσε toupper ένα γράμμα κεφαλαίο, αν πεζά, και 4 00:00:06,510 --> 00:00:08,880 αν όχι πεζά, περνούν μέσω αμετάβλητο; 5 00:00:08,880 --> 00:00:12,110 Με άλλα λόγια, θα μπορούσε να αντικαταστήσω μου αν-άλλο μπλοκ με ένα 6 00:00:12,110 --> 00:00:13,960 μόνο κλήση για toupper; 7 00:00:13,960 --> 00:00:16,000 >> Λοιπόν, για να απαντήσουμε στο ερώτημα αυτό, Θα διαβουλεύονται καλύτερα η 8 00:00:16,000 --> 00:00:17,630 τεκμηρίωση για toupper. 9 00:00:17,630 --> 00:00:22,100 Για να γίνει αυτό, επιτρέψτε μου να ανοίξει ένα μεγαλύτερο τερματικό έξω από το παράθυρο του gedit, και 10 00:00:22,100 --> 00:00:26,060 στη συνέχεια, πληκτρολογήστε τον άνθρωπο toupper, έτσι που σημαίνει ότι θα ήθελα να ανοίξετε το 11 00:00:26,060 --> 00:00:29,060 λεγόμενη σελίδα man η toupper λειτουργία. 12 00:00:29,060 --> 00:00:31,580 Μετά το χτύπημα Enter, βλέπω μια οθόνη σαν αυτή. 13 00:00:31,580 --> 00:00:34,750 Και τώρα παρατηρήσετε ότι φαίνεται να έχουν σε συνδυασμό την τεκμηρίωση για toupper 14 00:00:34,750 --> 00:00:37,010 επάνω με αυτό για tolower. 15 00:00:37,010 --> 00:00:38,010 Αλλά δεν έχει σημασία. 16 00:00:38,010 --> 00:00:41,640 >> Θα παρατηρήσετε υπό την σύνοψη που Είμαι θύμισε ότι, πράγματι, να χρησιμοποιήσετε αυτό 17 00:00:41,640 --> 00:00:45,220 λειτουργία, θα πρέπει να περιλαμβάνει τα ctype.h αρχείο κεφαλίδας. 18 00:00:45,220 --> 00:00:49,520 Κάτω από αυτό, θα δείτε ότι είναι toupper δηλώνονται ως επιστροφή ενός int και 19 00:00:49,520 --> 00:00:52,720 για την αποδοχή int, το οποίο είναι λίγο περίεργος, δεδομένου ότι μέχρι τώρα, έχω πάει 20 00:00:52,720 --> 00:00:54,370 χειρισμό μόνο χαρακτήρες. 21 00:00:54,370 --> 00:00:55,310 Αλλά αυτό είναι εντάξει. 22 00:00:55,310 --> 00:00:59,070 Αποδεικνύεται ότι αυτό είναι μόνο ένα σύμβαση, και μπορούμε ακόμα να χρησιμοποιήσετε c ως 23 00:00:59,070 --> 00:01:01,990 αν και είναι μια χαρα, παρόλο είναι δηλωθεί ως int. 24 00:01:01,990 --> 00:01:05,850 >> Τώρα, στην περιγραφή εδώ, βλέπω ότι toupper μετατρέπει το γράμμα c για να 25 00:01:05,850 --> 00:01:07,980 κεφαλαία αν είναι δυνατόν. 26 00:01:07,980 --> 00:01:11,520 Και κάτω από την αξία επιστροφής, βλέπω ότι η τιμή που επιστρέφεται είναι εκείνη η 27 00:01:11,520 --> 00:01:15,320 μετατραπεί επιστολή, ή γ, αν η μετατροπή δεν ήταν δυνατή. 28 00:01:15,320 --> 00:01:17,120 Και υπάρχει η επίγνωση Έψαχνα. 29 00:01:17,120 --> 00:01:21,060 Αν το c δεν είναι, στην πραγματικότητα, ένα πεζό επιστολή, φαίνεται ότι θα toupper 30 00:01:21,060 --> 00:01:23,450 απλά να περάσει μαζί αμετάβλητες. 31 00:01:23,450 --> 00:01:25,750 >> Οπότε ας επιστρέψουμε τώρα τον κωδικό μου. 32 00:01:25,750 --> 00:01:30,480 Και τώρα ας αφαιρέστε το σύνολο των αυτό εξαρτάται από μπλοκ και να την αντικαταστήσει, 33 00:01:30,480 --> 00:01:40,240 πολύ απλά, με το printf% γ κόμμα toupper του s βραχίονα κλείνω paren 34 00:01:40,240 --> 00:01:45,120 κοντά paren ερωτηματικό, με τον τρόπο αυτό που σημαίνει ότι θα ήθελα να αντικαταστήσει% c 35 00:01:45,120 --> 00:01:49,050 με την κεφαλαιοποίηση της επιστολή υπ 'αριθ. i στο s αν το i- 36 00:01:49,050 --> 00:01:50,530 επιστολή s είναι πεζά. 37 00:01:50,530 --> 00:01:53,710 Ή ακόμα και αν δεν είναι, θα είναι διαβιβάζεται αμετάβλητη. 38 00:01:53,710 --> 00:01:58,790 >> Ας τώρα να μεταγλωττίσετε το πρόγραμμα με capitalize2 κάνει, και να το εκτελέσετε με 39 00:01:58,790 --> 00:02:01,800 capitalize2, πάλι, πληκτρολογώντας ένα γεια. 40 00:02:01,800 --> 00:02:03,800 Και πράγματι, θα πάρει πίσω κεφαλαία. 41 00:02:03,800 --> 00:02:05,090 Ας πάλι πληκτρολογήστε David. 42 00:02:05,090 --> 00:02:06,340 Και αυτό, επίσης, είναι με κεφαλαία γράμματα. 43 00:02:06,340 --> 00:02:09,380