[REPRODUCCIÓ DE MÚSICA] DOUG LLOYD: Hola, així que anem a parlar dels operadors en C. Així, ja hem vist un, de fet, és igual a l'operador d'assignació. Ens permet només cal posar un valor en una variable. Aquesta és la tasca operador, sol signe igual. Per tal de manipular i treballar amb els valors i variables en C, tenim un nombre d'operadors a la nostra disposició que podem utilitzar. Fem una ullada a alguns dels més comuns començant amb operadors aritmètics. Com era d'esperar, no podem fer operacions matemàtiques bàsiques boniques en C. Podem sumar, restar, multiplicar i números de dividir utilitzant més, menys, estel, i ratlla vertical, respectivament. Heus aquí un parell de línies de codi en què ho fem. Així, tenim int x és igual i mai 1. Anem a suposar que en algun lloc per sobre d'aquesta línia de codi havíem dit int i és igual a 10. Quin és el valor de x després executar aquesta primera línia de codi? ¿Vas dir 11? Tindries dret. Perquè és això? Bé, i era 10. Alguns int que dic x és igual a 10 més 1. 10 més 1 és 11. Per tant, el valor 11 es posa emmagatzemat en la variable x. No està malament, no? Què et sembla aquesta nova línia de codi? x és igual a 5 x vegades. Bé, abans de executem aquesta línia de codi, x era 11. Així que, quin és el valor de x després d'aquesta línia de codi? Tome un segon. Per tant, x és igual a x vegades maig. x era 11. Per tant, x és igual a 11 vegades 5. O 55. Així que si vostè ha dit 55, estaríem en la veritat. Ara bé, pot ser una mica confús, però amb la forma en què l'assignació d'obres en C és el valor de la dreta obté assignat al valor de l'esquerra. Així que, primer avaluem x vegades maig. Per tant, 11 vegades 5 és 55. I després emmagatzemem aquest valor en x. L'11 que hi era abans d'ara es sobreescriu. Així que el valor de x és ara 55. Esperem que això és bastant senzill. Hi ha un altre operador que tens probablement no necessàriament sentit cridat a això, però tens certament treballat amb en el passat si vostè recorda els seus dies de llarg divisió de retorn a l'escola primària. Es diu l'operador de mòdul. El que fa és que el mòdul li dóna la resta quan es divideix dos números junts. Per tant, si dic 13 dividit per 4, què és el que queda? I es calcula que el valor per l'operador de mòdul. Per tant, tinc una línia de codi aquí, int m és igual a 13 mod 4. I dic aquí en un comentari el valor que m és ara 1. Per què dic això? Bé, fer la llarga divisió en el seu cap, si tinguin paciència amb mi per un segon. Així doncs, he abril dividit per 13. 4 entra en 13 tres vegades amb una resta d'1. Així que, bàsicament, tot el operador mòdul fa ¿És vostè quan vostè diu divisió, s'obté la resta. Es podria pensar que en realitat no és una cosa terriblement útil, però vostè es sorprendria, en realitat, per la freqüència amb què el mòdul operador pot venir molt bé. Hi ha un parell de problemes farem CS50 que tenen a veure amb ella. També és bo per fer coses com números aleatoris. Així, per exemple, si vostè té alguna sentit parlar d'un generador de nombres aleatoris, això va a donar-li un nombre de 0 a algun nombre enorme. Però potser vostè realment només necessitarà un nombre de 0 a 20. Si utilitzeu l'operador de mòdul en aquest nombre gegant que es genera per la generador de nombres aleatoris, vostè va a prendre qualsevol gran valor que és, es divideix per 20, i obtenir la resta. La resta només pot ser un valor de 0 a 19. Així, s'utilitza l'operador de mòdul aprofitar aquesta enorme quantitat i reduir gradualment cap avall en alguna cosa una mica més de sentit. Estic bastant segur que serà capaços d'utilitzar tots dos d'aquells en algun moment en el futur en CS50. Així, C també ens dóna una manera per aplicar una aritmètica operador per a una sola variable en una mica de forma més abreujada. Així, a la diapositiva anterior, vam veure x és igual a 5 x vegades. Això va funcionar. x vegades 5 a continuació, s'emmagatzema de nou en x. Hi ha un camí més curt per fer-ho, pensament, i és l'època de sintaxi X és igual a 5. És exactament el mateix que dient x és igual a 5 x vegades. És només una mica camí més curt per fer-ho. I quan veus alguna codi de distribució o veure una mica de codi d'exemple que fa coses com aquesta, simplement estar familiaritzats amb el que significa la sintaxi. Segurament vostè no té per usar-lo, però si ho fa, que podria fer que el codi mirar una mica més polit. I saps que també es pot utilitzar qualsevol de els diferents operadors que ja hem vist abans en lloc de vegades. Es podria dir que és igual a 5 x més, menys és igual a 5, els temps, dividir i mod. Tots els treballs. També hi ha alguna cosa això és tan comú en C que hem decidit refinar que encara més. Incrementar una variable per 1 o disminuir una variable per 1 és una cosa-- tals comú, especialment quan parlem de bucles d'una mica més tard en-- que hem decidit en lloc de dient alguna cosa com x més és igual a 1, o x és igual a x + 1, tenim encara inferioritat numèrica que a x plus plus. Per tant, x és igual a x més 1, x més és igual a 1, ix plus plus tots fan el mateix. Tots ells de la subhasta x per 1. Però això incrementant i decrement d'1 és tan comú que tenim plus plus i minus minus que ens permeten taquigrafia que encara més. Així que, anem a canviar de marxa per al segon i parlar d'expressions booleanes. Tot el que també són una mena de caure en la categoria general dels operadors. Però les expressions booleanes, a diferència dels operadors aritmètics, s'utilitzen per comparar els valors. Així, de nou, totes les expressions booleanes en C avaluar a un de dos valors possibles, recordar. Cert o fals. Aquests són els dos únics valors que Variable booleana pot assumir. Podem utilitzar els resultats d'una expressió booleana en un munt de maneres en la programació. De fet, podràs fent això molt. Per exemple, podem decidir, així, si alguna condició és vertadera, potser vaig a aprofitar aquesta ramificar per la meva codi. Un condicional, per així dir-ho. Anem a aprendre sobre aquells aviat també. O potser, sempre que això és cert, vull seguir fent això una i altra vegada i una altra. Un bucle. En ambdós casos, sabem que estem utilitzant una expressió booleana, veritable o fals, per decidir si o no agafar un camí particular. A vegades, quan estem treballant amb expressions booleanes, utilitzarem variables de tipus Bool. És possible que hi hagi declarat 1 Bool va teclejar variables, i que utilitzarà en la seva Expressió booleana. Però no sempre s'ha de fer. Doncs resulta que, en C, tots els no-0 valor és el mateix que dir la veritat. Si vostè hagués declarat variable de tipus booleà, i li va assignar el valor veritable, això és el mateix que declarar un enter i assignar-li el valor 1, 2, 3, o en realitat qualsevol valor algun diferent de 0. A causa que en C, cada valor diferent de 0 és cert. 0, d'altra banda, és fals. Això pot venir en útil més endavant per conèixer, però només una cosa a tenir en compte. No sempre hem de fer servir Variables de tipus Boolean quan ens estan treballant amb expressions booleanes. Hi ha dos tipus principals de Boole expressions que treballarem. Els operadors lògics i operadors relacionals. El llenguatge existeix no és terriblement important. És realment el que els estic agrupació. I que sens dubte, crec que, de forma ràpida adonar-se del que un operador relacional és, sobre la base del que són quan parlar d'ells en un segon. Però no es preocupi necessàriament memoritzar l'operador lògic termini o operador relacional. Jo només estic fent servir per grup d'una manera lògica. Per tant, anem a fer una ullada a els tres operadors lògics que anem a veure un bon poc en la programació en CS50 i en la programació general. Lògic I és cert, sempre i només si tots dos operands són veritables. Altrament fals. On vol dir això? Llavors, diguem que estic en una apuntar en el meu codi on tinc dues variables, x i y. I vull de decidir si fer alguna cosa en el meu codi sobre la base de si x és veritable i i és cert. Només vull fer-ho si tots dos són veritat, en cas contrari jo no vull anar per aquest camí, ja que no m'ajudarà. El que puc dir és que si x & & i. Aquesta serà una de Boole lògica la comparació de l'expressió x i y i prenent un cert camí sobre la base de quins són els seus valors. Per tant, si x és veritable i i és cert basat en aquesta taula de veritat aquí, només llavors anirem per aquest camí. Si x, & & i. És només el cert-- i només és veritable si x és veritable i i és cert. Si qualsevol dels dos és falsa, com veiem la taula de veritat, llavors tots dos xiy no són certes. I així, x & & i és fals. OR lògic és veritable si i només si almenys un operand és cert. Altrament fals. Així lògic requerit X i Y per ser veritat. OR lògic requereix x per ser veritat o i per ser veritat o tots dos xiy per ser veritat. Així que, de nou, ens trobem amb classe de en una situació on anem al nostre codi, i vam arribar a una forquilla a la carretera. I volem baixar una en particular camí si x és veritable o I és cert, però no necessàriament si ambdues són certes. Però, possiblement, si totes dues són certes. Així que si x és veritable i i és cert, anem a anar per aquest camí. x és cert. Un d'ells és veritable, ¿no? Si x és veritable i i és cert. Si x és cert, e i és falsa, un d'ells segueix sent cert. Així, X o I segueix sent cert. Si x és falsa, e i és cert, un d'ells és encara veritat, no? I és cert, en aquest cas. Per tant, és cert que x o i és cert. Només si x és falsa i i és falsa ¿No anem per aquest camí, perquè ni x ni i és cert. Ara, si el que busques a la pantalla en aquest moment i preguntant el que símbol és per lògica OR, s'anomena la barra vertical. I si vostè busca en el seu teclat per un minut, ja que estic fent ara, en general per sobre de la Tecla Enter, en la majoria dels teclats, en la mateixa tecla que la barra invertida. També és generalment a la dreta al costat dels claudàtors. Així, podria ser una clau que no han escrit molt en el passat. Però, si alguna vegada fer comparacions lògiques, com anem a fer un molt en el curs, és serà útil per trobar aquesta clau i utilitzar-la. Així que, en general en la mateixa tecla com a barra invertida just per sobre de Enter. L'operador lògic final NO és. I no és bastant senzill. S'inverteix el valor del seu operant. Si x és cert, llavors no x és falsa. Si x és falsa, llavors no x és cert. De vegades s'escolta aquest símbol pronunciat com Bang o exclamació o no. És més o menys la mateixa cosa. En cas que vostè sent que es parla i no estàs segur del que això significa, és només l'exclamació punt, però de vegades és anomenat un parell coses diferents. Molt bé, així que pren tenir cura dels operadors lògics. Per tant, parlarem de operadors relacionals. De nou, si vostè està familiaritzat amb aquest l'aritmètica a l'escola primària, vostè és probablement familiar amb com funcionen ja. Aquests es comporten exactament com era d'esperar. Així que a menys que és veritat, en aquest exemple, si x és menor que i. Per tant, si x és 4 e i és 6, x és menor que i. Això és cert. Menys d'o igual a funciona força semblant. Si x és 4, e i és 4, llavors x és menor o igual a i. Millor que. x és més gran que i. I major o igual a, x és més gran que o igual a i. Si és cert, llavors vostè passar aquesta expressió, i vostè va avall aquest camí a la carretera. Si vostè té un si x és més gran que i, i X és, de fet, és més gran que i, que va a fer el que sigui subjecta a aquesta condició. Tingueu en compte que no tenim una només caràcter per menys o igual a, com podria ser familiaritzats amb els llibres de text de matemàtiques. Així, tenim el símbol menor que, seguit d'un signe igual. Això és el que representem menys d'o igual a. I de la mateixa manera, fem ho fem per gran que o igual a. Els dos relacional definitiva operadors que són importants estan provant per a la igualtat i la desigualtat. Per tant, si x és igual a igual i, és cert si x i de y valor és el mateix. Si x és 10, i i és 10, llavors x és igual a igual i és cert. Si x és 10 e i és 11, x és igual a igual i no és cert. També podem provar la desigualtat utilitzant signe d'exclamació o d'explosió o NO, de nou. Si x no és igual a i, si es aquesta és la prova que estem fent servir aquí, seríem bons per anar. Així doncs, si x no és igual a I, anem a anar per aquest camí. Sigui molt acurat aquí. És una mistake-- molt comú i certament un que vaig fer un bon munt quan M'estava started-- confondre accidentalment l'operador d'assignació, iguals individuals, per a l'operador de comparació d'igualtat, iguals dobles. Es va a portar a algun estrany comportament en el codi, i en general el compilador advertir d'això quan intenta i compilar el codi, però de vegades vostè podria ser capaç de colar-se per. No és necessàriament una bona cosa que colar-se per, però. Només pel que si vostè està fent una prova de la desigualtat, si vostè està comprovant si dos diferents variables tenen el mateix valor dins d'ells, assegureu-vos d'usar és igual als iguals i els iguals, no individuals. I d'aquesta manera el seu programa ho farà tenir el comportament que tenia planejat. Sóc Doug Lloyd i aquest és CS50.