languagec.py

Created by slowzuu1

Created on December 18, 2025

3.02 KB


 -----------------------------
# 1. Types et variables
# -----------------------------
# int    : entier (4 octets)
# float  : réel (4 octets)
# double : réel double précision (8 octets)
# char   : caractère (1 octet)
# short  : entier court (2 octets)
# long   : entier long (4 octets)
# unsigned char : caractère non signé (1 octet)
# pointeur : 4 octets (adresse mémoire)
# 1 octet = 8 bits

# -----------------------------
# 2. Entrée / sortie
# -----------------------------
# scanf("%d", &a);   -> lire un entier
# scanf("%f", &m);   -> lire un réel
# printf("Moyenne = %.2f", moyenne); -> affichage formaté

# -----------------------------
# 3. Conditions
# -----------------------------
# if (condition) { ... } else { ... }
# switch(variable) { case x: ...; break; default: ...; }

# -----------------------------
# 4. Boucles
# -----------------------------
# for (init; condition; incr) { ... }
# while (condition) { ... }
# do { ... } while(condition);
# break : sortir de la boucle
# continue : passer à l’itération suivante

# -----------------------------
# 5. Tableaux (arrays)
# -----------------------------
# int notes[5];          -> tableau de 5 entiers
# Accès : notes[0] ... notes[4]
# Boucle pour lire ou traiter : for(int i=0;i<5;i++){...}

# -----------------------------
# 6. Fonctions
# -----------------------------
# Définition :
# type nom(type1 arg1, type2 arg2) { ... return valeur; }
# Exemple :
# float moyenne(int a, int b) { return (a+b)/2.0; }
# Appel : float m = moyenne(10,14);

# -----------------------------
# 7. Chaînes de caractères
# -----------------------------
# Une chaîne est un tableau de char terminé par '\0'
# char mot[8] = "bonjour"; // 7 lettres + '\0'
# Accès : mot[2] -> 'n'
# Tableaux modifiables : char tab[] = "BONJOUR";
# Pointeurs vers chaînes constantes : char *ptr = "BONJOUR"; // NON modifiable
# Bibliothèque string.h :
# strlen(chaine) -> longueur
# strcpy(dest, src) -> copie
# strcat(dest, src) -> concaténation

# -----------------------------
# 8. Pointeurs et mémoire
# -----------------------------
# int a = 10; int *p = &a;
# a : valeur
# &a : adresse
# p : adresse pointée
# *p : valeur pointée
# Pointeur non initialisé = ERREUR grave
# Allocation dynamique : malloc(size), free(ptr)
# Stack : variables locales, allocation automatique
# Heap : malloc, nécessite free
# Data/Code : constantes, variables globales

# -----------------------------
# 9. Erreurs classiques
# -----------------------------
# - utiliser un pointeur sans malloc
# - oublier free()
# - copier une chaîne dans une zone trop petite
# - modifier une chaîne constante
# - double free ou double pointeur sur même zone

# -----------------------------
# 10. Exercices types
# -----------------------------
# - Moyenne de N notes :
#   Lire N notes dans un tableau et calculer la moyenne
# - Longueur d'une chaîne :
#   Parcourir la chaîne jusqu'au '\0' pour compter les caractères
# - Copie dynamique d'une chaîne :
#   allouer mémoire avec malloc, copier avec strcpy, libérer avec free

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.