[LEPL1503] Projet P3
About this course
Exercices en langage C pour le projet LEPL1503
Exercices obligatoires
[S1] Absolute value
[S1] Factorial
[S1] Through the array
[S2] Printing data
[S2] strlen
[S2] strcat
[S2] strcasecmp
[S2] Palindrome
[S2] Reading arguments
[S2] Swap my integers
[S2] Echange de valeurs de fractions
[S3] Global and local variables
[S3] Les types (1/2)
[S3] Improved strcpy
[S3] Pointer arithmetic
[S3] Coder calloc en utilisant malloc
[S3] Sleepy malloc
[S3] Simple linked list
[S3] Simple Binary Search Tree
[S3] Le programme test
[S3] Structures and pointers to structures
[S4] Simple stack
[S4] Comparing functions
[S4] Filtering a linked list
[S4] Advanced queue
[S4] Ordered linked list
[S5] File exists
[S5] Save struct into file
[S5] Reading integers in a binary file
[S5] Get and set on array stored in binary file
[S5] File copy
[S6] Sort my points
[S6] Protect the variable
[S6] Do my work
[S6] Shared ressource
Exercices supplémentaires
[S2] Bitwise operation: high order bits
[S2] Bitwise operation: extract low order bits
[S2] Bitwise operation: setting a bit
[S2] Bitwise operation: cycling bits
[S2] Bitwise operation: counting set bits
[S2] Bitwise operation: resetting the highest order bit
Décomposition d'un programme en modules - QCM 1
Décomposition d'un programme en modules - QCM 2
Décomposition d'un programme en modules - Sortie
Makefile simple
Décomposition d'un programme en modules - Makefile
Git: utilisation linéaire
Git: utilisation de branches
Examen Aout 2022
Examen Juin 2023
Examen Aout 2023
QCM
Commande `man(1)`
Commande `ls(1)`
Premier programme en langage C
Deuxième programme en langage C
Arguments passés à un programme C
Conversion de types
Notation hexadécimale
Notation binaire
Notation binaire
Manipulations de bits
Multiplication entière
Extraction de bits
Chaînes de caractères
Pointeurs
Pointeurs et tableaux
Pointeurs
Pointeurs et fonctions
Pointeurs et structures
Portée des variables
Portée des variables
Organisation de la mémoire
Initialisation des variables
`malloc(3)` et compagnie
Stack
`strdup(3)`
Pointeurs et tableaux
Traitement de ``argv``
Pointeurs et tableaux à deux dimensions
Variable ``errno``
Accès aux fichiers
Fichiers et répertoires
Permissions sur les fichiers
Permissions sur les fichiers
Manipulation des répertoires
Utilisation de `pthread_create(3)`
Passage d'arguments à un thread
Initialisation de mutex
Utilisation de `pthread_mutex_lock(3posix)` et `pthread_mutex_unlock(3posix)`
Utilisation de plusieurs mutex
Utilisation des sémaphores
Exclusion mutuelle
Fonctions 'thread-safe'
Projet 2025 - Aides