Incremento e decremento in C ++




l'incremento in C ++, decremento in C ++, incremento e decremento con ++, C ++il articolo precedente siamo considerati operatori binari, che viene utilizzato per le operazioni aritmetiche sui due operandi (variabili). In questa lezione impareremo come applicare operatori unari, che richiedono un operando. essi sono chiamati incremento ( ++ ) e diminuzione (). Il ruolo di questi operatori, al cambiamento (aumentare o diminuire, rispettivamente,) il valore di una variabile di uno, e il valore verrà sovrascritto. Si consideri l'esempio, che cambierà il valore della variabile variabile unità in tre modi diversi:

Dopo ogni operazione in linee 11, 13 e 15. alla variabile variabile aumentato di un. Come si può vedere, la registrazione più breve – un record con l'incremento. sotto, sulle linee 17 – 19, Abbiamo applicato tre volte decremento e alla fine ottenere il valore variabile ridotto a 3.

Kompiliruem:

incremento e decremento

Entrambi operatore unario può avere due forme: postfix ( in cui l'operatore si trova proprio dietro la variabile) e prefisso (l'operatore si trova davanti alla variabile). In questo esempio, abbiamo utilizzato l'incremento e decremento postfix. Qual è la differenza tra queste forme le une dalle altre? Sia il primo e secondo forme di questi operatori eseguono lo stesso ruolo – aumentare o diminuire di una variabile di uno. Ma se una riga di codice, dove viene applicato il incremento o decremento, presentare le eventuali ulteriori comandi, che tali operatori si comportano in modi diversi. Postfix sarà utilizzato dopo le altre squadre. Diamo un'occhiata al seguente esempio,:

Come risultato di linee di codice 12, vedremo sullo schermo il numero di 0. Succede perché, che l'aumento di unità viene eseguito dopo la produzione di valore variabile variabile lo schermo. Per essere sicuri, che il valore davvero cambiato – in linea 13 prego ci mostra variabile. Ma nel caso della forma di incremento del prefisso (fila 16), Variabile sovrascritti direttamente e già solo allora mostrerà. Per diminuire lo stesso, ma con un riduttore.

Kompiliruem:

incremento e decremento

Ecco uno sguardo a questo esempio più:

risultato:
incremento e decremento

Cercate di capire, perché come risultato di una serie di operazioni 11, variabile un E 'diventato uguale 10. Fare domande nei commenti non proibito :)

Newsletter nuove lezioni sulla programmazione:

Incremento e decremento in C ++
4.5 (90%) 8 voti

34 pensieri su "Incremento e decremento in C ++

  1. nell'ultimo esempio, tutto è semplice:
    a = ++ variabile + 1 + ++variabile * 2;
    suddivisi in semplici compiti:
    INT = variabili 1; variabile uguale all'unità, così:
    e = (1++ è 2) +1 + (1++ è 2) *2;
    e = 2 + 1 + 2 * 2;
    e = 5 *2; quindi = 10!!!

    1. La risposta corretta è venuto per caso ))) dire, quanta volontà 2 + 2 * 2 ? ))

      Z.Ы. In primo luogo, eseguire tutte le operazioni prefix ;)

      1. non esattamente! errore)
        in moltiplicazione ha precedenza maggiore! + aumentare e diminuire il valore del cambiamento, in modo che la variabile è uguale a 3…
        viene: e = 3 + 1 +3 * 2; altrimenti: 3 + 1 + (3*2) = 4 + 6 = 10!

  2. “Postfix verrà utilizzato dopo le altre squadre.”

    Guardate qui: http://ru.cppreference.com/w/cpp/language/operator_precedence

    In suffisso priorità decremento superiore a quella del prefisso. Ed è corretto e conforme. In realtà è molto più facile di quanto si scrive qui , ma circa un ++ + ++già un anno 10 gli studenti sostengono, che non sembrava al di là del naso. Diversi antichi compilatori gestiscono questo esempio in modo diverso.
    Ma si può essere sicuri, che
    std::cout << (a ++) + ++un;
    in g ++ restituisce lo stesso
    std::cout << a ++ + ++un;
    perché l'operazione suffisso viene sempre eseguita prima.

  3. e molto altro ancora, bambini, Impostare i margini in modo uniforme.

    Qui avete iniziato a mettere la loro: http://purecodecpp.com/archives/588 , ma nel primo elenco di scrittura

    secondo

    E poi qualcosa di simile Spahr:

    Io non so voi, e ho subito tagliato occhio questa illegalità.

    1. a = ++ variabile + 1 + ++variabile * 2;

      1) ++variabile – rendere variabile = 2
      2) ++la seconda variabile – rendere variabile = 3
      3) variabile * 2 quindi 2 * 3 = 6
      4) 3 + 1 + 6 volontà 10

      1. Eppure, in quanto non è così perché la variabile era in origine 1 dopo l'incremento del prefisso uguale alla prima 2 cioè, risulta 2+1+3*2 forse a causa del fatto che la moltiplicazione viene eseguita primo codice viene restituito l'inizio e la prima variabile volta aumenta e poi piegare le due parti poi 3+1+3*2 destra

Lascia un Commento

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *