Résumé La référence des étudiants et des développeurs professionnels Cet ouvrag
Résumé La référence des étudiants et des développeurs professionnels Cet ouvrage de référence a été conçu pour les étudiants de niveau avancé en programmation et pour les développeurs souhaitant approfondir leur connaissance du C ou trouver une réponse précise aux problèmes techniques rencontrés lors du développement d’applications professionnelles. Exhaustif et précis, l’ouvrage explore le langage C dans ses moindres recoins. Il clarifie les points délicats et les ambiguïtés du langage, analyse le comportement qu’on peut attendre d’un code ne respectant pas la norme ou confronté à une situation d’exception. Tout au long de l’ouvrage, des notes soulignent les principales différences syntaxiques entre le C et le C++, de manière à établir des passerelles entre les deux langages. Une annexe présente les spécificités des deux dernières moutures de la norme ISO du langage, connues sous les noms C99 et C11. Au sommaire Les bases du langage C. Historique, programmes et compilation, variables et objets. Structure d’un programme source. Jeux de caractères, identificateurs, mots-clés, séparateurs, format libre, commentaires, tokens. Types de base. Types entiers, types caractère, types flottants, fichiers limits.h et float.h. Opérateurs et expressions. Opérateurs arithmétiques, relationnels, logiques, de manipulation de bits, d’affectation et d’incrémentation, de cast ; conversions numériques ; opérateur conditionnel, séquentiel, sizeof ; priorité et associativité ; expressions constantes. Instructions exécutables. Expressions, blocs ; instructions if, switch, do… while, while, for, break, continue ; schémas de boucles utiles ; goto et les étiquettes. Tableaux. Déclaration, utilisation, débordement d’indice, tableau de tableaux, initialisation d’un tableau. Pointeurs. Variable de type pointeur et opérateur *, déclaration, propriétés arithmétiques ; opérateurs +, -, &, * et [] ; pointeurs et tableaux, pointeur NULL, pointeurs et affectation, pointeurs génériques, comparaisons, conversions par cast. Fonctions. Définition, déclaration et appel d’une fonction, transmission d’arguments, tableaux transmis en arguments, variables globales et variables locales, pointeurs sur des fonctions. Entrées- sorties standard. printf, putchar, scanf, getchar. Chaînes de caractères. Création, utilisation et modification ; écriture et lecture avec puts, printf, gets, gets_s, scanf ; fonctions de manipulation de chaînes (strcpy, strcat…) et de suites d’octets (memcpy, memmove…) ; fonctions de conversion en numérique (strtod…). Structures, unions, énumérations et champs de bits. Déclaration, représentation en mémoire, utilisation. Instruction typedef et synonymes. Fichiers. Fichiers binaires et formatés ; fwrite et fread ; fprintf, fscanf, fputs et fgets ; fputc et fgetc ; accès direct avec fseek, ftell… ; fopen et les modes d’ouverture ; flux prédéfinis stdin, stdout et stderr. Gestion dynamique de la mémoire. Principes, fonctions malloc, free, calloc, realloc ; exemples d’utilisation : tableaux dynamiques et listes chaînées. Préprocesseur. Directives et caractère #, définition de symboles et de macros, directives de compilation conditionnelle, d’inclusion de fichier source, etc. Déclarations. Syntaxe générale, spécificateurs, définition de fonction, interprétation de déclarations, écriture de déclarateurs. Fiabilisation des lectures au clavier. Utilisation de scanf, gets, gets_s, fgets. Catégories de caractères et fonctions associées. Gestion des programmes de grande taille. Avantages et inconvénients des variables globales, partage d’identificateurs entre plusieurs fichiers source. Fonctions à arguments variables. Règles d’écriture, macros va_start, va_arg, va_end, fonctions vprintf, vfprintf et vsprintf. Communication avec l’environnement. Arguments reçus par la fonction main, terminaison d’un programme, fonctions getenv et system, signaux. Caractères étendus. Type wchar_t, fonctions mblen, mbtowc et wctomb, chaînes de caractères étendus. Localisation. Mécanisme, fonctions setlocale et localeconv. Récursivité. Principes et exemples, empilement des appels. Branchements non locaux. Macros setjmp et longjmp. Incompatibilités entre C et C++. Bibliothèque standard du C. assert.h, ctype.h, errno.h, locale.h, math.h, setjmp.h, signal.h, stdarg.h, stddef.h, stdio.h, stdlib.h, string.h, time.h. Nouveautés des normes ISO C99 et C11. Contraintes supplémentaires, division d’entiers, tableaux de dimension variable, nouveaux types, caractères étendus et Unicode, pointeurs restreints, structures anonymes, expressions génériques, fonctions de vérification du débordement mémoire, threads, etc. Biographie auteur C. Delannoy Ingénieur informaticien au CNRS, Claude Delannoy possède une grande pratique de la formation continue et de l’enseignement supérieur. Réputés pour la qualité de leur démarche pédagogique, ses ouvrages sur les langages et la programmation totalisent plus de 300 000 exemplaires vendus. www.editions-eyrolles.com Le guide complet du langage C Claude Delannoy ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Le présent ouvrage est une nouvelle édition du livre publié à l’origine sous le titre « La référence du C norme ANSI/ISO », puis au format semi-poche sous le titre « Langage C ». En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans l’autorisation de l’Éditeur ou du Centre Français d’exploitation du droit de copie, 20, rue des Grands Augustins, 75006 Paris. © Groupe Eyrolles, 1999, 2008, 2014, ISBN : 978-2-212-14012-5 AUX EDITIONS EYROLLES Du même auteur C. DELANNOY. – Programmer en langage C. Avec exercices corrigés. N°14010, 5e édition, 2009, 276 pages (réédition avec nouvelle présentation, 2014). C. DELANNOY. – Exercices en langage C. N°11105, 2002, 2010 pages. C. DELANNOY. – S’initier à la programmation et à l’orienté objet. Avec des exemples en C, C++, C#, Python, Java et PHP. N°14011, 2e édition, 2014, 382 pages. C. DELANNOY. – Programmer en langage C++. N°14008, 8e édition, 2011, 820 pages (réédition avec nouvelle présentation, 2014). C. DELANNOY. – Exercices en langage C++. N°12201, 3e édition, 2007, 336 pages. C. Delannoy. – Programmer en Java. Java 8. N°14007, 9e édition, 2014, 940 pages. C. DELANNOY. – Exercices en Java. N°14009, 4e édition, 2014, 360 pages. Autres ouvrages B. MEYER. – Conception et programmation orientées objet. N°12270, 2008, 1222 pages. P. ROQUES. – UML 2 par la pratique N°12565, 7e édition, 2009, 396 pages. G. SWINNEN. – Apprendre à programmer avec Python 3. N°13434, 3e édition, 2012, 435 pages. C. BLAESS. – Développement système sous Linux. Ordonnancement multitâches, gestion mémoire, communications, programmation réseau. N°12881, 3e édition, 2011, 1004 pages. C. BLAESS. – Solutions temps réel sous Linux. Avec 50 exercices corrigés. N°13382, 2012, 294 pages. Table des matières Avant-propos À qui s’adresse ce livre ? Structure de l’ouvrage À propos des normes ANSI/ISO À propos de la fonction main Remerciements CHAPITRE 1 Généralités 1. Historique du langage C 2. Programme source, module objet et programme exécutable 3. Compilation en C : existence d’un préprocesseur 4. Variable et objet 4.1 Définition d’une variable et d’un objet 4.2 Utilisation d’un objet 5. Lien entre objet, octets et caractères 6. Classe d’allocation des variables CHAPITRE 2 Les éléments constitutifs d’un programme source 1. Jeu de caractères source et jeu de caractères d’exécution 1.1 Généralités 1.2 Commentaires à propos du jeu de caractères source 1.3 Commentaires à propos du jeu minimal de caractères d’exécution 2. Les identificateurs 3. Les mots-clés 4. Les séparateurs et les espaces blancs 5. Le format libre 6. Les commentaires 7. Notion de token 7.1 Les différentes catégories de tokens 7.2 Décomposition en tokens CHAPITRE 3 Les types de base 1. Les types entiers 1.1 Les six types entiers 1.2 Représentation mémoire des entiers et limitations 1.3 Critères de choix d’un type entier 1.4 Écriture des constantes entières 1.5 Le type attribué par le compilateur aux constantes entières 1.6 Exemple d’utilisation déraisonnable de constantes hexadécimales 1.7 Pour imposer un type aux constantes entières 1.8 En cas de dépassement de capacité dans l’écriture des constantes entières 2. Les types caractère 2.1 Les deux types caractère 2.2 Caractéristiques des types caractère 2.3 Écriture des constantes caractère 2.4 Le type des constantes caractère 3. Le fichier limits.h 3.1 Son contenu 3.2 Précautions d’utilisation 4. Les types flottants 4.1 Rappels concernant le codage des nombres en flottant 4.2 Le modèle proposé par la norme 4.3 Les caractéristiques du codage en flottant 4.4 Représentation mémoire et limitations 4.5 Écriture des constantes flottantes 4.6 Le type des constantes flottantes 4.7 En cas de dépassement de capacité dans l’écriture des constantes 5. Le fichier float.h 6. Déclarations des variables d’un type de base 6.1 Rôle d’une déclaration 6.2 Initialisation lors de la déclaration 6.3 Les qualifieurs const et volatile CHAPITRE 4 Les opérateurs et les expressions 1. Généralités 1.1 Les particularités des opérateurs et des expressions en C 1.2 Priorité et associativité 1.3 Pluralité 1.4 Conversions implicites 1.5 Les différentes catégories d’opérateurs 2. Les opérateurs arithmétiques 2.1 Les différents opérateurs numériques 2.2 Comportement en cas d’exception 3. Les conversions numériques implicites 3.1 Introduction 3.2 Les conversions numériques d’ajustement de type 3.3 Les promotions numériques 3.4 Combinaisons de conversions 3.5 Cas particulier des arguments d’une fonction 4. Les opérateurs relationnels 4.1 Généralités 4.2 Les six opérateurs relationnels du langage C 4.3 Leur priorité et leur associativité 5. Les opérateurs logiques 5.1 Généralités 5.2 Les trois opérateurs logiques du langage C 5.3 Leur priorité et leur associativité 5.4 Les opérandes de && et de || ne sont évalués que si nécessaire 6. Les opérateurs de manipulation de bits 6.1 Présentation des opérateurs de manipulation de bits 6.2 Les opérateurs « bit à bit » 6.3 Les opérateurs de décalage 6.4 Applications usuelles des opérateurs de manipulation de bits 7. Les opérateurs d’affectation et d’incrémentation 7.1 Généralités 7.2 La lvalue 7.3 L’opérateur d’affectation simple 7.4 Tableau récapitulatif : l’opérateur d’affectation simple 7.5 Les opérateurs d’affectation élargie 8. Les opérateurs uploads/Litterature/ guide-complet-c.pdf
Documents similaires










-
37
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 20, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 7.5820MB