Introduction au langage C

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Introduction au Langage C,C++
A RECUPERER EN ENTRANT Le polycopié de Caml Partie 1
Introduction Langage très répandu Noyau Linux VLC … Des avantages indéniables mais aussi des contraintes ! Ceci nest quun rapide tour.
Programmation Orienté Objet en C++
Rappels C.
Développement logiciel sur micro-contrôleurs PIC en C
Rappels de C ECP – Option SA Henri Fallon. Objectifs Théorie + pratique Compréhension générale du langage Repartant « du début » Pour ceux qui savent.
C++ 6ème cours Patrick Reuter maître de conférences
Formation C débutant. Notion de compilation source.c executable Phase de compilation Fichier de texte brut, inexploitable directement par la machine Fichier.
La pile un élément essentiel
la programmation en langage C
C.
Le Concept du programme enregistré
Rappels de C ECP – Option SA Henri Fallon. Objectifs Théorie + pratique Compréhension générale du langage Repartant « du début » Pour ceux qui savent.
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
Paramètres et pointeurs
Structures et unions types énumérés Qu'est-ce qu'une structure
Introduction : Compilation et Traduction
FLSI602 Génie Informatique et Réseaux
Architecture de machines Principes généraux
Langage de Programmation: I - Le Langage C -
Langage C Licence Informatique 3ème année
CPI/BTS 2 Programmation Web Introduction au PHP
Démarche de résolution de problèmes
Question Comment le compilateur fait-il pour évaluer une expression telle que : A + B lorsque A et B sont des données de types arithmétiques différents.
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Introduction à la programmation (Java)
Bases de la programmation en C++
Les fichiers binaires en C++
Programmation Initiation Aux Langages C et C++ (2) Bruno Permanne 2006.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT-2000
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Amorçage des compilateurs Un compilateur est un programme écrit dans un langage Peut-il être écrit dans le langage cible ? dans le langage source ? comment.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
COURS DE PROGRAMMATION ORIENTEE OBJET :
C++ : variables Déclaration de variables
LANGAGE C LP A2I IUT St DIE
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
L’essentiel du langage C
2.1 - Historique Chapitre 2 : Introduction au langage C++
Logique programmée & Microprocesseurs
Le langage C Rappel Pointeurs & Allocation de mémoire.
Programmer en langage c
SIF-1053 Architecture des ordinateurs
ALGORITHMIQUE ET PROGRAMMATION C
Un survol du language C.
Langages de programmation Ordinateurs = Machines à exécution.  D’où la nécessité d’outils de communication qui s’adaptent le mieux aux utilisateurs. Comment.
Module I3 algorithmique et programmation
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
PICAXE LE MICRO-CONTROLEUR.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. tél Fax Cours Architecture des.
L’ histoire: 1976: - Bell Labs abandonne le projet MULTICS. - Ken Thompson, programmeur système chez Bell Labs, se trouve désoeuvré. MULTICS devait être.
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
B.Shishedjiev - Affectation1 Expressions et affectation Comment produire des nouvelles valeurs.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
Système d’exploitation : Assembleur Semaine 01 Introduction.
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
Patricia Renault UPMC 2005/2006
Les expressions. Une expression retourne une valeur lorsqu’elle est exécutée par le programme. a+2, x==0, i++, !isdigit(c) && b, sin(Pi),… On peut donc.
PRO-1027 Programmation Scientifique en C
IFT209 – Programmation Système
Philippe Gandy - 1 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction au langage C
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Informatique 2A Langage C 1 ère séance.
Transcription de la présentation:

Introduction au langage C pourquoi un langage évolué? pourquoi le langage C? la chaîne logicielle. les règles de syntaxe de bases. les opérateurs. les types de données. les structures de contrôle de flux. les pointeurs. les fonctions. adaptation aux µcontrôleurs. présentation de la chaîne MPLAB. le TP. Introduction au langage C

Pourquoi un langage « évolué »: L'assembleur est spécifique à chaque µprocesseur: Il est très efficace mais ... Il faut réapprendre et récrire à chaque changement de µ. Structurer un programme demande beaucoup d'autodiscipline! L'intelligibilité du source est difficile. Le langage évolué va donc chercher à structurer facilement un source intelligible et portable en restant efficace.

Pourquoi le langage C. Inventé dans les années 1970s comme outil pour écrire « facilement » UNIX, le C est un langage simple, performant, des plus connus et utilisés. Il est bien adapté à la commande tant des microprocesseurs que des divers circuits intégrés: il est pour la programmation du matériel un outil de base en électronique. Les chaînes logicielles afférentes sont correctement maîtrisées. Bien utilisé, il permet toutes les audaces. Brian W. Kernighan et Dennis M. Ritchie, ses inventeurs.

La chaîne logicielle: Le(s) fichier(s) source: c'est le programme en langage C. Le pré-processeur: interprète les directives C contenues dans le source. Le compilateur: transforme le source C en assembleur puis en fichier objet pour un micro spécifique. Le linker: réunit les différents fichiers objets, affecte des adresses physiques aux variables, et produit un fichier exécutable. Le codeur: encode le fichier .exe en fichier de transfert .hex pour le micro cible. Le programmateur: transfert à travers un programmateur, le programme exécutable encodé dans le micro cible.

Les règles de syntaxes de base: // tout ce qui suit sur la ligne est un commentaire. /* */ tout ce qui est entre est un commentaire. # annonce une directive. ; doit terminer une instruction C. { } tout ce qui est entre est un seul et même bloc. main() il doit y avoir une fonction nommée main qui définit un bloc. /* Exemple de syntaxes ... */ #include « io.h » main() { int li; // variable locale li=0xf52c; }

Les opérateurs: Opérateurs. Rappel: = est une affectation donc i=i+1; au final incrémente i, i+=1; fait de même. a= i--; et a= --i; décrémentent au final i; mais si i valait 7, le premier charge 7 dans a, le deuxième 6. Les bases: 0x5a hexa, 0b10010001 binaire.

Les types de données (simples): Le C traite des bits, octets, mots, double mots, virgule flottante. Les noms sont bit, char, short, long et float. Un type spécial int est souvent synonyme de short. Par défaut toutes les nombres sont signées (signed), les entiers peuvent-être non-signés (unsigned). On peut passer d'un type à un autre par un cast, si cela à un sens... unsigned int i; unsigned char c=0xa5; i = (unsigned int) c; // c est converti en unsigned int --> i=0x00a5

Les types de données (complexes): Les tableaux : données de même type, accès par indexation . Les structures: permet de grouper des variables de types différents. Les unions : permet plusieurs interprétations d'une même zone mémoire. Bien définir les variables décrivant la fonction tout en collant au matériel est la base de la programmation ... la moitie du travail est là!