if - else - Struktur

Bei der if-Struktur ist der Programmablauf abhängig von der Überprüfung einer Bedingung, welche in runden Klammern () nach dem Keyword if steht. Danach folgt der Anweisungsblock, der ausgeführt wird, falls die Bedingung true ist.






42 > 10
#include <stdio.h>

int main(int argc, char** argv){
  int number = 42;
  if(number > 10){
    printf("%d > 10\n", number);
  }
  return 0;
}

Mittels des else Keywords kann weiterer Block hinten angefügt werden, welcher ausgeführt wird, falls die Bedingung false ergibt.




42 >= 10
if(number < 10){
  printf("%d < 10\n", number);
}else{
  printf("%d >= 10\n", number);
}

Details

Oftmals sollen nach dem ersten if Block noch weitere Bedingungen geprüft werden. Diese können einfach durch eine weitere if Bedingung nach dem else Keyword geschrieben werden:






30 <= 42 < 60
if(number < 10){
  printf("%d < 10\n", number);
}else if(number < 30){
  printf("10 <= %d < 30\n", number);
}else if(number < 60){
  printf("30 <= %d < 60\n", number);
}else{
  printf("%d >= 60\n", number);
}

Für bedingte Zuweisungen ist der ?: Operator oftmals einfacher als eine if-Struktur. Folgende zwei Beispiele bewirken genau dasselbe:

if(argc > 1){
  number = argc - 1;
}else{
  number = 0;
}
number = (argc > 1) ? argc - 1 : 0;