Sommaire: Télécharger cours de l’algorithmique au C
Notes
Unlangagecompilé
Unlangagebasésurdes
modules
Traduirelestypesdebases
Traduirelesconstantes
Traduirelesopérateursusuels
Traduirelesinstructions
simplesetcomposées
Traduirelesconditionnelles
Traduirelesitératifs
Lespointeurs
Traduirelesfonctionsetles
procédures
Traduirelireouécrire
Traduireunprogramme
Unexemple
Extrait du cours l’algorithmique au C
Notes…
Ce cours n’est pas un cours présentant tous les concepts du C Il présente seulement la manière de traduire proprement un programme algorithmique en programme C
- Vous ne trouverez donc pas dans ce cours toutes les subtilités du C, mais vous pouvez vous référer à des cours sur le langage C aux adresses suivantes :
- http://www.enstimac.fr/~gaborit/lang/CoursDeC/
- http://www-rocq.inria.fr/codes/Anne.Canteaut/COURS_C/
- http://www-ipst.u-strasbg.fr/pat/program/tpc.htm
- http://www710.univ-lyon1.fr/~bonnev/CoursC/CoursC.html
- . . .
Un langage compilé…
- Le C est un langage compilé
- Les compilateurs C transforment un programme C (fichier suffixé par .c) en programme objet (fichier suffixé par .o) en deux phases :
- 1. Le préprocesseur agit sur les macros (commandes précédées d’un #) et transforme le code source C en un autre code source C (ne contenant plus aucune macro) en remplaçant le code macro par son évaluation Par exemple si le code C contient l’instruction #define PI 3.14159, le préprocesseur remplacera dans le code source la chaîne de caractères PI par la chaîne de caractères 3.14159 à partir de la position du #define
- 2. Le compilateur transforme ce deuxième code source C en programme machine (nommé code objet)
- Sous Linux (et généralement sous unix), on utilise le compilateur gcc (GNU C Compiler) avec l’option -c pour compiler
Un langage compilé…
Par exemple pour compiler le programme helloworld.c suivant (dont on expliquera le contenu plus tard), il faut taper gcc -c helloworld.c, on obtient alors le fichier helloworld.o
# i nc l ude < s t d i o . h>
i n t mai n ( ) {
p r i n t f ( » He l l o wor l d » ) ;
}
Un langage basé sur des modules…
- Le langage C utilise le concept de module (ou de librairie) qui permet de créer et d’utiliser des bibliothèques de fonctions qui peuvent être utilisées
- dans plusieurs programmes
- De ce fait, le code objet produit par le compilateur n’est pas un programme exécutable car il utilise certainement des fonctions définies dans des modules
- Pour le rendre exécutable il faut le lier aux modules adéquates : c’est ce que l’on nomme l’édition des liens (ou linkage)
- Cette édition des liens s’effectue toujours avec gcc (sans option) suivi des codes objets du programme et des modules (non standards) utilisés
Traduire les constantes…
- Pour traduire les constantes entières, le C propose trois notations :
- 1. La notation décimale, en base dix, par exemple 379
- 2. La notation octale, en base huit, qui doit commencer par un zéro par exemple 0573
- 3. Le notation hexadécimale, en base seize, qui doit commencer par un zéro suivi d’un x (ou X), par exemple 0X17B (ou 0x17B, 0X17b, 0x17b)
- Les constantes caractères sont entourées de quote, par exemple ’a’
- Certains caractères (les caractères non imprimables, avec un code ASCII inférieur à 32, le \, le ’) ne sont utilisables qu’en préfixant par un \:
- le code ASCII du caractère (exprimé en octal), par exemple ’01’ un caractère tel que ’\n’, ’\t’, ’\\’, ’\”
…….
Télécharger cours de l’algorithmique au C (410 KO) (Cours PDF)