Programmiersprache C: Inkrement, Dekrement und Bit-Verschiebung

---------------------------------------------1. Inkrement--------------------------------------------

In der Programmiersprache wird eine Zahl mit dem Operator ++ erhöht:

Beispiel
#include

int main(){

//Erst wird die Zahl mit dem Wert 1 initialisiert
int meineZahl = 1;
// und hier wird um 1 erhöht
meineZahl++;
// meineZahl kann man genauso erhöhen in dem man 1 dazu addiert z.B. "meineZahl = meineZahl+1;"
printf("%d",meineZahl);
return 0;
}
Ausgabe: 2

In der Anweisung printf wird die Zahl noch mal um 1 erhöht. Allerdings ohne Wirkung da erst die Ausgabe erfolgt und dann Zahl um 1 erhöht wird. Wenn der Operator vor der Variable kommt, wird erst die Zahlt erhöht und dann ausgegeben. In diesem Fall kommt der Operator nach der Variable.

#include

int main(){

//Erst wird die Zahl mit dem Wert 1 initialisiert
int meineZahl = 1;
// und hier wird um 1 erhöht
meineZahl++;
// in der Anweisung printf wird die Zahl noch mal um 1 erhöht
printf("%d",meineZahl++);
return 0;
}
Ausgabe: 2

Hier wird die Zahl in printf erst erhöht und dann ausgegeben:
#include

int main(){

//Erst wird die Zahl mit dem Wert 1 initialisiert
int meineZahl = 1;
// und hier wird um 1 erhöht
meineZahl++;
// in der Anweisung printf wird die Zahl noch mal um 1 erhöht
printf("%d",++meineZahl);
return 0;
}
Ausgabe: 3

-----------------------------------------2. Dekrement-------------------------------------------

In der Programmiersprache wird eine Zahl mit dem Operator – um 1 reduziert. Hier gelten gleiche Regeln wie beim Inkrement:
- Wenn der Operator vor der Variable kommt, wird erst Operator ausgeführt und dann die restlichen Anweisungen(Zuweisung, Ausgabe etc.)
- Wenn der Operator nach der Variable kommt, wird die Anweisung ausgeführt und der Operator.

Beispiel 1:
#include

int main(){

int MeineErsteZahl =5;
int MeineZweiteZahl=0;
MeineZweiteZahl = MeineErsteZahl--;
printf("1.Ausgabe: %d \n",MeineZweiteZahl);
MeineZweiteZahl = --MeineErsteZahl;
printf("2.Ausgabe: %d \n",MeineZweiteZahl);
return 0;
}

1.Ausgabe: 5
2.Ausgabe: 3

-----------------------------------------3. Bitweise Verschiebung-------------------------------------------

Bitweise Verschiebung mit dem Operator oder >> ausgeführt. Mit dem Operator kann bits nach link oder nach rechts verschieben.

Beispiel:

#include

int main(){

int meineZahl=2; //Binär wird die Zahl 2 so dargestellt: 0010
meineZahl = meineZahl 2;
printf("%d",meineZahl); // Ausgabe ist 8. Da wir die 2 zwei Mal nach Links verschoben haben. Nun sieht es so aus: 1000
}

------------------------------------------------------4.Übung---------------------------------------------------------------------------
Nun machen wir eine Übung mit 4 Variablen, die durch verschiedene Operatoren manipuliert werden:

#include

int main(){

int a=5, b=9, c=15, d;

c += ++a + b;
printf("c += ++a + b;: a: %d, b: %d, c: %d, d: %d \n" ,a,b,c,d);
// Ausgabe: a: 6, b: 9, c: 30, d: 85
d = --c-b++;
printf("d = --c-b++;: a: %d, b: %d, c: %d, d: %d \n" ,a,b,c,d);
// Ausgabe: a: 6, b: 10, c: 29, d: 20
a +=b 1; 14 ;
printf("a +=b 1; 14 ;: a: %d, b: %d, c: %d, d: %d \n" ,a,b,c,d);
// Ausgabe: a: 26, b: 10, c: 29, d: 20
c += b + --a;
printf("c += b + --a;: a: %d, b: %d, c: %d, d: %d \n" ,a,b,c,d);
// Ausgabe: a: 25, b: 10, c: 64, d: 20
d %= 14;
printf("d %= 14;: a: %d, b: %d, c: %d, d: %d \n" ,a,b,c,d);
// Ausgabe: a: 25, b: 10, c: 64, d: 6
return 0;

}

}

Neuen Kommentar schreiben

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Suche

Neueste Kommentare

  • 4 weeks ago
    Transaction isolation level REPEATABLE-READ The recommended level for Drupal is "READ COMMITTED". (Drupal Status Report)

     Edit "/etc/my.cnf" ( under [mysqld] ):

    transaction_isolation="READ-COMMITTED"

    Restart MariaDB / MySQL:

  • 1 month ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent' -P MyTempDir123 --wait=0.2 --random-wait -nd -r -x -l 4 -e robots=off --reject

  • 1 month ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent2024' -P MyOutPutDirectory --wait=1 --random-wait -nd -r -l 2 -e robots=off --reject

  • 2 months 1 week ago
    CPU benchmarking with sysbench (single-threaded/all cores)

     

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 1 week ago
    CPU benchmarking with sysbench (single-threaded/all cores)

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 1 week ago
    Linux Autovervollständigung - bash autocomplete
    source ~/.bashrc

    Diese Lösung wird empfohlen aber hat bei mir nicht funktioniert.

    Welche Alternative gibt es?

  • 2 months 1 week ago
    PHP-CLI auf PHP8.2 umstellen (für Composer, Drush etc)

    ln -snf /opt/plesk/php/8.3/bin/php /etc/alternatives/php

  • 2 months 1 week ago
    Drush Update failed (require php >=8.2)

    In composer.json, update: 

     

  • 2 months 1 week ago
    Drupal: Anmeldung fehlgeschlagen Es hat mehr als 5 fehlerhafte Anmeldeversuche für dieses Benutzerkonto gegeben. Es ist vorübergehend gesperrt.
    drush sqlq "DELETE FROM flood"
  • 2 months 1 week ago
    Drupal SMTP + Gmail funktioniert nicht mehr (Passwort ist richtig); was ist die Lösung?