Langage C Ecole polytechnique privée Ecole polytechnique privée 1 Progression :
Langage C Ecole polytechnique privée Ecole polytechnique privée 1 Progression : 1. Notion d'algorithme et de programme 3. Premiers pas en C 4. Type entier, réel, constantes et variables 5. Les entrées-sorties simplifiées 6. Expressions arithmétiques et logiques 7. Syntaxe des instructions 8. Les entrées-sorties 9. Quelques compléments commodes 10. Variables indexées (tableaux) 11. Adresse et pointeur 12. Les Fonctions 13. Les objets structurés 14. Les fichiers 15. Piles, files, listes chaînées Ecole polytechnique privée 2 I. Notion d’algorithme Ecole polytechnique privée 3 Une recette de cuisine Ingrédients Recette Plat Résoudre un problème : • Données ? • Résultat souhaité ? Algorithme (suite d'instructions séquentielles avec éventuellement des ruptures) Algorithme Données (entrées) Algorithme Résultat (sorties) Ecole polytechnique privée 4 Conception d’un algorithme : analyse hiérarchisée 1) Un premier algorithme très général : • suite d’actions de haut niveau • à réaliser de manière séquentielle Recette de la tarte aux pommes : I. Faire une pâte II. Étaler la pâte dans le moule III. Peler et couper les pommes IV. Mettre les pommes sur la pâte V. Mettre au four 30mn thermostat 7 Ecole polytechnique privée 5 2) Raffinement des tâches Recette de la tarte aux pommes : I. Faire une pâte : 1. Mettre 200g de farine et 100g de beurre dans un bol 2. Pétrir la pâte 3. Laisser reposer la pâte 1h II. Étaler la pâte dans le moule III. Peler et couper les pommes IV. Mettre les pommes sur la pâte V. Mettre au four 30mn thermostat 7 Raffinements successifs : Conception structurée Ecole polytechnique privée 6 Recette de la tarte aux pommes : I. Faire une pâte : 1. Mettre 200g de farine et 100g de beurre dans un bol 2. Pétrir la pâte : Tant que (pâte non homogène) Mélanger pendant 1mn Fin tant que 3. Laisser reposer la pâte 1h II. Étaler la pâte dans le moule III. Peler et couper les pommes IV. Mettre les pommes sur la pâte V. Mettre au four 30mn thermostat 7 Ecole polytechnique privée 7 Eléments de base pour écrire un algorithme Une recette de cuisine Algorithme • ingrédients (farine, beurre, …) données • récipients (plat, bol, …) variables • outils (couteaux, …) opérateurs • instructions simples (verser, …) affectation, … • instructions conditionnelles si-alors-sinon • instructions répétitives tant-que Ecole polytechnique privée 8 Instructions de base pour écrire un algorithme a) définir une variable b) lecture/écriture c) affectation d) instruction conditionnelle e) répétition d’une action Ecole polytechnique privée 9 a) Définir une variable annoncer au début les variables utilisées en précisant la nature du contenu (entier, réel, caractère…) ex : soient a, b, c trois réels b) Lecture/écriture pour représenter les échanges homme-machine • lire (variable) homme -> machine • écrire(variable) homme <- machine Ecole polytechnique privée 10 c) L’affectation : • Une variable ne peut contenir qu’une seule information variable <- expression • l’affectation qui initialise x <- 1 s <- x+1 • l’affectation qui modifie s <- s+x Remarques : • lire est une forme d’affectation • variable à droite de <- : contenu • variable à gauche de <- : contenant s <- s+x Ecole polytechnique privée 11 d) Instruction alternative • action liée à une condition si (condition) action1 sinon action2 fin-si suite de l’algorithme Remarques : • les actions sont des suites d’instructions élémentaires • délimitées par si, sinon et fin-si • sinon action2 est facultatif • présentation : l’écriture de l’action est décalée à droite oui condition action1 non action2 Ecole polytechnique privée 12 e) Instruction répétitive • action répétée sous condition tant-que (condition) action fin tant-que suite de l’algorithme condition non oui action Ecole polytechnique privée 13 Quelques exemples : • l’algorithme pour la résolution de l’équation du 2ème degré • l’algorithme mystérieux soient a, b, r réels ; lire(a) ; lire(b) ; r <- 0 ; tant-que (b ≠ 0) si (b est pair) b <- b/2 ; a <- 2*a ; sinon b <- b-1 ; r <- r+a ; fin-si fin tant-que ecrire(r) ; Ecole polytechnique privée 14 II. Premiers pas en C Ecole polytechnique privée 15 Le C a été mis au point par D.Ritchie et B.W.Kernighan • Au début 70 • Pour écrire un système d'exploitation portable : UNIX • Le succès d'UNIX a entraîné celui de C : • un des langages le plus utilisé (gestion des réseaux, …). La première définition de ce langage a été donnée dans leur livre « The C programming language ». Ce langage a été normalisé en 1989 : C-ANSI (American National Standards Institute) Ecole polytechnique privée 16 Quelques caractéristiques du langage : • adapté aux programmes de taille moyenne • programmation de bas niveau (proche assembleur) • comme de haut niveau (programmation structurée) • indépendant de la machine (portabilité) • C original et C-ANSI (1989) plus fiable au niveau syntaxique Ce cours : un sous-ensemble du C-ANSI Quelques remarques sur la syntaxe du C : • Programme C : fichier texte • Commentaires : /* coucou */ Ecole polytechnique privée 17 • Identificateur : 31 caractères max, majuscule ≠ minuscule identificateur -> lettre lettresOuChiffres ; lettresOuChiffres -> ; -> lettre lettresOuChiffres ; -> chiffre lettresOuChiffres ; -> ‘_’ lettresOuChiffres ; exemple : x x1 delta Delta agent_007 • Mots réservés du langage : o une trentaine o tous en minuscule o consultez la fiche résumé de C Ecole polytechnique privée 18 Développement d’un programme : 1 : L’algorithme : « recette » décrite en pseudo-français 2 : Code source : transcription de l’algorithme dans le langage fichier construit sous un éditeur de texte 3 : Compilation : traduction du code source en code machine exécutable 4 : Edition de lien : (link) compléter le code exécutable avec des fonctions prédéfinies déjà compilées (sin , cos, …) Fichier exécutable : résultat de cette séquence d’opérations Ecole polytechnique privée 19 un fichier source est une succession d'un nbre quelconque d'éléments indépendants : • directives pour le préprocesseur #---- • construction de types • déclaration de variables et de fcts externes • définition de variables (réservation d'espace mémoire) • définition de fcts dont main() Ecole polytechnique privée 20 Mon premier programme C : le fichier salut.c #include <stdio.h>! void main(void)! {!/* ce programme affiche coucou */! printf("coucou !\n");! }! Sous UNIX : Compiler avec la commande gcc salut.c –o salut lancer l’exécution du code en tapant ./salut Ecole polytechnique privée 21 III. Types, constantes et variables Ecole polytechnique privée 22 Une variable : • nom d’un emplacement mémoire (1, 2, 4 octets ou plus) • on en crée (presque) autant qu’on veut • le contenu peut changer dans le temps. • contient toujours quelque chose !!! Un type : • définit une convention de codage de l'information • dans un emplacement de taille préfixée ex : compter en binaire sur 3 bits : Une variable sera toujours définie au moins une fois par un type avant utilisation! Ecole polytechnique privée 23 7 types de base en C : • char : petit entier codé sur 1 octet (entre –128 et 127) • short : entier de taille moyenne sur 2 octets (de –32768 à 32767) • int : entier dont la taille est liée au processeur (mot machine) • long : grand entier sur 4 octets (jusqu’à 10 chiffres) • float : réel avec 7 chiffres significatifs • double : réel de grande précision • long double : réel de très grande précision Le qualificatif unsigned : redéfinit l’intervalle de validité à partir de 0 Un unsigned short est dans [0, 65535] Un unsigned char est dans [0, 255] Ecole polytechnique privée 24 Remarque : Le C ne fait pas de différence entre les petits entiers et les caractères qui sont aussi déclarés comme des char (code ASCII) 0 1 0 0 0 0 0 0 64 ‘@‘ binaire petit entier caractère Ecole polytechnique privée 25 Les constantes : les caractères alphanumérique-étendus (visible sur le clavier) ‘a‘ ‘A‘ ‘1‘ ‘ ‘ ‘@‘ ‘\n‘ les entiers 0 1 32767 les flottants 0. 3.14 0.314e1 0.314E1 ATTENTION : 1 est différent de ‘1‘ Ecole polytechnique privée 26 Définition d'une variable : Objectif : • réserver un emplacement mémoire • qui soit adapté au codage de l’information • et associer un nom (identificateur) à cet emplacement Syntaxe : • type var-init [, var-init] ; • var-init -> variable -> variable = expression constante • variable -> identificateur Ecole polytechnique privée 27 Exemple : !float x;! !int i, j=1, k ;! !char c1='1', c2 = 2 , c3='a'+1;! Exemples d’erreur :! !int i=0, j=i+1, k ;! !char a=300 ;! Ecole polytechnique privée 28 uploads/Philosophie/ seance1-langage-c.pdf
Documents similaires
-
13
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 14, 2022
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 0.7634MB