[Música tocando] Doug LLOYD: Ola, entón imos falar operadores en C. Entón, nós xa vimos un, de feito, é igual ao operador de asignación. Ela nos permite só poñer un valor nunha variable. Esa é a asignación operador, único signo igual. Co fin de manipular e traballo con valores e variables en C, temos un número de operadores á nosa disposición que podemos utilizar. Imos dar un ollo algúns dos máis comúns comezando con operadores aritméticos. Como podería esperar, non podemos facer operacións matemáticas básicas bonitas en C. Podemos engadir, restar, multiplicar e Divide números usando máis, menos, estrela, and slash, respectivamente. Aquí está un par de liñas de código en que facemos iso. Entón, nós temos int x é igual a y máis 1. Supoñamos que nalgún lugar arriba esta liña de código nós tiñamos dito int y é igual a 10. Cal é o valor de x despois de que eu realizar esta primeira liña de código? Será que quería dicir 11? Tiña razón. Por que é iso? Ben, y foi de 10. Algúns int Eu digo x é igual a 10 máis 1. 10 + 1 é de 11. Así, o valor queda 11 almacenado na variable x. Non é tan malo, non? Como sobre esta próxima liña de código? x é igual a 5 x veces. Ben, antes de executar esta liña de código, foi de 11 x. Entón, o que é o valor de x tras esta liña de código? Tomé un segundo. Entón, x é igual a 5 x veces. x foi de 11. Así, x é igual a 11 veces 5. Ou 55. Entón, se dixo que 55, estaría ben. Agora, pode ser un pouco confuso, pero coa forma que a asignación funciona en C é o valor á dereita queda asignado ao valor do lado esquerdo. Entón, primeiro avaliamos x 5 veces. Así, 11 veces 5 é 55. E entón nós almacenar ese valor en x. O 11, que estaba alí antes de ser agora substituídos. Así, o valor de x é agora 55. Esperemos que isto é moi sinxelo. Hai outro operador que ten probablemente non necesariamente oído chamado iso, pero ten certamente traballou con o pasado se recorda os seus días de long división camiño de volta na escola. É o chamado operador módulo. O módulo fai é dálle o resto cando divide dous números xuntos. Entón, se eu digo 13 dividido por 4, o que é o resto? E ese valor sería calculado polo operador módulo. Entón, eu teño unha liña de código aquí, int m é igual a 13 mod 4. E digo aquí nun comentario valor que m é agora un. Por que digo isto? Ben, facer a longa división no seu cabeza, se pense comigo por un segundo. Entón, eu teño 4 dividido por 13. 4 13 entra en tres veces cun resto de 1. Entón, basicamente, todo o operador módulo fai é el dille cando división, que obtén o resto. Podes pensar que é, en realidade, non é unha cousa moi útil, pero quedaría sorprendido, de feito, pola frecuencia con que o módulo operador pode vir a cadra. Hai un par de problemas imos facer CS50 que tratar con isto. Tamén é bo para facer cousas como número aleatorio. Así, por exemplo, se xa escoitou falar dun xerador de números aleatorios, que lle vai dar un número entre 0 e un número enorme. Pero quizais o que realmente só precisa dun número de 0 a 20. Se usa o operador de módulo en que o número que xigante é xerada pola xerador de números aleatorios, está indo a tomar calquera enorme valor que é, división lo por 20, e obter o resto. O resto só pode ser un valor de 0 a 19 de. Entón, usa operador módulo aproveitar esta enorme cantidade e tallar lo en algo un pouco máis significativa. Estou seguro que será capaz de utilizar tanto daqueles nalgún momento no futuro, en CS50. Así, C tamén nos dá un xeito para aplicar unha aritmética operador a unha única variable en algo máis de taquigrafia. Así, no slide anterior, vimos x é igual a 5 x veces. Isto funcionou. x 5 veces, entón queda almacenado de volta en x. Hai un camiño máis curto para facelo, o pensamento, e é momento sintaxe x é igual a 5. É exactamente o mesmo como dicindo x é igual a 5 x veces. É só un pouco camiño máis curto para facelo. E cando ve algunha código de distribución ou vexa algúns exemplos de código que fai cousas como esta, só estar familiarizado con o que significa que a sintaxe. Certamente non ten para usalo, pero se o fai, pode facer o seu código mirar un pouco máis liso. E sei que tamén pode usar calquera os distintos operadores que xa visto antes en vez de veces. Podería dicir que é igual a 5 x máis, menos é igual a 5, veces, dividir e mod. Todos os traballos. Hai tamén algo que é tan común en C que decidimos refinar que aínda máis. Incrementar unha variable por 1 ou diminuíndo dunha variable por 1 é un coisa-- tan común, especialmente cando falamos de lazos un pouco máis tarde on-- que decidimos, no canto de dicindo algo así como x máis é igual a 1, ou x é igual x máis 1, temos mesmo curto entregou que para x plus plus. Así, x é igual a X máis 1, x é igual a 1, máis, e x plus plus todos fan o mesmo. Eles todos incremento x por 1. Pero esa incrementação e diminuíndo ata 1 é tan común que temos plus plus e minus minus que nos permiten taquigrafia que aínda máis. Entón, imos cambiar de marcha para segunda e falar de expresións booleanas. Todo o que tamén son unha especie de caer Categoría xeral de operadores. Pero expresións booleanas, ao contrario dos operadores aritméticos, son usados ​​para comparar os valores. Así, de novo, as expresións booleanas en C avaliar a un de dous valores posibles, lembro. Verdadeiro ou falso. Iso é os dous únicos valores que Variable booleana pode asumir. Podemos utilizar os resultados dunha expresión booleana nunha serie de formas en programación. De feito, pode facendo iso bastante. Por exemplo, podemos decidir, ben, se algunha condición é certa, quizais eu vou aproveitar esta ramifican abaixo meu código. A condicional, por así dicir. Imos aprender sobre os pronto tamén. Ou que, mentres iso é verdade, quero seguir facendo iso máis e máis e máis. Un loop. En calquera caso, sei que estamos a usar unha expresión booleana, un verdadeiro ou falso, para decidir se quere ou non para tomar un camiño particular. Ás veces, cando estamos a traballar con expresións booleanas, imos usar variables do tipo bool. Pode declarar un bool ingresaran variable, e vai usar na súa Expresión booleana. Pero non sempre ten que facer. Como se constata, en C, as non-0 valor é o mesmo que dicir verdadeiro. Se tivese declarado variable do tipo booleano, e atribuíulle o verdadeiro valor, que é o mesmo que declarar un enteiro e atribuíndolle o valor 1, 2, 3, ou realmente de calquera valor que sexa diferente de 0. Porque en C, cada valor distinto de 0 é verdade. 0, por outra banda, é falsa. Isto pode vir en cadra máis tarde a saber, pero só algo a ter en conta. Non sempre ten que empregar Variables de tipo Boolean Cando están a traballar con expresións booleanas. Existen dous tipos principais de booleano expresións que imos traballar con. Operadores lóxicos e operadores relacionais. A lingua hai non terriblemente importante. É realmente só como eu estou agrupándose os. E certamente vai, penso eu, rapidamente entender o que un operador relacional é, a base do que son cando falar sobre eles en un segundo. Pero non se preocupe, necesariamente, Recordar o operador lóxico prazo ou operador relacional. Estou só usándoo para grupo Los dun xeito lóxica. Entón, imos dar un ollo os tres operadores lóxicos que imos ver un bo bit na programación en CS50 e na programación en xeral. E lóxico é verdade, e só se ambos operandos son certos. Se non, false. Onde é que isto significa? Entón, imos dicir que eu estou nunha apuntar no meu código onde eu teño dúas variables, x e y. E quero decidir se facer algo no meu código en base a se é certo x e y é certo. Eu só quero facelo se ambos son certos, se non, eu non quero ir por ese camiño, porque non está indo para me axudar. O que podo dicir é que se x e y &. Isto vai ser un booleano lóxico expresión comparando x e y e tomar un camiño certo en base a cales son os seus valores. Así, se x é certa e y é certo derivada táboa de verdade aquí, só entón imos ir por ese camiño. Se x, y & &. É só o true-- e só é certo se x é certa e y é certo. Se calquera é falso, como podemos ver táboa verdade, a continuación, ambos x e y non son certas. E así, x e y e é falsa. OU lóxico é certa se, e soamente Se polo menos un operando é certo. Se non, false. Entón E lóxico necesario ambos x e y para ser verdade. OU lóxico require x para ser verdade ou y para ser verdade ou ambos x e y para ser verdade. Entón, de novo, nós tipo de atopar -Nos nunha situación onde imos ao noso código, e chegamos a unha bifurcación na estrada. E nós queremos ir por un en particular camiño se x é certo ou y é verdade, pero non necesariamente, se ambas son certas. Pero, posiblemente, se ambas son certas. Polo tanto, se x é certa e Y é realidade, nós imos enveredar por ese camiño. X é certo. Un deles é certo, non? Se X é certa e y é certo. Se x é certo, e y é falso, un deles é aínda certo. Entón, X ou Y aínda é verdade. Se x é falsa, e y é certo, un deles é aínda certo, non? Y é certo, neste caso. Entón, é certo que x ou y é certo. Só se x e y é falso é falso non ir por ese camiño, porque nin x nin y é certo. Agora, se está a buscar na pantalla agora e querendo saber o que símbolo é de OU lóxico, é chamado a barra vertical. E se ollar para o teclado por un minuto, como eu estou facendo agora, normalmente é un pouco por enriba do Tecla Intro, na maioría dos teclados, na mesma tecla que a barra invertida. Tamén adoita á dereita á beira dos corchetes. Polo tanto, pode ser unha clave que non inseriu moito no pasado. Pero, se está sempre facendo comparacións lóxicas, como nós imos estar facendo un moi en curso, é vai ser útil para atopar a clave e usalo. Entón, é xeralmente na mesma tecla como barra invertida logo enriba Intro. O operador lóxico final non é. E NON está moi sinxelo. El cambia o valor do seu operando. Se x é certo, non x é falso. Se x é falso, non é certo x. Ás veces vai escoitar este símbolo pronunciado como estrondo ou de exclamación ou non. É practicamente o mesmo. No caso de que saber que falado e non está seguro o que iso significa, é só a exclamación punto, pero ás veces é chamado un par de cousas distintas. Todo ben, así que leva coidar de operadores lóxicos. Entón, imos falar sobre operadores relacionais. De novo, se está familiarizado con este aritmética volta na escola, probablemente está familiarizado coa forma na que estes traballos xa. Estas se comportan exactamente como esperar. Entón, a menos de que é verdade, neste exemplo, se x é menor que y. Así, se x é 4 e y é 6, x é menor que y. Iso é certo. Menos que ou igual a funciona moi semellante. Se x é 4, e y é 4, entón x é menor ou igual a y. Maior que. x é maior que y. E maior que ou igual a, X é maior que ou igual a y. De ser certo, entón pasar esa expresión, e vai descender ese camiño na estrada. Se tes un caso x é maior que y, e X é, de feito, é maior que Y, vai facer o que sexa suxeita a esa condición. Teña en conta que non temos un carácter único a menos de ou igual a, como pode ser familiarizado coa partir de libros de texto de matemáticas. Entón, ten por menos de símbolo, seguido por un signo igual. É así que nós representamos menos que ou igual a. E do mesmo xeito, facemos iso para maior ou igual a. Os dous relacional definitiva operadores que son importantes está probando para a igualdade e desigualdade. Así, se x é igual é igual a y, é verdade Se X e Y do valor é o mesmo. Se x é 10, y é 10, e, a continuación, x é igual a igual a y é certo. Se x é 10 e y é 11, X é igual a igual a y non é verdade. Tamén pode probar a desigualdade usando signo de admiración ou estrondo ou non, de novo. Se X non é igual a y, se ese é a proba que estamos usando aquí, que sería bo para ir. Así, se x non coincide y, nós imos enveredar por ese camiño. Teña moito coidado aquí. É unha mistake-- realmente común e que eu certamente fixo bastante cando Eu estaba quedando started-- confundir accidentalmente o operador de asignación, iguais individuais, para o operador de comparación igualdade, par de iguais. Vai levar a algún estraño comportamento no seu código, e, xeralmente, o compilador aviso-lo sobre iso cando se trata e compilar o código, pero ás veces pode ser capaz de esgueirar-se por ela. Non é necesariamente unha cousa boa que esgueirar-se por a pesar de todo. Só por iso, se está facendo unha proba de desigualdade, se está comprobando se dous diferentes variables teñen o mesmo valor dentro deles, asegúrese de utilizar é igual iguais, e iguais non individuais. E de que xeito o programa ten o comportamento que pretende. Eu son Doug Lloyd e este é CS50.