Programmation en C :

3. Types numériques (variables et constantes)

codecommentaire
/* prog3a.c */
#include <stdio.h>

int n;
int i,j;
float x;

main() {
  i=7; j=3; n=i*j;
  x=3.25;
  printf("i=%d, ",i);
  printf("j=%d, ",j);
  printf("n=%d, ",n);
  printf("x=%f\n",x);
}
En C, chaque instruction est terminée par un point-virgule.
Les variables doivent être déclarées en début de programme.
On peut déclarer en une seule instruction plusieurs variables du même type (séparées par une virgule).
Les principaux types1 numériques sont :
  int (entiers relatifs),
  unsigned int (entiers naturels),
  float (réels).
L'affectation d'une valeur à une variable se fait avec l'opérateur =.
Remarque. On a regroupé trois instructions dans la première ligne du main.
/* prog3b.c */
#include <stdio.h>

int n;
const float pi=3.1416;
float x=3.25;
int i=7;
int j=3;

main() {
  printf("i=%d, j=%d, n=%d, x=%f\n",i,j,i*j,x);
}
Ici, certaines variables reçoivent une affectation initiale au moment de leur déclaration.
Cette valeur pourra changer dans la suite du programme, ce qui n'est pas le cas si on déclare une constante (préfixer la déclaration-affectation par const).
N.B. On peut mettre une opération directement dans un printf, même si pour la lisibilité du code ce n'est pas conseillé.
/* prog3c.c */
#include <stdio.h>

main() {
  float x=3.25;
  int i=6;
  int j=4;
  int n;
  i++; j--;
  n=i*j;
  printf("i=%d, j=%d, n=%d, x=%f\n",i,j,n,x);
  n=i/j;
  printf("i div j=%d\n",n);
  n=i%j;
  printf("i mod j=%d\n",n);
}
Ici, la déclaration des variables est faite au début de la fonction main.
Principaux opérateurs binaires sur les entiers :  + − * / (division euclidienne) % (reste de la division).
Opérateurs combinés à une affectation sur les entiers :
  ++ (incrémentation : i++ est équivalent à i=i+1)   -- (décrémentation : i-- est équivalent à i=i−1).
Opérateurs binaires sur les réels :  + - * /.
N.B. Il est fortement déconseillé de disperser la déclaration des variables dans le programme. On verra plus loin la distinction entre variable locale ou globale et les conseils de positionnement correspondant des variables.
Remarque. Les opérateurs ++ et -- peuvent être préfixés (++i; --i;) ou suffixés (i++; i--;). Cette distinction est une source de problème aussi on n'utilisera par la suite que la version suffixée.
exécutioncommentaire
 
→ gcc prog3c.c −o executable3c
→ ./executable3
  i=7, j=3, n=21, x=3.250000
  i div j=2
  i mod j=1
 
Les opérateurs sur les entiers retournent des entiers.
Les opérateurs avec au moins un réel retournent des réels.
1 Pour une liste plus complète voir l'annexe : types numériques de C.