Programmation en C :

6. Conditionnelle (structures de contrôle)

codecommentaire
/* prog6a.c */
#include <stdio.h>
int n;

main() {
  printf("entier? ");
  scanf("%d",&n);
  if (n<0) n=-n;
  printf("|n|=%d\n",n);
  if (n==0) printf("n est nul\n");
  if (n!=0) printf("n est non nul\n");
  if (!(n==0)) printf("n n'est pas nul\n");
  if ((n>=0) && (n%2==0)) printf("n pair et positif\n");
  if ((n<0) || (n%2!=0)) printf("n impair ou negatif\n");
 
  if (n) printf("n non nul (bis)\n");
}
Conditionnelle réduite :
Si condition
alors conséquence.

N.B. Le mot-clé then (alors) est absent du langage C. L'expression logique après le if doit toujours être entre parenthèses.

Opérateurs logiques du C : == (est égal à), != (est différent de), && (ET), || (OU), ! (NON).

N.B. En C, il n'y a pas vraiment de type booléen1, la valeur entière 0 représente FAUX et les autres valeurs entières VRAI. Ainsi le test if (n) est formellement équivalent au test if n(!=0) (mais je déconseille son usage).
Remarque. Il ne faut pas confondre les opérateurs logiques (=booléens) avec les opérateurs de bas niveau  & | ~
/* prog6b.c */
#include <stdio.h>
int n,p;

main() {
  printf("1e entier? ");
  scanf("%d",&n);
  printf("2e entier? ");
  scanf("%d",&p);

  if (n%2==0) printf("n est pair\n");
  else printf("n est impair\n");

  if (n!=0) {
    if (p!=0) printf("n/p=%d\n",n/p);
    else printf("division par p=0 impossible\n");
    printf("p/n=%d\n",p/n);
  }
  else printf("division par n=0 impossible\n");
}
Conditionnelle complète :
Si condition
alors conséquence
sinon alternative.

En C, les blocs de programme conséquence et alternative sont placés entre accolades, de manière facultative si le bloc ne contient qu'une seule instruction.
La mise en page du programme source est conventionnel puisque le compilateur traite de la même manière espaces, tabulations et retour à la ligne.
Cependant l'écriture d'un programme source a les mêmes contraintes de lisibilité que l'écriture d'un algorithme pour mettre en évidence la hiérarchie des blocs imbriqués.

Si n est pair alors Afficher "n est pair"
sinon Afficher "n est impair".

Si n≠0
alors
Si p≠0
alors Afficher n DIV p
sinon Afficher "Division par p=0 impossible";
Afficher p DIV n;
sinon Afficher "division par n=0 impossible".

Remarque. En C, le point-virgule étant un séparateur d'instruction, il est obligatoire même avant un else.
1 Pour plus de précisions, voir l'annexe : la vérité en C.