[PDF] COURS et TP DE LANGAGE C++ Le langage C++ se trouve à





Previous PDF Next PDF



Programmation en langage C

Anne CANTEAUT. INRIA - projet CODES. B.P. 105. 78153 Le Chesnay Cedex. Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/Anne.Canteaut/COURS C 



Informatique Langage C - Notes de cours CA 2007/08

C'est un langage de programmation structuré mais très "près" de la machine. Publication en 1978 de "The C programming language" par Kernighan et Ritchie: 



Le guide complet du langage C

Malgré le caractère de référence de l'ouvrage nous lui avons conservé une structure compa- rable à celle d'un cours . Il pourra ainsi être utilisé soit 



Le livre du C pour les vrais debutants en programmation.pdf

Un premier programme complet. 4.1 Canevas général d'écriture d'un programme en langage C. 4.2 Un exemple de programme…. 4.3 et sa mise en oeuvre.



Programmation Structurée en Langage C

Le langage C est lié à la conception du système UNIX par les Bell-Labs [JR78]. (et de sa traduction française [KR94]) que s'inpire ce support de cours.



cours-python.pdf

22 mars 2018 Python est un langage interprété c'est-à-dire que chaque ligne de ... Python a écrit une phrase complète en remplaçant les variables x et ...



Cours PHP Accéléré

12 juil. 2022 Note : Le langage PHP a subi de profonds remaniements et a ... sions rapides en PHP (codées en C) de manière simplifiée (sans écrire du C ...



Cours SGBD 1 Concepts et langages des Bases de Données

IUT de Nice - Cours SGBD1. 9. ? Indépendance physique. Pouvoir modifier les structures Langage de définition des données (DDL) ... LMD : SELECT complet.



C++ : LES BASES

Le but de ce cours est de présenter la syntaxe de base du langage C++. (2.5.1) Voici un petit programme complet écrit en C++ :.



COURS et TP DE LANGAGE C++

Le langage C++ se trouve à la frontière entre le langage C non objet



Programmation en langage C

Le C est un langage compil´e (par opposition aux langages interpr´et´es) Cela signi?e qu’un programme C est d´ecrit par un ?chier texte appel´e ?chier source Ce ?chier n’´etant ´evidem-ment pas ex´ecutable par le microprocesseur il faut le traduire en langage machine Cette



LelangageC - Zeste de Savoir

Tabledesmatières Introduction 15 I Remerciements 17 II LesbasesdulangageC 19 II 1 Introductionàlaprogrammation 20 Introduction



Searches related to cours complet langage c PDF

Le langage C a connu une croissance en popularité énorme ces dernières années On trouve ses sources en 1972 dans les laboratoires Bell afin de développer une version portable du système d'exploitation unix C'est un langage de programmation structuré mais très "près" de la machine

Quelle est la définition du langage C?

On trouve ses sources en 1972, dans les laboratoires Bell, afin de développer une version portable du système d'exploitation unix. C'est un langage de programmation structuré, mais très "près" de la machine. Publication en 1978 de "The C programming language" par Kernighan et Ritchie: définition classique du C.

Quand a été créé le langage C?

Le langage C a connu une croissance en popularité énorme ces dernières années. On trouve ses sources en 1972, dans les laboratoires Bell, afin de développer une version portable du système d'exploitation unix.

Qui a inventé le langage C ?

Mais ses qualités opérationnelles l’ont très vite fait adopter par une large communauté de programmeurs. Une première définition de ce langage est apparue en 1978 avec l’ouvrage de Kernighan et Ritchie The C programming language.

Quel est le code éditeur du langage C ?

Code éditeur : G12546 • ISBN : 978-2-212-12546-7 Au sommaire Introduction au langage C • Les types de base du C • Les opérateurs et les expressions • Les entrées-sorties : printf, scanf 782212 125467 • Les instructions de contrôle : if, switch, do…while, while, for…

COURS et TP DE LANGAGE C

Programmation en langage C

Anne CANTEAUT

INRIA - projet CODES

B.P. 105

78153 Le Chesnay Cedex

Anne.Canteaut@inria.fr

C 2

Table des mati`eres3

Table des mati`eres

1 Les bases de la programmation en C 9

1.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2 La compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3 Les composants ´el´ementaires du C . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3.1 Les identificateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3.2 Les mots-clefs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3.3 Les commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.4 Structure d"un programme C . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.5 Les types pr´ed´efinis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.5.1 Le type caract`ere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.5.2 Les types entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.5.3 Les types flottants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.6 Les constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.6.1 Les constantes enti`eres . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.6.2 Les constantes r´eelles . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.6.3 Les constantes caract`eres . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.6.4 Les constantes chaˆınes de caract`eres . . . . . . . . . . . . . . . . . . . 19

1.7 Les op´erateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.7.1 L"affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.7.2 Les op´erateurs arithm´etiques . . . . . . . . . . . . . . . . . . . . . . . 20

1.7.3 Les op´erateurs relationnels . . . . . . . . . . . . . . . . . . . . . . . . 21

1.7.4 Les op´erateurs logiques bool´eens . . . . . . . . . . . . . . . . . . . . . 21

1.7.5 Les op´erateurs logiques bit `a bit . . . . . . . . . . . . . . . . . . . . . 22

1.7.6 Les op´erateurs d"affectation compos´ee . . . . . . . . . . . . . . . . . . 22

1.7.7 Les op´erateurs d"incr´ementation et de d´ecr´ementation . . . . . . . . . 23

1.7.8 L"op´erateur virgule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.7.9 L"op´erateur conditionnel ternaire . . . . . . . . . . . . . . . . . . . . . 23

1.7.10 L"op´erateur de conversion de type . . . . . . . . . . . . . . . . . . . . 24

1.7.11 L"op´erateur adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.7.12 R`egles de priorit´e des op´erateurs . . . . . . . . . . . . . . . . . . . . . 24

1.8 Les instructions de branchement conditionnel . . . . . . . . . . . . . . . . . . 25

1.8.1 Branchement conditionnelif---else. . . . . . . . . . . . . . . . . . 25

1.8.2 Branchement multipleswitch. . . . . . . . . . . . . . . . . . . . . . . 25

1.9 Les boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.9.1 Bouclewhile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.9.2 Boucledo---while. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4Table des mati`eres

1.9.3 Bouclefor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.10 Les instructions de branchement non conditionnel . . . . . . . . . . . . . . . . 28

1.10.1 Branchement non conditionnelbreak. . . . . . . . . . . . . . . . . . 28

1.10.2 Branchement non conditionnelcontinue. . . . . . . . . . . . . . . . 28

1.10.3 Branchement non conditionnelgoto. . . . . . . . . . . . . . . . . . . 29

1.11 Les fonctions d"entr´ees-sorties classiques . . . . . . . . . . . . . . . . . . . . . 29

1.11.1 La fonction d"´ecritureprintf. . . . . . . . . . . . . . . . . . . . . . . 29

1.11.2 La fonction de saisiescanf. . . . . . . . . . . . . . . . . . . . . . . . 31

1.11.3 Impression et lecture de caract`eres . . . . . . . . . . . . . . . . . . . . 32

1.12 Les conventions d"´ecriture d"un programme C . . . . . . . . . . . . . . . . . . 33

2 Les types compos´es 35

2.1 Les tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.2 Les structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.3 Les champs de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.4 Les unions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.5 Les ´enum´erations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.6 D´efinition de types compos´es avectypedef. . . . . . . . . . . . . . . . . . . 41

3 Les pointeurs 43

3.1 Adresse et valeur d"un objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2 Notion de pointeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.3 Arithm´etique des pointeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.4 Allocation dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.5 Pointeurs et tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.5.1 Pointeurs et tableaux `a une dimension . . . . . . . . . . . . . . . . . . 50

3.5.2 Pointeurs et tableaux `a plusieurs dimensions . . . . . . . . . . . . . . 52

3.5.3 Pointeurs et chaˆınes de caract`eres . . . . . . . . . . . . . . . . . . . . 53

3.6 Pointeurs et structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.6.1 Pointeur sur une structure . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.6.2 Structures auto-r´ef´erenc´ees . . . . . . . . . . . . . . . . . . . . . . . . 56

4 Les fonctions 59

4.1 D´efinition d"une fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.2 Appel d"une fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.3 D´eclaration d"une fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.4 Dur´ee de vie des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.4.1 Variables globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.4.2 Variables locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.5 Transmission des param`etres d"une fonction . . . . . . . . . . . . . . . . . . . 64

4.6 Les qualificateurs de typeconstetvolatile. . . . . . . . . . . . . . . . . . 66

4.7 La fonctionmain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.8 Pointeur sur une fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.9 Fonctions avec un nombre variable de param`etres . . . . . . . . . . . . . . . . 74

Table des mati`eres5

5 Les directives au pr´eprocesseur 77

5.1 La directive#include. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.2 La directive#define. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.2.1 D´efinition de constantes symboliques . . . . . . . . . . . . . . . . . . . 78

5.2.2 D´efinition de macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.3 La compilation conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.3.1 Condition li´ee `a la valeur d"une expression . . . . . . . . . . . . . . . . 79

5.3.2 Condition li´ee `a l"existence d"un symbole . . . . . . . . . . . . . . . . 80

6 La gestion des fichiers 81

6.1 Ouverture et fermeture d"un fichier . . . . . . . . . . . . . . . . . . . . . . . . 81

6.1.1 La fonctionfopen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

6.1.2 La fonctionfclose. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.2 Les entr´ees-sorties format´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

6.2.1 La fonction d"´ecriturefprintf. . . . . . . . . . . . . . . . . . . . . . 83

6.2.2 La fonction de saisiefscanf. . . . . . . . . . . . . . . . . . . . . . . . 83

6.3 Impression et lecture de caract`eres . . . . . . . . . . . . . . . . . . . . . . . . 83

6.4 Relecture d"un caract`ere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.5 Les entr´ees-sorties binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6.6 Positionnement dans un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . 86

7 La programmation modulaire 89

7.1 Principes ´el´ementaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

7.2 La compilation s´epar´ee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

7.2.1 Fichier en-tˆete d"un fichier source . . . . . . . . . . . . . . . . . . . . . 91

7.2.2 Variables partag´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

7.3 L"utilitairemake. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

7.3.1 Principe de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

7.3.2 Cr´eation d"unMakefile. . . . . . . . . . . . . . . . . . . . . . . . . . 94

7.3.3 Macros et abbr´eviations . . . . . . . . . . . . . . . . . . . . . . . . . . 96

7.3.4 R`egles g´en´erales de compilation . . . . . . . . . . . . . . . . . . . . . . 97

A La librairie standard 99

A.1 Entr´ees-sorties. . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 A.1.1 Manipulation de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . 99 A.1.2 Entr´ees et sorties format´ees . . . . . . . . . . . . . . . . . . . . . . . . 99 A.1.3 Impression et lecture de caract`eres . . . . . . . . . . . . . . . . . . . . 100 A.2 Manipulation de caract`eres. . . . . . . . . . . . . . . . . . . . . 101 A.3 Manipulation de chaˆınes de caract`eres. . . . . . . . . . . . . . 102 A.4 Fonctions math´ematiques. . . . . . . . . . . . . . . . . . . . . . . 103 A.5 Utilitaires divers. . . . . . . . . . . . . . . . . . . . . . . . . . 104 A.5.1 Allocation dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 A.5.2 Conversion de chaˆınes de caract`eres en nombres . . . . . . . . . . . . . 104 A.5.3 G´en´eration de nombres pseudo-al´eatoires . . . . . . . . . . . . . . . . 104 A.5.4 Arithm´etique sur les entiers . . . . . . . . . . . . . . . . . . . . . . . . 104 A.5.5 Recherche et tri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 A.5.6 Communication avec l"environnement . . . . . . . . . . . . . . . . . . 105

6Table des mati`eres

A.6 Date et heure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

B Le d´ebogueur GDB 107

B.1 D´emarrergdb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 B.2 Quittergdb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 B.3 Ex´ecuter un programme sousgdb. . . . . . . . . . . . . . . . . . . . . . . . . 108 B.4 Terminaison anormale du programme . . . . . . . . . . . . . . . . . . . . . . 109 B.5 Afficher les donn´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 B.6 Appeler des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 B.7 Modifier des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 B.8 Se d´eplacer dans la pile des appels . . . . . . . . . . . . . . . . . . . . . . . . 113 B.9 Poser des points d"arrˆet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

B.10 G´erer les points d"arrˆet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

B.11 Les points d"arrˆet conditionnels . . . . . . . . . . . . . . . . . . . . . . . . . . 116 B.12 Ex´ecuter un programme pas `a pas . . . . . . . . . . . . . . . . . . . . . . . . 117 B.13 Afficher la valeur d"une expression `a chaque point d"arrˆet . . . . . . . . . . . 119 B.14 Ex´ecuter automatiquement des commandes aux points d"arrˆet . . . . . . . . . 120 B.15 Les raccourcis des noms de commande . . . . . . . . . . . . . . . . . . . . . . 123 B.16 Utiliser l"historique des commandes . . . . . . . . . . . . . . . . . . . . . . . . 123 B.17 Interface avec le shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 B.18 R´esum´e des principales commandes . . . . . . . . . . . . . . . . . . . . . . . . 124

Bibliographie 127

Index128

Liste des tableaux7

Liste des tableaux

1.1 Codes ASCII des caract`eres imprimables . . . . . . . . . . . . . . . . . . . . . 15

1.2 Les types entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.3 Les types flottants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

quotesdbs_dbs2.pdfusesText_2
[PDF] cours langage c pour debutant

[PDF] table de division pdf

[PDF] table de multiplication de 12 ? imprimer

[PDF] langage c pdf exercices corrigés

[PDF] cours langage c++ pour débutants pdf

[PDF] cours langage c pdf pour debutant

[PDF] langage c++ cours pdf

[PDF] apprendre le latin livre

[PDF] apprendre latin autodidacte

[PDF] aprender latin pdf

[PDF] cours de francais pour etranger bordeaux gratuit

[PDF] cours de francais pour etranger metz

[PDF] cours de français gratuit vaud

[PDF] alliance francaise bordeaux aquitaine

[PDF] cours de français pour étrangers metz