>> [REPRODUCCIÓN DE MÚSICA]
>> DOUG LLOYD: Hola, así que vamos a hablar de los operadores en C.
Así, ya hemos visto uno, de hecho, es igual al operador de asignación.
Nos permite sólo hay que poner un valor en una variable.
Esa es la tarea operador, solo signo igual.
Con el fin de manipular y trabajar con los valores y variables en C,
tenemos un número de operadores a nuestra disposición que podemos utilizar.
Echemos un vistazo a algunos de los más comunes
comenzando con operadores aritméticos.
Como era de esperar, no podemos hacer operaciones matemáticas básicas bonitas en C.
Podemos sumar, restar, multiplicar y números de dividir utilizando más, menos, estrella,
y raya vertical, respectivamente.
He aquí un par de líneas de código en la que lo hacemos.
Así, tenemos int x es igual y más 1.
Vamos a suponer que en algún lugar por encima de esta línea de código
habíamos dicho int y es igual a 10.
¿Cuál es el valor de x después ejecutar esta primera línea de código?
¿Dijiste 11?
Tendrías derecho.
¿Porque es eso?
Bueno, y era 10.
Algunos int que digo x es igual a 10 más 1.
10 más 1 es 11.
Por lo tanto, el valor 11 se pone almacenado en la variable x.
No está mal, ¿no?
>> ¿Qué te parece esta nueva línea de código? x es igual a 5 x veces.
Bueno, antes de ejecutamos esta línea de código, x era 11.
Así que, ¿cuál es el valor de x después de esta línea de código?
Tome un segundo.
Por lo tanto, x es igual a x veces 5.
x era 11.
Por lo tanto, x es igual a 11 veces 5.
O 55.
Así que si usted ha dicho 55, estaríamos en lo cierto.
>> Ahora bien, puede ser un poco confuso, pero con la forma en que la asignación de obras en C
es el valor de la derecha obtiene asignado al valor de la izquierda.
Así que, primero evaluamos x veces 5.
Por lo tanto, 11 veces 5 es 55.
Y luego almacenamos ese valor en x.
El 11 de que estaba allí antes de ahora se sobrescribe.
Así que el valor de x es ahora 55.
Esperemos que eso es bastante sencillo.
>> Hay otro operador que tienes probablemente no necesariamente oído
llamado a esto, pero tienes ciertamente trabajado con en el pasado
si usted recuerda sus días de largo división de regreso en la escuela primaria.
Se llama el operador de módulo.
Lo que hace es que el módulo le da el resto
cuando se divide dos números juntos.
Por lo tanto, si digo 13 dividido por 4, ¿qué es lo que queda?
Y se calcula que el valor por el operador de módulo.
>> Por lo tanto, tengo una línea de código aquí, int m es igual a 13 mod 4.
Y digo aquí en un comentario el valor de que m es ahora 1.
¿Por qué digo eso?
Bueno, hacer la larga división en su cabeza, si tengan paciencia conmigo por un segundo.
Así pues, he 4 dividido por 13.
4 entra en 13 tres veces con un resto de 1.
Así que, básicamente, todo el operador módulo hace
¿es usted cuando usted dice división, se obtiene el resto.
Se podría pensar que en realidad no es una cosa terriblemente útil,
pero usted se sorprendería, en realidad, por la frecuencia con la que el módulo
operador puede venir muy bien.
>> Hay un par de problemas haremos CS50 que tienen que ver con ella.
También es bueno para hacer cosas como números aleatorios.
Así, por ejemplo, si usted tiene alguna oído hablar de un generador de números aleatorios,
eso va a darle un número de 0 a algún número enorme.
Pero tal vez usted realmente sólo necesitará un número de 0 a 20.
Si utiliza el operador de módulo en ese número gigante que
se genera por la generador de números al azar,
usted va a tomar cualquier gran valor que es, se divide por 20,
y obtener el resto.
El resto sólo puede ser un valor de 0 a 19.
Así, se utiliza el operador de módulo aprovechar esta enorme cantidad
y reducir gradualmente hacia abajo en algo un poco más de sentido.
Estoy bastante seguro de que será capaces de utilizar ambos de aquellos
en algún momento en el futuro en CS50.
>> Así, C también nos da una manera para aplicar una aritmética
operador para una sola variable en un poco de forma más abreviada.
Así, en la diapositiva anterior, vimos x es igual a 5 x veces.
Eso funciono.
x veces 5 a continuación, se almacena de nuevo en x.
Hay un camino más corto para hacerlo, pensamiento, y es la época de sintaxis X es igual a 5.
Es exactamente lo mismo que diciendo x es igual a 5 x veces.
Es sólo un poco camino más corto para hacerlo.
Y cuando ves alguna código de distribución o
ver algo de código de ejemplo que hace cosas como esta,
simplemente estar familiarizados con lo que significa la sintaxis.
Seguramente usted no tiene para usarlo, pero si lo hace,
que podría hacer que el código mirar un poco más pulido.
Y sabes que también se puede utilizar cualquiera de los diferentes operadores que ya hemos
visto antes en lugar de veces.
Se podría decir que es igual a 5 x más, menos es igual a 5, los tiempos, dividir y mod.
Todos los trabajos.
>> También hay algo eso es tan común en C
que hemos decidido refinar que aún más.
Incrementar una variable por 1 o disminuir una variable por 1
es una cosa-- tales común, especialmente cuando hablamos de bucles de un poco más tarde
en-- que hemos decidido en lugar de diciendo algo como x más es igual a 1,
ox es igual a x + 1, tenemos aun inferioridad numérica que ax plus plus.
Por lo tanto, x es igual a x más 1, x más es igual a 1, yx plus plus todos hacen lo mismo.
Todos ellos de la subasta x por 1.
Pero eso incrementando y decremento de 1
es tan común que tenemos plus plus y minus minus
que nos permiten taquigrafía que aún más.
>> Así que, vamos a cambiar de marcha para el segundo y hablar de expresiones booleanas.
Todo lo que también son una especie de caer en la categoría general de los operadores.
Pero las expresiones booleanas, a diferencia de los operadores aritméticos,
se utilizan para comparar los valores.
Así, de nuevo, todas las expresiones booleanas en C evaluar a uno de dos valores posibles,
recordar.
Verdadero o falso.
Esos son los dos únicos valores que Variable booleana puede asumir.
Podemos utilizar los resultados de una expresión booleana
en un montón de maneras en la programación.
De hecho, podrás haciendo esto mucho.
>> Por ejemplo, podemos decidir, así, si alguna condición es verdadera,
tal vez voy a aprovechar esta ramificarse por mi código.
Un condicional, por así decirlo.
Vamos a aprender acerca de aquellos pronto también.
O tal vez, siempre y cuando esto es cierto, quiero
seguir haciendo esto Una y otra vez.
Un bucle.
En ambos casos, sabemos que estamos utilizando una expresión booleana, verdadero o falso,
para decidir si o no tomar un camino particular.
A veces, cuando estamos trabajando con expresiones booleanas,
vamos a utilizar variables de tipo Bool.
Es posible que haya declarado un Bool tecleó variables,
y que va a utilizar en su Expresión booleana.
Pero no siempre se tiene que hacer.
Pues resulta que, en C, todos los no-0 valor es lo mismo que decir la verdad.
Si usted hubiera declarado variable de tipo booleano,
y le asignó el valor verdadero, eso es lo mismo que declarar un entero
y asignarle el valor 1, 2, 3, o en realidad cualquier valor
alguno distinto de 0.
Debido a que en C, cada valor distinto de 0 es cierto.
0, por otro lado, es falso.
Esto puede venir en útil más adelante para conocer,
pero sólo algo a tener en cuenta.
No siempre tenemos que usar Variables de tipo Boolean cuando nos
están trabajando con expresiones booleanas.
>> Hay dos tipos principales de Boole expresiones que vamos a trabajar.
Los operadores lógicos y operadores relacionales.
El lenguaje existe no es terriblemente importante.
Es realmente lo que les estoy agrupación.
Y que sin duda, creo que, de forma rápida darse cuenta de lo que un operador relacional es,
sobre la base de lo que son cuando hablar de ellos en un segundo.
Pero no se preocupe necesariamente memorizar el operador lógico plazo
u operador relacional.
Yo sólo estoy usando para grupo de una manera lógica.
>> Por lo tanto, vamos a echar un vistazo a los tres operadores lógicos
que vamos a ver un buen poco en la programación en CS50
y en la programación general.
Lógico Y es cierto, siempre y sólo si ambos operandos son verdaderos.
De lo contrario falso.
¿Dónde quiere decir eso?
Entonces, digamos que estoy en una apuntar en mi código donde tengo
dos variables, x e y.
Y quiero que decidir si hacer algo en mi código
sobre la base de si x es verdadera e y es cierto.
Sólo quiero hacerlo si ambos son verdad,
de lo contrario yo no quiero ir por ese camino, ya que no me va a ayudar.
Lo que puedo decir es que si x & & y.
Esa será una de Boole lógica la comparación de la expresión x e y
y tomando un cierto camino sobre la base de cuáles son sus valores.
Por lo tanto, si x es verdadera e y es cierto basado en esta tabla de verdad aquí,
sólo entonces vamos a ir por ese camino.
Si x, & & y.
Es sólo el cierto-- y sólo es verdadero si x es verdadera e y es cierto.
Si cualquiera de los dos es falsa, como vemos la tabla de verdad,
entonces ambos xey no son ciertas.
Y así, x & & y es falso.
>> OR lógico es verdadero si y sólo si por lo menos un operando es cierto.
De lo contrario falso.
Así lógico requerido X e Y para ser verdad.
OR lógico requiere x para ser verdad o y para ser verdad o ambos xey para ser verdad.
Así que, de nuevo, nos encontramos con clase de en una situación
donde vamos a nuestro código, y llegamos a un tenedor en la carretera.
Y queremos bajar un en particular camino si x es verdadera
o Y es cierto, pero no necesariamente si ambas son ciertas.
Pero, posiblemente, si ambas son ciertas.
Así que si x es verdadera e y es cierto, vamos a ir por ese camino.
x es cierto.
Uno de ellos es verdadero, ¿no?
Si x es verdadera e y es cierto.
Si x es cierto, e y es falsa, uno de ellos sigue siendo cierto.
Así, X o Y sigue siendo cierto.
Si x es falsa, e y es cierto, uno de ellos es todavía verdad, ¿no?
Y es cierto, en este caso.
Por lo tanto, es cierto que x o y es cierto.
Sólo si x es falsa e y es falsa ¿no vamos por ese camino,
porque ni x ni y es cierto.
Ahora, si lo que buscas en la pantalla en este momento
y preguntándose lo que símbolo es para lógica OR,
se llama la barra vertical.
Y si usted busca en su teclado por un minuto, ya que estoy haciendo ahora,
por lo general por encima de la Tecla Enter, en la mayoría de los teclados,
en la misma tecla que la barra invertida.
También es generalmente a la derecha junto a los corchetes.
Así, podría ser una clave que no han escrito mucho en el pasado.
Pero, si alguna vez hacer comparaciones lógicas,
como vamos a hacer un mucho en el curso, es
va a ser útil para encontrar esa llave y utilizarla.
Así que, por lo general en la misma tecla como barra invertida justo por encima de Enter.
>> El operador lógico final NO es.
Y no es bastante sencillo.
Se invierte el valor de su operando.
Si x es cierto, entonces no x es falsa.
Si x es falsa, entonces no x es cierto.
A veces se escucha este símbolo pronunciado como Bang o exclamación
o no.
Es más o menos la misma cosa.
En caso de que usted oye que se habla y no estás seguro de lo que eso significa,
es sólo la exclamación punto, pero a veces es
llamado un par cosas diferentes.
Muy bien, así que toma cuidar de los operadores lógicos.
Por lo tanto, vamos a hablar de operadores relacionales.
De nuevo, si usted está familiarizado con este la aritmética en la escuela primaria,
usted es probablemente familiar con cómo funcionan ya.
Estos se comportan exactamente como era de esperar.
Así que a menos de que es verdad, en este ejemplo, si x es menor que y.
Por lo tanto, si x es 4 e y es 6, x es menor que y.
Es verdad.
Menos que o igual a funciona bastante parecida.
Si x es 4, e y es 4, entonces x es menor o igual a y.
Mas grande que. x es mayor que y.
Y mayor o igual a, x es mayor que o igual a y.
Si es cierto, entonces usted pasar esa expresión,
y usted va abajo ese camino en la carretera.
Si usted tiene un si x es mayor que y, y X es, de hecho, es mayor que y,
que va a hacer lo que sea sujeta a esa condición.
>> Tenga en cuenta que no tenemos una solo carácter por menos
o igual a, como podría ser familiarizados con los libros de texto de matemáticas.
Así, tenemos el símbolo menor que, seguido de un signo igual.
Eso es lo que representamos Menos que o igual a.
Y del mismo modo, hacemos lo hacemos para mayor que o igual a.
>> Los dos relacional definitiva operadores que son importantes
están probando para la igualdad y la desigualdad.
Por lo tanto, si x es igual a igual y, es cierto si x y de y valor es el mismo.
Si x es 10, e y es 10, entonces x es igual a igual y es cierto.
Si x es 10 e y es 11, x es igual a igual y no es cierto.
También podemos probar la desigualdad utilizando signo de exclamación o de explosión o NO,
de nuevo.
Si x no es igual a y, si se esa es la prueba de que estamos usando aquí,
seríamos buenos para ir.
Así pues, si x no es igual a Y, vamos a ir por ese camino.
>> Sea muy cuidadoso aquí.
Es una mistake-- muy común y ciertamente uno que hice un buen montón cuando
Me estaba started-- confundir accidentalmente
el operador de asignación, iguales individuales, para el operador de comparación de igualdad,
iguales dobles.
Se va a llevar a algún extraño comportamiento en el código,
y por lo general el compilador advertirle de ello cuando intenta
y compilar el código, pero a veces usted podría ser capaz de colarse por.
No es necesariamente una buena cosa que colarse por, sin embargo.
Sólo por lo que si usted está haciendo una prueba de la desigualdad,
si usted está comprobando si dos diferentes variables tienen el mismo valor
dentro de ellos, asegúrese de usar es igual a los iguales y los iguales, no individuales.
Y de esa manera su programa lo hará tener el comportamiento que tenía planeado.
Soy Doug Lloyd y este es CS50.