1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:00,860 >> ALTAVOZ 1: Muy bien. 3 00:00:00,860 --> 00:00:03,260 El último programa fue un poco aburrido. 4 00:00:03,260 --> 00:00:05,510 Vamos a seguir adelante y personalizar esto un poco. 5 00:00:05,510 --> 00:00:07,710 En lugar de decir hola mundo, ¿por qué no vamos por delante 6 00:00:07,710 --> 00:00:09,680 y decir hola David? 7 00:00:09,680 --> 00:00:12,500 Bueno, para hacer esto, podría acercarse esto en un par de maneras. 8 00:00:12,500 --> 00:00:15,760 Podría, por supuesto, el código sólo difícil David, pero eso no es todo lo que 9 00:00:15,760 --> 00:00:17,650 fundamentalmente diferente desde la última versión. 10 00:00:17,650 --> 00:00:21,430 Así que vamos a echar un paso adelante, que deshacer cambiar, y en lugar de insertar un nuevo 11 00:00:21,430 --> 00:00:23,980 línea de código en la línea cinco una vez fue. 12 00:00:23,980 --> 00:00:28,970 >> Específicamente, ¿qué voy a hacer aquí es añadir en nombre de la cadena, con lo que 13 00:00:28,970 --> 00:00:30,920 declaración de una variable. 14 00:00:30,920 --> 00:00:34,240 Note que en C, no sólo usted tiene para dar una variable un nombre, que en 15 00:00:34,240 --> 00:00:38,110 este caso es el nombre, también tiene para especificar de qué tipo es. 16 00:00:38,110 --> 00:00:41,970 Vamos a ver otro tipo en poco tiempo, entre ellos enteros y de punto flotante 17 00:00:41,970 --> 00:00:46,480 valores y más, pero por el momento, la cadena es sólo una palabra o una frase, más 18 00:00:46,480 --> 00:00:49,340 formalmente, una secuencia de cero o más caracteres. 19 00:00:49,340 --> 00:00:53,760 Así que por el momento, esta línea es de cinco diciendo: Dame una variable llamada nombre 20 00:00:53,760 --> 00:00:56,560 cuyo tipo de datos es string. 21 00:00:56,560 --> 00:01:00,460 >> Ahora, quiero que para almacenar un valor en allí, y para hacer eso en C, usamos la igualdad 22 00:01:00,460 --> 00:01:03,030 firmar, también conocido como el operador de asignación. 23 00:01:03,030 --> 00:01:04,860 Así que voy a proceder de la siguiente manera. 24 00:01:04,860 --> 00:01:10,220 Igual comillas, cierra, D-A-V-I-D, presupuesto cerrado, punto y coma. 25 00:01:10,220 --> 00:01:15,595 El efecto neto en la línea cinco es ahora declarar una cadena, D-A-V-I-D, el almacenamiento 26 00:01:15,595 --> 00:01:19,480 desde el lado derecho de esta expresión en la variable en la 27 00:01:19,480 --> 00:01:21,480 lado izquierdo de esta expresión. 28 00:01:21,480 --> 00:01:25,970 Así que al final de esta línea, tenemos D-A-V-I-D se almacena en el interior de una variable 29 00:01:25,970 --> 00:01:27,450 llamado nombre. 30 00:01:27,450 --> 00:01:28,910 >> Ahora vamos a utilizar esta variable. 31 00:01:28,910 --> 00:01:35,010 En la línea seis, voy a sustituir mundo con un marcador de posición. 32 00:01:35,010 --> 00:01:39,960 % S se define de acuerdo con la documentación para printf como un 33 00:01:39,960 --> 00:01:41,690 marcador de posición para una cadena. 34 00:01:41,690 --> 00:01:44,620 En otras palabras, es una manera de informar printf que me voy a poner 35 00:01:44,620 --> 00:01:47,930 algún otro valor aquí, pero permítanme lo informaremos por un momento lo que 36 00:01:47,930 --> 00:01:49,180 que va a ser. 37 00:01:49,180 --> 00:01:52,800 Ahora, ¿cómo debo proceder para contar printf lo que el valor va a ser? 38 00:01:52,800 --> 00:01:56,850 >> Bueno, tengo que dar con un printf El segundo argumento, y para hacer eso, 39 00:01:56,850 --> 00:02:00,460 que poner una coma después de la primera argumento, que fue esta cita 40 00:02:00,460 --> 00:02:04,990 cadena, y luego tengo que especificar qué Valor quiero tapar en que 41 00:02:04,990 --> 00:02:07,010 marcador de posición primera del argumento. 42 00:02:07,010 --> 00:02:10,880 Así que el nombre de mi variable es, de Por supuesto, el nombre, por lo que basta con teclear 43 00:02:10,880 --> 00:02:14,000 "Nombre" como el segundo argumento de printf. 44 00:02:14,000 --> 00:02:15,070 Ahora no se deje engañar. 45 00:02:15,070 --> 00:02:20,440 A pesar de que hay una coma en el interior de la cadena entre comillas, que es de hecho 46 00:02:20,440 --> 00:02:24,370 dentro de la cadena para que no se separar un argumento de otro. 47 00:02:24,370 --> 00:02:28,740 Sólo que esta coma que está fuera de ese cadena entre comillas en realidad separa 48 00:02:28,740 --> 00:02:31,700 El primer argumento de printf de su segundo argumento. 49 00:02:31,700 --> 00:02:34,270 >> Ahora vamos a compilar este programa. 50 00:02:34,270 --> 00:02:36,500 Hacer hola uno. 51 00:02:36,500 --> 00:02:39,570 ¡Oh Dios mío, cinco errores generados, y de mi programa 52 00:02:39,570 --> 00:02:41,100 sólo siete líneas. 53 00:02:41,100 --> 00:02:44,720 Bueno, como siempre, no mirar el pasado de los errores en su pantalla. 54 00:02:44,720 --> 00:02:47,960 Mire la primera, porque tal vez hay un efecto en cascada por el que 55 00:02:47,960 --> 00:02:51,600 sólo un error de hasta creó la parte superior aparición de más errores que hay 56 00:02:51,600 --> 00:02:52,570 en realidad son. 57 00:02:52,570 --> 00:02:56,620 >> Así que permítanme desplazarse hacia arriba, y el primero de esos error en negrita aquí es el uso de 58 00:02:56,620 --> 00:02:59,140 cadena de identificador no declarado. 59 00:02:59,140 --> 00:03:00,630 ¿Quiere estándar en? 60 00:03:00,630 --> 00:03:01,990 Pues no, no lo hice. 61 00:03:01,990 --> 00:03:06,700 Hice cadena media, pero resulta que yo se olvidó de que la cadena no existe como un 62 00:03:06,700 --> 00:03:10,830 tipo de datos técnicamente en C. Conceptualmente existe, pero la palabra 63 00:03:10,830 --> 00:03:16,210 "Cadena" sólo existe porque el CS50 el personal ha declarado que, por decirlo así, 64 00:03:16,210 --> 00:03:18,160 en un archivo que nosotros mismos escribimos. 65 00:03:18,160 --> 00:03:22,540 De hecho, al igual que alguien hace mucho tiempo declarada la función printf en un fichero 66 00:03:22,540 --> 00:03:28,310 llamada estándar IO.H, lo hicimos nosotros el personal declaran cadena como un tipo de datos en 67 00:03:28,310 --> 00:03:32,470 un archivo que, no es de extrañar, se llama CS50.H. 68 00:03:32,470 --> 00:03:36,340 >> Así que vamos a volver a la parte superior de mi programar e informar al compilador que 69 00:03:36,340 --> 00:03:40,130 no sólo es lo que quiero utilizar el símbolo cadena, también quiero educar a la 70 00:03:40,130 --> 00:03:42,160 compilador de lo que significa ese símbolo. 71 00:03:42,160 --> 00:03:47,010 Y para hacer eso, sencillamente, no puedo ir una copia de seguridad a la línea uno, insertar una nueva línea 72 00:03:47,010 --> 00:03:54,070 aquí, y añade, "incluyen CS50.H" también entre paréntesis angulares. 73 00:03:54,070 --> 00:03:58,170 Esta instrucción, al igual que ahora en la línea dos, va a informar a la 74 00:03:58,170 --> 00:04:02,460 compilador que debe incluir la contenido de CS50.H donde quiera que estén 75 00:04:02,460 --> 00:04:06,620 en mi disco duro en el interior de mi programa, la educación de ese modo el compilador como a 76 00:04:06,620 --> 00:04:09,050 lo que se entiende por cadena. 77 00:04:09,050 --> 00:04:13,420 >> Vamos a volver a compilar mi programa después de guardar los cambios. 78 00:04:13,420 --> 00:04:15,500 Hacer hola uno. 79 00:04:15,500 --> 00:04:16,440 Intro. 80 00:04:16,440 --> 00:04:17,730 Mucho mejor. 81 00:04:17,730 --> 00:04:23,760 Ahora tengo un mensaje parpadeando en la que puede escribir, ". / un hola", y voila. 82 00:04:23,760 --> 00:04:25,010 Hola David. 83 00:04:25,010 --> 00:04:26,402