>> [REPRODUCCIÓN DE MÚSICA]
ALTAVOZ: De acuerdo.
Así que vamos a hablar de otra cosa que es algo único a C,
que es tipos de datos y variables.
Cuando digo única de C, de verdad significa sólo en el contexto de,
si usted ha sido un programador por un tiempo muy largo,
es probable que no hayas trabajado con tipos de datos
si usted ha utilizado moderna lenguajes de programación.
Lenguas modernas como PHP y JavaScript,
que también veremos un poco más tarde en el curso,
que en realidad no tiene que especificar el tipo de datos de una variable
cuando se utiliza.
>> Usted acaba de declararlo y empezar a usarlo.
Si se trata de un entero, Sé que es un entero.
Si se trata de un personaje, es sabe que es un personaje.
Si se trata de una palabra, sabe es una cadena, llamada.
>> Pero en C, que es una lengua más antigua, necesitamos
para especificar los datos tipo de todas las variables
que creamos la primera vez que utilizamos esa variable.
Así C viene con algún incorporada tipos de datos.
Y vamos a llegar familiares con algunos de ellos.
Y luego después también hablaremos un poco acerca de algunos de los tipos de datos
que hemos escrito para ti, para que pueda utilizarlos en CS50.
>> La primera es int.
El tipo de datos int se utiliza para las variables que va a almacenar valores enteros.
Así 1, 2, 3, negativo 1, 2, 3, y así sucesivamente.
Los enteros, que es algo que debe tener en cuenta para la prueba,
Siempre tomar hasta cuatro bytes de la memoria, que es de 32 bits.
Hay ocho bits en un byte.
>> Así que esto significa que el rango de valora que un número entero puede almacenar
está limitada por lo que se puede encajar dentro de 32 bits de valor de la información.
Ahora resulta que, que fue hace mucho tiempo decidió
que nos separan ese rango de 32 bits
en enteros negativos y números enteros positivos,
cada mitad conseguir de la gama.
Así que el rango de valores que representamos con un rango entero de negativo 2
a la potencia 31a a 2 a la potencia 31a menos 1,
causa también necesita un lugar para 0.
>> Así que, básicamente la mitad de los valores posibles Usted puede caber en un int son negativos,
y la otra mitad son positivos.
Y más o menos aquí, se trata de negativo 2 mil millones a cerca de 2 mil millones positiva.
Dar o tomar un par de cientos de millones de dólares.
Así que eso es lo que usted puede caber en una variable entera.
Ahora también tenemos algo llamado un entero sin signo.
Ahora enteros sin signo no son una tipo separado de variable.
Más bien, es sin firmar lo que se llama un partido de clasificación.
Modifica los datos tipo de número entero ligeramente.
>> Y en este caso, lo que sin firmar designa todas y que también puedes
utilizar otros tipos de datos no firmados, número entero no es el único.
Lo que hace efectivamente es de dobles el rango positivo de los valores
que un entero puede tomar en expensas de ya no permitiendo
que tome en valores negativos.
Así que si usted tiene los números que usted sabe obtendrá mayor que 2 mil millones, pero menos
de 4 mil millones, por ejemplo-- que es 2 a la 32 poder--
es posible que desee utilizar un int sin firmar si
sabe que su valor nunca será negativo.
>> Usted tiene de vez en cuando utilizado para las variables sin signo
en CS50, razón por la cual menciono aquí.
Pero, de nuevo, el rango de valores que se puede representar con un entero sin signo
como a t entero regular, son 0 a 2 a la potencia 32a menos 1,
o aproximadamente 0 a 4 mil millones.
Así que ha duplicado efectivamente el rango positivo que puede adaptarse,
pero le has dado todo los valores negativos.
>> Ahora como un aparte, sin firmar no es el único calificador
para que podamos ver por tipos de datos variables.
También hay cosas llamadas corta y larga y const.
Const veremos un poco poco más tarde en el curso.
Corto y largo, que probablemente no lo hará.
>> Pero sólo sé que hay son otros calificativos.
Sin signo no es el único.
Pero es el único que estamos vamos a hablar en este momento.
Así todos los derechos.
Para ello hemos enteros cubiertos.
¿Que sigue?
>> Caracteres.
Así caracteres se utilizan para las variables que almacenará los caracteres individuales.
Char es la abreviatura de carácter.
Y a veces se puede escuchar gente pronuncia como coche.
>> Así que los personajes siempre tienen uno byte de memoria, que está a sólo 8 bits.
Así que esto significa que sólo pueden encajar valores en el rango de negativo 2
a la séptima potencia, o negativo 128, a 2 a la séptima potencia menos 1, o 127.
>> Gracias a ASCII, que era hace mucho tiempo decidió de manera
para asignar esos números positivos desde 0 a 127 a varios personajes
que todos existen en nuestra teclado.
Así que como veremos más adelante en el curso, y usted probablemente
llegado a memorizar en algún punto, el capital A, por ejemplo--
la capital carácter A-- mapas con el número 65.
Y la razón de ello es porque eso es lo que es
sido asignado por el estándar ASCII.
>> Minúsculas A es 97.
El carácter 0 para cuando en realidad escribir el carácter, no
que representa el número cero, es 48.
Usted aprenderá un par de ellos sobre la marcha.
Y que sin duda viene a necesitar ellos un poco más tarde en el CS50.
>> El siguiente tipo de datos importante está números de punto flotante.
Así que los números de coma flotante son también conocido como números reales.
Son básicamente números que tener un punto decimal en ellos.
Valores de punto flotante como números enteros son también
contenida dentro de 4 bytes de memoria.
Ahora no hay carta aquí.
No hay línea de números, porque que describe el rango de un flotador
no es del todo claro o intuitiva.
>> Baste decir que tener 32 bits para trabajar.
Y si usted tiene un número como pi, que tiene
una parte entera 3, y una flotación punto de parte, o de una parte decimal 0,14159,
y así sucesivamente, usted necesita estar capaz de representar todos it--
la parte entera y la parte decimal.
>> Entonces, ¿qué piensa usted que esto significa?
Una cosa es que si el decimal parte se hace más largo y más largo,
si tengo una muy grande parte entera, yo no podría
ser capaz de ser lo más preciso con la parte decimal.
Y eso es realmente la limitación de un flotador.
>> Flotadores tienen un problema de precisión.
Sólo tenemos 32 bits a trabajar, por lo que sólo puede
ser tan preciso con nuestra parte decimal.
No podemos tener necesariamente un número decimal parte precisa para 100 o 200 dígitos,
porque sólo tenemos 32 bits para trabajar.
Así que eso es una limitación de un flotador.
>> Ahora, afortunadamente, hay otro tipo de datos llamado
doble, que algo se ocupa de este problema.
Dobles, como flotadores, también se utilizan para almacenar números reales, o de punto flotante
los valores.
La diferencia es que dobles son de doble precisión.
Ellos pueden caber 64 bits de datos, u ocho bytes.
¿Que significa eso?
Bueno, significa que podemos ser mucho más precisa con el punto decimal.
En lugar de tener pi a siete lugares tal vez, con un flotador,
que tal vez podemos tener a 30 plazas.
Si eso es importante, es posible que desee utilizar una doble en lugar de un flotador.
Básicamente, si usted es trabajando en nada donde
tener un decimal muy largo y un montón de precisión es importante,
es probable que desee utilizar un doble overfloat.
Ahora la mayor parte de su trabajo en CS50, un flotador debería ser suficiente.
Pero no saben que existen dobles como manera de lidiar un poco con la precisión
problema que le da un extra de 32 bits para trabajar por sus números.
>> Ahora bien, esto no es un tipo de datos.
Este es un tipo.
Y se llama vacío.
Y estoy hablando de ello aquí porque probablemente ha
visto un par de veces ya en CS50.
Y puede que se pregunte lo que se trata todo esto.
>> Así vacío es un tipo.
No existe.
Pero no es un tipo de datos.
>> No podemos crear una variable de tipo anular y asignar un valor a la misma.
Pero las funciones, por ejemplo, puede tener un tipo de retorno void.
Básicamente, si usted ve una función que tiene un tipo de retorno void,
que significa que no devuelve un valor.
¿Puedes pensar en una común función que hemos utilizado hasta ahora
en CS50 que no devuelve un valor?
>> Printf es uno.
Printf no lo hace realidad devolver nada.
Imprime algo a la pantalla, y es básicamente
un efecto secundario de lo que hace printf.
Pero no le da un valor de nuevo.
No capturar el resultado y tienda de alguna variable para utilizarlo más adelante.
Simplemente imprime algo que la pantalla y ya está.
>> Por eso decimos que printf es una función void.
Se devuelve nada.
>> La lista perímetro de un función también puede ser nulo.
Y también se ha visto que un poco en CS50 también.
Void main Int.
¿Le suena?
Básicamente lo que eso significa es que principal no toma ningún parámetro.
No hay argumento de que conseguir pasado a la principal.
Ahora más adelante veremos que hay una manera de pasar argumentos al principal,
pero hasta ahora lo que hemos visto es void main int.
Principal simplemente no toma ningún argumento.
Y así se especifica que al decir nula.
Estamos siendo muy explícita sobre el hecho
que no toma ningún argumento.
>> Así que por ahora, basta con decir que básicamente vacío
simplemente debe servir como un marcador de posición para usted, ya pensar en nada.
No es realmente hacer nada.
No hay valor de retorno aquí.
No hay parámetros aquí.
Es nula.
Es un poco más complejo que eso.
Pero esto debería ser suficiente para la mayor parte del curso.
Y espero que ahora usted tiene un poco poco más de un concepto de lo que es nula.
>> Así que estos son los cinco tipos que usted encuentro que están incorporados a la C.
Pero en CS50 también tenemos una biblioteca.
CS50.h, que puede incluir.
Y que le proporcionará con dos tipos adicionales
que probablemente será capaz para utilizar en sus tareas,
o simplemente trabajando generalmente programación.
>> El primero de ellos es bool.
Así que el tipo de datos Boolean, bool, se utiliza para las variables
que almacenará un valor booleano.
Si alguna vez has escuchado este término antes,
podría saber que un booleano valor es capaz de solamente
la celebración de dos valores distintos diferentes.
Verdadero y falso.
Ahora bien, esto parece bastante fundamental, ¿no?
Es un poco una sorpresa que este no existe en C, ya que está integrado.
Y en muchos idiomas modernos, por supuesto, Booleans
son un tipo de datos estándar por defecto.
Pero en C, que en realidad no lo son.
Pero hemos creado para usted.
Así que si alguna vez necesitas para crear una variable cuyo tipo es bool,
sólo asegúrese de #include CS50.h al comienzo de su programa,
y usted será capaz de crear variables del tipo bool.
>> Si se olvida de #include CS50.h, y de empezar a usar variables de tipo Boolean,
puede encontrarse con algunos problemas cuando se está compilando su programa.
Así que estar atentos para eso.
Y tal vez usted puede fijar el problemas de libras incluyendo CS50.h.
>> El otro tipo de dato importante que nos prever que en la biblioteca CS50
es cadena.
Entonces, ¿qué es una cadena?
Las cadenas son realmente sólo palabras.
Son colecciones de caracteres.
Son palabras.
Son frases.
Son párrafos.
Podría ser libros enteros, incluso.
>> Muy corto a muy largo serie de caracteres.
Si necesita usar cadenas, por ejemplo, para almacenar una palabra,
Sólo asegúrese de incluir CS50.h al comienzo de su programa
así que usted puede utilizar el tipo de cadena.
Y entonces usted puede crear variables cuyo tipo de datos es string.
Ahora más adelante en el curso, también veremos que eso es
No toda la historia, tampoco.
Nos encontramos con cosas llamados estructuras,
que permitirá al grupo lo que puede ser un entero y una cadena en una unidad.
Y podemos usar eso para un propósito, que podría
muy útil más adelante en el curso.
>> Y nosotros también aprenderemos acerca de los tipos definidos,
que le permiten crear sus propios tipos de datos.
No necesitamos que preocuparse en eso por ahora.
Pero sólo sé que eso es algo en el horizonte,
que hay mucho más en este conjunto Tipo algo de lo que te estoy diciendo simplemente
ahora.
Así que ahora que hemos aprendido poco acerca de los datos básicos
tipos y los tipos de datos CS50, vamos a hablar acerca de cómo trabajar con variables
y crear ellos el uso de estos tipos de datos en nuestros programas.
Si desea crear una variable, todo lo que tiene que hacer es dos cosas.
>> En primer lugar, es necesario darle un tipo.
La segunda cosa que usted necesita que hacer es darle un nombre.
Una vez que hayas hecho esto y golpeó un punto y coma al final de la línea,
que ha creado una variable.
>> Así que aquí hay dos ejemplos.
Número Int; carta carbón ;.
¿Qué he hecho aquí?
He creado dos variables.
>> La primera, la variable de nombre es el número.
Y el número es capaz de mantener entero escriba los valores, ya que su tipo es int.
Carta es otra variable que puede contener caracteres
debido a su tipo de datos es CHAR.
>> Bastante sencillo, ¿verdad?
Si usted se encuentra en una situación donde
es necesario crear múltiples variables del mismo tipo,
sólo tiene que especificar el nombre del tipo de una vez.
A continuación, sólo enumerar tantas variables de ese tipo que usted necesita.
>> Así que podría, por ejemplo, aquí en esta tercera línea de código,
decir int altura ;, nueva línea.
Ancho Int ;.
Y eso sería trabajar también.
Yo todavía me llamó dos variables altura y la anchura, cada uno de los cuales
es un número entero.
Pero se me permite, las cosas a la sintaxis de C, consolidarla en una sola línea.
Int altura, ancho; Es la misma cosa.
He creado dos variables, uno llamado altura de uno llamado anchura, ambos de los cuales
son capaces de celebración valores de tipo entero.
>> Del mismo modo que aquí, puedo crear de tres valores de punto flotante de una sola vez.
Tal vez pueda crear una variable llamado raíz cuadrada de 2--
que presumiblemente con el tiempo se sostenga el point-- flotante
que la representación de la plaza raíz del 2-- raíz cuadrada de 3, y pi.
Yo podría haber hecho esto en tres líneas separadas.
Float, raíz cuadrada 2; Flotador raíz cuadrada 3; flotar pi; y que funcionaría también.
>> Pero, de nuevo, yo sólo puedo consolidar esto en una sola línea de código.
Hace las cosas un poco más corto, no como torpe.
>> Ahora, en general, es un buen diseño sólo declarar una variable cuando la necesite.
Y hablaremos un poco poco más sobre eso
más tarde en el curso cuando hablamos de alcance.
Así que no necesariamente tienen que crear todas las variables
al comienzo del programa, el cual algunas personas podrían haber hecho el pasado,
o ciertamente era un muy comunes Hace muchos años de práctica de codificación
cuando se trabaja con C. Es posible que sólo que desee crear un derecho variable cuando
lo necesita.
Correcto.
Para ello hemos creado variables.
¿Cómo utilizamos ellos?
Después declaramos un variables, que no necesitamos
para especificar el tipo de datos de esa variable más.
De hecho, si lo hace, es posible que terminar con algunas consecuencias extrañas
que vamos a clase de pasar por alto por el momento.
Pero basta con decir, cosas raras van
para empezar sucediendo si inadvertidamente volver a declarar variables con el mismo nombre
una y otra vez.
>> Así que aquí tengo cuatro líneas de código.
Y tengo un par de Comentarios No solo indican
lo que sucede en cada línea sólo para ayudar
usted se encuentra en lo que está pasando.
Número Así int ;.
Usted vio que antes.
Esa es una declaración de variables.
>> Ahora he creado una variable número llamado que es
capaz de mantener los valores de tipo entero.
He declarado él.
>> La siguiente línea que estoy asignando un valor de número.
Número es igual a 17.
¿Lo que está ocurriendo allí?
Estoy poniendo el número 17 dentro de esa variable.
>> Así que si alguna vez luego imprimo lo los contenidos de número son más adelante,
ellos me dicen que es 17.
Así que me he declarado una variable, y luego me he asignado la misma.
>> Podemos repetir el proceso de nuevo con la letra carbón ;.
Esa es una declaración.
Carta de capital es igual a H. Eso es una asignación.
Bastante sencillo, también.
>> Ahora bien, este proceso podría parece un poco tonto.
Por qué estamos haciendo esto en dos líneas de código?
¿Hay una mejor manera de hacerlo?
De hecho, no existe.
A veces es posible que vea esta llama inicialización.
Es cuando se declara una variable y asignar un valor a la vez.
Esto es realmente una bonita cosa común hacer.
Cuando se crea una variable, por lo general, desea que tenga algún valor básico.
Incluso si es 0 o algo así.
Sólo se le da un valor.
>> Puede inicializar una variable.
Int número es igual a 17 es el mismo que las dos primeras líneas de código arriba.
Carta Char es igual a h es la misma que la líneas tercera y cuarta del código de seguridad.
La lección más importante aquí cuando estamos declarando y asignar
las variables es después de que hemos declaró que, previo aviso
No estoy usando el tipo de datos de nuevo.
No estoy diciendo int número es igual a 17 en la segunda línea de código, por ejemplo.
Sólo digo que número es igual 17.
>> Una vez más, vuelva a declarar una variable después que ya ha declarado que puede conducir
a alguna consecuencia raro.
Así que ten cuidado con eso.
>> Soy Doug Lloyd.
Y esto es CS50.