Example: stock market

Programmation en langage C - Inria

Programmation en langage CAnne CANTEAUTINRIA - projet 10578153 Le Chesnay des mati`eres3 Table des mati`eres1 Les bases de la Programmation en Historique .. La compilation .. Les composants el ementaires du C .. Les identificateurs .. Les mots-clefs .. Les commentaires .. Structure d un programme C .. Les types pr ed efinis .. Le type caract`ere .. Les types entiers .. Les types flottants .. Les constantes .. Les constantes enti`eres .. Les constantes r eelles .. Les constantes caract`eres .. Les constantes cha nes de caract`eres .. Les op erateurs .. L affectation .. Les op erateurs arithm etiques .. Les op erateurs relationnels .. Les op erateurs logiques bool eens .. Les op erateurs logiques bit `a bit .. Les op erateurs d affectation compos ee .. Les op erateurs d incr ementation et de d ecr ementation.

9 Chapitre 1 Les bases de la programmation en C 1.1 Historique Le C a ´et´e con¸cu en 1972 par Dennis Richie et Ken Thompson, chercheurs aux Bell Labs,

Tags:

  Langage, Programmation, Programmation en langage c

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Programmation en langage C - Inria

1 Programmation en langage CAnne CANTEAUTINRIA - projet 10578153 Le Chesnay des mati`eres3 Table des mati`eres1 Les bases de la Programmation en Historique .. La compilation .. Les composants el ementaires du C .. Les identificateurs .. Les mots-clefs .. Les commentaires .. Structure d un programme C .. Les types pr ed efinis .. Le type caract`ere .. Les types entiers .. Les types flottants .. Les constantes .. Les constantes enti`eres .. Les constantes r eelles .. Les constantes caract`eres .. Les constantes cha nes de caract`eres .. Les op erateurs .. L affectation .. Les op erateurs arithm etiques .. Les op erateurs relationnels .. Les op erateurs logiques bool eens .. Les op erateurs logiques bit `a bit .. Les op erateurs d affectation compos ee .. Les op erateurs d incr ementation et de d ecr ementation.

2 L op erateur virgule .. L op erateur conditionnel ternaire .. L op erateur de conversion de type .. L op erateur adresse .. R`egles de priorit e des op erateurs .. Les instructions de branchement conditionnel .. Branchement conditionnelif---else.. Branchement multipleswitch.. Les boucles .. Bouclewhile.. Boucledo---while.. 264 Table des mati` Bouclefor.. Les instructions de branchement non conditionnel .. Branchement non conditionnelbreak.. Branchement non conditionnelcontinue.. Branchement non conditionnelgoto.. Les fonctions d entr ees-sorties classiques .. La fonction d ecritureprintf.. La fonction de saisiescanf.. Impression et lecture de caract`eres .. Les conventions d ecriture d un programme C .. 332 Les types compos Les tableaux .. Les structures .. Les champs de bits .. Les unions .. Les enum erations .. D efinition de types compos es avectypedef.

3 413 Les Adresse et valeur d un objet .. Notion de pointeur .. Arithm etique des pointeurs .. Allocation dynamique .. Pointeurs et tableaux .. Pointeurs et tableaux `a une dimension .. Pointeurs et tableaux `a plusieurs dimensions .. Pointeurs et cha nes de caract`eres .. Pointeurs et structures .. Pointeur sur une structure .. Structures auto-r ef erenc ees .. 564 Les D efinition d une fonction .. Appel d une fonction .. D eclaration d une fonction .. Dur ee de vie des variables .. Variables globales .. Variables locales .. Transmission des param`etres d une fonction .. Les qualificateurs de typeconstetvolatile.. La fonctionmain.. Pointeur sur une fonction .. Fonctions avec un nombre variable de param`etres .. 74 Table des mati`eres55 Les directives au pr La directive#include.. La directive#define.. D efinition de constantes symboliques.

4 D efinition de macros .. La compilation conditionnelle .. Condition li ee `a la valeur d une expression .. Condition li ee `a l existence d un symbole .. 806 La gestion des Ouverture et fermeture d un fichier .. La fonctionfopen.. La fonctionfclose.. Les entr ees-sorties format ees .. La fonction d ecriturefprintf.. La fonction de saisiefscanf.. Impression et lecture de caract`eres .. Relecture d un caract`ere .. Les entr ees-sorties binaires .. Positionnement dans un fichier .. 867 La Programmation Principes el ementaires .. La compilation s epar ee .. Fichier en-t ete d un fichier source .. Variables partag ees .. L utilitairemake.. Principe de base .. Cr eation d unMakefile.. Macros et abbr eviations .. R`egles g en erales de compilation .. 97A La librairie Entr ees-sorties< >.. Manipulation de fichiers .. Entr ees et sorties format ees.

5 Impression et lecture de caract`eres .. Manipulation de caract`eres< >.. Manipulation de cha nes de caract`eres< >.. Fonctions math ematiques< >.. Utilitaires divers< >.. Allocation dynamique .. Conversion de cha nes de caract`eres en nombres .. G en eration de nombres pseudo-al eatoires .. Arithm etique sur les entiers .. Recherche et tri .. Communication avec l environnement .. 1056 Table des mati` Date et heure< >.. 106B Le d ebogueur D emarrergdb.. Quittergdb.. Ex ecuter un programme sousgdb.. Terminaison anormale du programme .. Afficher les donn ees .. Appeler des fonctions .. Modifier des variables .. Se d eplacer dans la pile des appels .. Poser des points d arr et .. G erer les points d arr et .. Les points d arr et conditionnels .. Ex ecuter un programme pas `a pas .. Afficher la valeur d une expression `a chaque point d arr et .. Ex ecuter automatiquement des commandes aux points d arr et.

6 Les raccourcis des noms de commande .. Utiliser l historique des commandes .. Interface avec le shell .. R esum e des principales commandes .. 124 Bibliographie127 Index128 Liste des tableaux7 Liste des Codes ASCII des caract`eres imprimables .. Les types entiers .. Les types flottants .. R`egles de priorit e des op erateurs .. Formats d impression pour la fonctionprintf.. Formats de saisie pour la fonctionscanf.. 328 Liste des tableaux9 Chapitre 1 Les bases de la Programmation en HistoriqueLe C a et e con cu en 1972 par Dennis Richie et Ken Thompson, chercheurs aux Bell Labs,afin de d evelopper un syst`eme d exploitation UNIX sur un DEC PDP-11. En 1978, BrianKernighan et Dennis Richie publient la d efinition classique du C dans le livreThe C Pro-gramming language[6]. Le C devenant de plus en plus populaire dans les ann ees 80, plusieursgroupes mirent sur le march e des compilateurs comportant des extensions particuli`eres.

7 En1983, l ANSI (American National Standards Institute) d ecida de normaliser le langage ; cetravail s acheva en 1989 par la d efinition de la norme ANSI C. Celle-ci fut reprise telle quellepar l ISO (International Standards Organization) en 1990. C est ce standard, ANSI C, qui estd ecrit dans le pr esent La compilationLe C est un langagecompil e(par opposition aux langages interpr et es). Cela signifie qu unprogramme C est d ecrit par un fichier texte, appel efichier source. Ce fichier n etant evidem-ment pas ex ecutable par le microprocesseur, il faut le traduire en langage machine. Cetteop eration est effectu ee par un programme appel ecompilateur. La compilation se d ecomposeen fait en 4 phases successives traitement par le pr eprocesseur :le fichier source est analys e par le pr eproces-seur qui effectue des transformations purement textuelles (remplacement de cha nes decaract`eres, inclusion d autres fichiers source .. ). compilation :la compilation proprement dite traduit le fichier g en er e par le pr e-processeur en assembleur, c est-`a-dire en une suite d instructions du microprocesseurqui utilisent des mn emoniques rendant la lecture assemblage :cette op eration transforme le code assembleur en un fichier binaire,c est-`a-dire en instructions directement compr ehensibles par le processeur.

8 G en erale-ment, la compilation et l assemblage se font dans la foul ee, sauf si l on sp ecifie explici-tement que l on veut le code assembleur. Le fichier produit par l assemblage est appel efichier 1. Les bases de la Programmation en edition de liens :un programme est souvent s epar e en plusieurs fichiers source, pourdes raisons de clart e mais aussi parce qu il fait g en eralement appel `a des librairies defonctions standard d ej`a ecrites. Une fois chaque code source assembl e, il faut donc lierentre eux les diff erents fichiers objets. L edition de liens produit alors un fichier ditex diff erents types de fichiers utilis es lors de la compilation sont distingu es par leur fichiers source sont suffix es , les fichiers pr etrait es par le pr eprocesseur , lesfichiers assembleur , et les fichiers objet Les fichiers objets correspondant auxlibrairies pr e-compil ees ont pour compilateur C sous UNIX s appellecc. On utilisera de pr ef erence le compilateurgccdu projet GNU.

9 Ce compilateur est livr e gratuitement avec sa documentation et ses d efaut,gccactive toutes les etapes de la compilation. On le lance par la commandegcc [options] [-llibrairies]Par d efaut, le fichier ex ecutable s Le nom de l ex ecutable peut etre modifi e`a l aide de l eventuelles librairies sont d eclar ees par la cha ne-llibrairie. Dans ce cas, le syst`emerecherche le le r epertoire contenant les librairies pr e-compil ees(g en eralement/usr/lib/). Par exemple, pour lier le programme avec la librairie math e-matique, on sp ecifie-lm. Le fichier objet correspondant Lorsque les librairiespr e-compil ees ne se trouvent pas dans le r epertoire usuel, on sp ecifie leur chemin d acc`es parl options les plus importantes du compilateurgccsont les suivantes :-c: supprime l edition de liens ; produit un fichier : n active que le pr eprocesseur (le r esultat est envoy e sur la sortie standard).-g: produit des informations symboliques n ecessaires au d epertoire: sp ecifie le r epertoire dans lequel doivent etre recherch es les fichiersen-t etes `a inclure (en plus du r epertoire courant).

10 -Lnom-de-r epertoire: sp ecifie le r epertoire dans lequel doivent etre recherch ees les librai-ries pr ecompil ees (en plus du r epertoire usuel).-onom-de-fichier: sp ecifie le nom du fichier produit. Par d efaut, le ex ecutable fichiers ,-O1,-O2,-O3: options d optimisations. Sans ces options, le but du compilateur est deminimiser le co ut de la compilation. En rajoutant l une de ces options, le compilateurtente de r eduire la taille du code ex ecutable et le temps d ex ecution. Les options cor-respondent `a diff erents niveaux d optimisation :-O1(similaire `a-O) correspond `a unefaible optimisation,-O3`a l optimisation : n active que le pr eprocesseur et le compilateur ; produit un fichier : imprime la liste des commandes ex ecut ees par les diff erentes etapes de la Canteaut - Programmation en langage C11-W: imprime des messages d avertissement (warning) suppl : imprime tous les messages d plus de d etails surgcc, on peut consulter le chapitre 4 de [8].


Related search queries