Lecția 8 C / C ++. Creșterea și scăderea.
Am considerat deja operațiunile de atribuire în forma x = 10 sau x = y * 2x, etc. Acum aș dori să adaug ceva despre operațiunile de atribuire.
Când am făcut o operație aritmetică cu valoarea unei variabile și apoi am scris rezultatul în aceeași variabilă, atunci am scris:
x = x + 10
Limba C permite ca aceeași operație să fie scrisă într-un alt mod: x + = 10. Ce schimbări de la această scriere? În primul rând, nu este nevoie să introduceți aceeași variabilă a doua oară. În acest caz, avem x și acest lucru nu contează prea mult, dar numele pot fi mult mai mari, adică mai lungi. Firește, îl puteți copia, dar va dura mai mult timp decât a doua variantă de scriere a acestei operații. În plus, cea de-a doua versiune a compilatorului tratează compilatorul ușor mai repede. (Deci, ei spun în literatură, este adevărat că nici Sashok nici eu nu am încercat să încerc acest lucru în practică). Astfel de operațiuni se numesc atribuții abreviate sau compuse.
Pentru alți operatori aritmetici, putem aplica și ortografie abreviată. Deci, primim:
în loc de x = x-2 x = 2
în loc de x = x * 2 x * = 2
în loc de x = x / 2 x / = 2
în loc de x = x% 2 x% = 2.
Dacă vă amintiți, am spus că în aceste operații există 2 operanzi: unul în stânga este cel atribuit valorii, iar al doilea este în dreapta, a cărui valoare este atribuită operandului stâng. Dar se pare că nu este singurul tip de operațiune de schimbare și atribuire) în C. Există operațiuni de atribuire cu un operator ONE. Astfel de operațiuni sunt numite unare tocmai pentru că au un singur operand. Din cuvântul latin Uno. ceea ce înseamnă "unul".
Acestea sunt operații de incrementare și de scădere (sau incrementare și decrementare). Operatorii acestor operațiuni arată astfel: ++ și -. Ce fac ei? În timpul operației de mărire, valoarea operandului este incrementată cu 1, iar în operația de reducere scade cu 1.
Să presupunem că există o variabilă x. Vrem să aplicăm operația de incrementare la acesta. Poate, luând în considerare cunoștințele noastre anterioare și primite astăzi la începutul lecției, vom scrie astfel:
x = x + 1 sau x + = 1.
Dar dacă sunteți sigur că variabila dvs. se va schimba pe o parte mai mare sau mai mică doar cu 1, va fi mai bine să utilizați o creștere sau o scădere, respectiv. Și va arăta astfel:
x ++ sau x -
- Vechea valoare a variabilei este stocată pentru a fi utilizată în următoarea expresie, în care această variabilă a fost întâlnită;
- și numai după aceea valoarea sa este IMEDIAT schimbată la 1.
Dacă acești operatori sunt scrise înaintea variabilei, cum ar fi:
++x sau -x,
atunci acesta este un formular de prefix. Secvența de acțiuni este:
- PRIMA, variabila se modifică la 1;
- și numai după ce este folosit în expresie.
Exemplul va fi mai clar. Luați în considerare:
int = 1, z;
z = (t ++) * 5;
La început, are loc multiplicarea t * 5 și apoi o creștere în t. Ca rezultat, obținem z = 5, t = 2.
int s = 2, f;
f = (++ s) / 3;
La început, valoarea s crește, iar apoi se folosește în operația de divizare. Ca rezultat, obținem s = 3, f = 1.
Fiți atenți!- Atunci când incrementul sau decrementare este realizată în întregime separat de celelalte expresii ale operatorului, prefixul și postfixat conduc la același rezultat, adică, atunci când o astfel de utilizare este nici o diferență în cazul în care vom scrie operatorul.
- Nu puteți folosi un operand complex într-o operație incrementală sau decrementare, care este o expresie. Puteți utiliza doar o variabilă simplă. Scrie ++ (y-1) va fi o eroare.
Alocări.
1. Pentru a examina acest lucru în detaliu, vă propun să faceți un mic program. Pentru a face acest lucru, veți avea destui operatori, pe care deja l-am demonstrat mai devreme.
- Declarați o variabilă întreagă
- aloca o valoare de 5
- Afișați-l pe ecran
- Efectuați o operație de incrementare postfix cu variabila și extrageți rezultatul pe ecran (scrieți-l într-o singură linie)
- Afișați din nou valoarea variabilei.
- Alocați această variabilă o valoare de 5
- Afișați-l pe ecran
- Efectuați o operație de incrementare a prefixului cu variabila și extrageți rezultatul pe ecran (scrieți-l într-o singură linie)
- Afișați din nou valoarea variabilei.
- Desenează concluzii din rezultatele programului?)
2. Definiți valorile fiecărei variabile după operație, dacă la începutul operației toate variabilele au o valoare de 5:
- p * = x ++
- q / = ++ x
- w = (- x) + (w-)
- k + = ((-x) -) + 10