====== C ====== voir [[https://fr.wikipedia.org/wiki/C_(langage)|wikipedia]] > C est un langage de programmation **impératif**, de bas niveau (//proche de la machine//). Inventé au début des années 1970 pour réécrire UNIX, C est devenu un des langages les plus utilisés, encore de nos jours. > De nombreux langages plus modernes comme C++, C#, Java et PHP ou Javascript ont repris une syntaxe similaire au C et reprennent en partie sa logique. C offre au développeur une marge de contrôle importante sur la machine (notamment sur la gestion de la mémoire) et est de ce fait utilisé pour réaliser les « fondations » (compilateurs, interpréteurs…) de ces langages plus modernes. Pour expérimenter C sans tout installer, vous pouvez utiliser [[https://replit.com|replit]]. * [[.:hello_world|Hello World]] * [[.:inputs|Entrées]] * [[.:types|Types]] * [[.:fonctions|Fonctions]] * [[.:test|Test : If...Else]] * [[boucles|Boucles]] * [[.:pointeurs|Pointeurs]] * [[.:tableaux|Tableaux]] * [[.:caracteres|Caractères]] * [[.:strings|Chaînes de caractères]] * [[.:structures|Structures]] * [[.:malloc|Mémoire et malloc]] * [[.:fichiers|Lecture écriture de fichiers]] * [[.:plus_et_moins|Qualités et défauts]] ===== Exemples d'exercices en C ===== **Les solutions présentées ici ne sont que des propositions !** === Plus facile === * Vérifier code ISBN [[nsi:tds:isbn|Fiche exo]] -- [[.solutions:isbn|Solution]] * Trouver le jour de la semaine correspondant à une date [[nsi:tds:jour_et_date|Fiche exo]] -- [[.solutions:jour_semaine|Solution]] * Vérificarion code CB [[nsi:tds:peter_luhn_algo|Fiche exo]] -- [[.solutions:code_cb|Solution]] * Chiffre de César [[nsi:tds:cryptographie:chiffre_cesar|Fiche exo]] -- [[.solutions:chiffre_cesar|Solution]] * Chiffre de Vigenère [[nsi:tds:cryptographie:chiffre_vigenere|Fiche exo]] -- [[.solutions:chiffre_vigenere|Solution]] * Calcul de plus-code [[nsi:tds:divers:plus_code|Fiche exo]] -- [[.solutions:plus_code|Solution]] * Tri par sélection [[nsi:premiere:tableau:tri:selection|Fiche]] -- [[.solutions:tri_selection|Solution]] * Recherche dichotomique [[nsi:premiere:tableau:recherche:dichotomie|Fiche]] -- [[.solutions:recherche_dichotomique|Solution]] * Tri par insertion [[nsi:premiere:tableau:tri:insertion|Fiche]] -- [[.solutions:tri_insertion|Solution]] * Recherche de racine de fonction par dichotomie [[nsi:tds:maths:racine_dichotomie|Fiche]] -- [[.solutions:racine_dichotomie|Solution]] * Méthode de Newton [[nsi:tds:maths:racine_newton|Fiche]] -- [[.solutions:racine_newton|Solution]] === moyen === * Ghostleg [[nsi:tds:jeux:ghostleg|Fiche exo]] -- [[.solutions:ghostleg|Solution]] * Système d'affichage [[nsi:tds:systeme_affichage|Fiche exo]] -- [[.solutions:systeme_affichage|Solution]] * Identifier des zones [[nsi:tds:id_zones|Fiche exo]] -- [[.solutions:id_zones|Solution]] * Sortir d'un labyrinthe [[nsi:tds:jeux:labyrinthe_solver|Fiche exo]] -- [[.solutions:labyrinthe_solver|Solution]] * Générer un labyrinthe [[nsi:tds:jeux:generer_labyrinthe|Fiche exo]] -- [[.solutions:generer_labyrinthe|Solution]] * Solveur de polynôme [[nsi:tds:maths:polynome_solver|Fiche exo]] -- [[.solutions:polynome_solver|Solution]] * Code de Chuck Norris [[nsi:tds:divers:chuck_norris|Fiche exo]] -- [[.solutions:chuck_norris|Solution]] * Algorithme de Boyer-Moore [[nsi:terminales:boyer_moore|Fiche]] -- [[.solutions:boyer_moore|Solution]] * === Plus difficile === * Liste chainée -- [[.solutions:liste|Solution]] * Pile -- [[.solutions:pile|Solution]] * Hash md5 [[nsi:tds:cryptographie:hash|Fiche exo]] -- [[.solutions:md5]] * Génération de nombre premiers [[nsi:tds:cryptographie:get_n_bits_prime|Fiche exo]] -- [[.solutions:prime|Solution]] * Algorithme de Karatsuba [[nsi:tds:maths:karatsuba|Algorithme de Karatsuba]] -- [[.solutions:karatsuba|Solution]]