🧱 C — Affectations & Types (débutante)

Variables, opérateurs, entrées/sorties — bases solides

🔤 Types fondamentaux du C

🎯 Types
  • int — entier (ex: 42)
  • double — nombre réel (ex: 3.14)
  • char — caractère (ex: 'A')
  • void — absence de valeur/retour
💻 Déclarations & affichage
#include <stdio.h>

int main(void) {
  int a = 5; double pi = 3.14159; char c = 'Z';
  printf("a=%d pi=%.3f c=%c\n", a, pi, c);
  return 0;
}

➕ Opérateurs & Affectations

🎯 Essentiels
  • Affectation: a = 10;
  • Arithmétique: + - * / % (modulo pour entiers)
  • Abrégés: a += 2, a -= 1, a *= 3
  • Incrémentation: a++ (post), ++a (pré)
⚠️ Division entière: 5/2 == 2. Utiliser (double)5/2 pour 2.5.

🖨️ Entrées / Sorties progressives

💡 Comment ça marche ?
  • printf : pour écrire à l'écran. On utilise des "placeholders" (%d, %f) pour insérer des variables.
  • scanf : pour lire ce que l'utilisateur tape.

⚠️ Attention avec scanf : Il faut ajouter un & devant le nom de la variable (ex: &age) pour dire "mets la valeur à cette adresse mémoire".
Format Type de variable Utilisation
%d int (Entier) Pour lire ou afficher un nombre entier (ex: 42).
%f double / float Pour afficher un nombre à virgule (printf).
%lf double Pour lire un nombre à virgule avec précision (scanf).
%c char (Caractère) Pour un seul caractère (ex: 'A').
%s char[] (Chaîne) Pour du texte (plusieurs caractères).
Étape 1 — Afficher (printf)
Afficher du texte et des variables.
Afficher un entier et un réel
#include <stdio.h>

int main(void) {
  int a = 7; double b = 2.5;
  printf("a=%d b=%.2f\n", a, b);
  return 0;
}
Sortie (ce qui s'affiche)
a=7 b=2.50
Étape 2 — Lire un entier (scanf)
On demande un nombre à l'utilisateur. Notez le &n.
Lecture d’un entier
#include <stdio.h>

int main(void) {
  int n;
  printf("Entrez un entier : ");
  scanf("%d", &n);
  printf("Vous avez tapé : %d\n", n);
  return 0;
}
Entrée utilisateur (exemple)
12 ⏎
Sortie
Entrez un entier : 12
Vous avez tapé : 12
Étape 3 — Lire un réel (double)
Pour lire un double, on utilise %lf dans scanf (Long Float).
Lecture d’un réel
#include <stdio.h>

int main(void) {
  double t;
  printf("Entrez une température : ");
  scanf("%lf", &t);
  printf("Il fait %.1f degrés.\n", t);
  return 0;
}
Entrée utilisateur
25.5 ⏎
Sortie
Entrez une température : 25.5
Il fait 25.5 degrés.
Étape 4 — Plusieurs variables
On peut demander plusieurs valeurs à la suite.
Entier puis Réel
#include <stdio.h>

int main(void) {
  int age; double taille;

  printf("Age ? ");
  scanf("%d", &age);

  printf("Taille (en m) ? ");
  scanf("%lf", &taille);

  printf("Vous avez %d ans et mesurez %.2fm.\n", age, taille);
  return 0;
}
Entrées
16 ⏎
1.75 ⏎
Étape 5 — Lecture sur une seule ligne
On peut lire deux nombres séparés par un espace en une seule fois.
Deux entiers d'un coup
#include <stdio.h>

int main(void) {
  int a, b;
  printf("Entrez deux nombres (ex: 10 20) : ");
  scanf("%d %d", &a, &b);
  printf("Somme = %d\n", a + b);
  return 0;
}
Entrées
10 20 ⏎
💡 Toujours inclure <stdio.h> et utiliser le format adapté: %d pour int, %lf pour double.

🧪 Casting & précision

💻 Cast explicite
int a = 5, b = 2;
double r1 = a / b;        // 2.0
double r2 = (double)a / b; // 2.5
💡 Astuce: contrôler le type des opérandes pour les divisions.