- Introduction 01 - Introduction
- Introduction générale
- La programmation c’est quoi ?
- Parlons langage C
- Historique
- Langage Compilé
- Outils nécessaires
- Installer un éditeur de code
- Compiler son programme C
- Introduction générale
- Premiers pas 02 - Premiers pas
- Ce bon vieux
Hello world- Le point d’entrée
main- Écrire des commentaires
- Afficher des informations dans la console
- Le point d’entrée
- Les types usuels
- Le type caractère
- Le type entier
- L’opérateur
sizeof
- L’opérateur
- Les types flottants
- Caster une variable en C
- Portée des variables
- Variable locale
- Variable globale
- Retour sur
printf - Les constantes
- Généralités
- Initialiser une constante
- En utilisant le mot clé
const - Avec
#define - Quelques conseils
- En utilisant le mot clé
- Les constantes prédéfinies
- Ce bon vieux
- Opérateurs & Arithmétique 03 - Opérateurs & Arithmétique
- Définition générale
- Opérateurs arithmétiques
- L’addition
- La soustraction
- La multiplication
- La division
- Le modulo
- Opérateurs d’affectation
- Opérateurs d’affectation composés
- Les opérateurs unitaires
- L’incrémentation
++ - La décrémentation
-- - Opérateur logique de négation
!
- L’incrémentation
- Opérateurs de comparaison
- Opérateurs logique
- Table de vérité des opérateurs
- Table du ET logique
&& - Table du OU logique
|| - Table du NON logique
!
- Table du ET logique
- Table de vérité des opérateurs
- Priorité et associativité des opérateurs
- Définitions
- L’opérateur
~- Le complément à
- Conditions et boucles 04 - Conditions et boucles
- Structures de contrôle
if,else ifetelseswitch
- Les boucles
for- Double boucle
for
- Double boucle
whitedo while
- Structures de contrôle
- Retour sur les fonctions 05 - Retour sur les fonctions
- Généralités
- Définitions
- Documentation d’une fonction
- Exemple : Algorithme d’Euclide
- Déclaration et définition d’une fonction
- Organisation et Utilisation des fichiers
.h - fichiers
.hpersonnalisés- Projet guidé pour mieux comprendre
- Introduction au projet
- Quelques rappels de géométrie
- Projet guidé pour mieux comprendre
- Surcharge
- Principe
- Comment le contourner ?
- Utiliser des noms différents
- Utiliser des MACROS
- Généralités
- Les tableaux statiques 06 - Les tableaux statiques
- Déclaration d’un tableau en C
- Un tableau sans éléments
- Un tableau préremplit
- Utiliser une MACROS
- Opérations sur les éléments
- Accès à un élément
- Modification d’un élément
- Remplissage du tableau
- Avant remplissage
- Le remplissage
- Remplissage manuel
- Remplissage automatique
- Affichage d’un tableau
- En python
- En langage C
- Affichage personnalisé
- Tableaux multidimensionnels
- Déclaration et initialisation
- Méthode 1
- Méthode 2
- Initialisation incomplète
- Accès aux valeurs
- Affichage des tableaux multidimensionnels
- Déclaration et initialisation
- Gestion d’erreurs
- Tableau d’init trop grand
- Initialiser un élément non existant
- Utiliser une variable de taille
- Débordement
- Utilisation des tableaux
- Paramètre de fonction
- Déterminer la taille du tableau
- Erreur importante
- BONUS
- Initialiser une matrice nulle
- Déclaration d’un tableau en C
- Les chaînes de caractères 07 - Chaînes de caractères
- Déclaration
- Initialisation
- Initialisation explicite
- Initialisation implicite
- Manipulation des chaînes de caractères
- Accès aux éléments
- Affichage
- Lecture
- La fonction
scanf- Présentation et utilisation
- Utilisation avancée
- Limites
- Lecture limitée
- Dépassement mémoire
- La fonction
gets - La fonction
fgets
- La fonction
- Fonction de manipulation
- Copier
- Parcourir et recopier
- La fonction
strcpy
- Concaténer
- La fonction
strcat - La fonction
strncat
- La fonction
- Comparer
- La fonction
strcmp - La fonction
strncmp - Comparaison manuelle
- La fonction
- Rechercher
- La fonction
strchr - La fonction
strstr
- La fonction
- Découper
- Sensibilité à la casse
- Copier
- Les pointeurs 08 - Les pointeurs
- Introduction
- Généralités sur les pointeurs
- Définition
- La notion d’adresse
- Retour sur les pointeurs
- Déclaration et initialisation
- Modification et accès à la variable pointée
- Généralités sur les pointeurs
- Les pointeurs et les tableaux
- Analogie entre eux
- Accès aux éléments du tableau
- Parcours d’un tableau
- Calculer la taille du tableau
- Chaîne de caractères
- Tableau d’entiers
- Pointeurs et chaînes de caractères
- Quelques rappels
- Chaîne littérale
- Pointeurs et fonctions
- Passage de paramètres à une fonction
- Passage par valeur
- Passage par adresse
- Retourner une adresse
- Manipulation de chaînes
- Passage de paramètres à une fonction
- Introduction
- Allocation dynamique 09 - Allocation dynamique
- La mémoire
- Introduction
- Types de mémoires
- La mémoire vive RAM
- La mémoire morte ROM
- La mémoire cache
- Mémoire secondaire (stockage de masse)
- Allocation automatique et statique
- Allocation automatique
- Allocation statique
- La pile et le tas
- La pile stack
- Le tas heap
- Allocation dynamique en C
- Réserver une zone mémoire
- La fonction
malloc - La fonction
calloc
- La fonction
- Libérer la mémoire
- Utiliser la mémoire après libération
- Libérer deux fois la même zone
- Allocation d’un tableau
- Allocation d’une matrice
- Réallouer la mémoire
- Réserver une zone mémoire
- La mémoire
- Les structures avancées 10 - Structures avancées
- Introduction aux structures
- Déclaration d’une structure
- Initialisation d’une structure
- Accès aux valeurs des champs
- Accès direct
- Accès via pointeur
- Modification d’un champ
- Structures imbriquées
- Tableaux de structures
Typedefet alias- Alias de types simples
- Alias de structures
- Structures et fonctions
- Passage par valeur
- Passage par adresse
- Retourner une structure
- Introduction aux structures
- Les fichiers 11 - Les fichiers
- Introduction
- Qu’est-ce qu’un fichier en informatique ?
- Pourquoi utiliser des fichiers
- Types d’accès aux fichiers
- Les fichiers et le système d’exploitation
- Cycle de vie d’un fichier en C
- Les fichiers textes
- Ouvrir un fichier
- Écrire dans un fichier
- La fonction
fprintf - La fonction
fputs
- La fonction
- Lecture dans un fichier
- La fonction
fscanf - La fonction
fgets - La fonction
fgetc
- La fonction
- Fermeture d’un fichier
- Les fichiers binaires
- Mode d’ouverture
- Lecture
- Écriture
- Introduction
- Tests unitaires 12 - Tests unitaires
- Introduction
- Qu-est-ce qu’un test unitaire ?
- En C, ça dit quoi ?
- Structure d’un test unitaire
- Étude de cas
- Introduction
- Compilation séparée et makefile 13 - Compilation séparée et Makefile
- Quelques rappels
- Compilation séparée et rôle des fichiers
.h- Projet guidé pour mieux comprendre
- Introduction au projet
- Quelques rappels de géométrie
- Projet guidé pour mieux comprendre
- Makefile
- Rôle d’un makefile
- Structurer son propre makefile
- Explications du makefile
- Règle principale
- Règle générique
- Structures avancées 14 - Structures particulières
- Enum
- Définition et généralités
- Utilisation d’une enum
- Avantages
- Utilisation avec
typedef
- Union
- Définition et généralités
- Utilisation
- Taille d’une union
- Champs de bits
- Définition
- Utilisation
- Enum