Document ressource sur le langage C

Documents pareils
Structure d un programme et Compilation Notions de classe et d objet Syntaxe

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Introduction au langage C

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Java Licence Professionnelle CISII,

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java


INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Rappels Entrées -Sorties

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Cours d Algorithmique et de Langage C v 3.0

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Programmer en JAVA. par Tama

Notions fondamentales du langage C# Version 1.0

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Programmation en langage C

Algorithmique et Programmation, IMA

Plan du cours. Historique du langage Nouveautés de Java 7

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Les structures de données. Rajae El Ouazzani

UE C avancé cours 1: introduction et révisions

as Architecture des Systèmes d Information

Claude Delannoy. 3 e édition C++

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Représentation d un entier en base b

Programmation C++ (débutant)/instructions for, while et do...while

Langage Éric Guérin 5 octobre 2010

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Le langage C. Introduction, guide de reference

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Programmation en Java IUT GEII (MC-II1) 1

TD3: tableaux avancées, première classe et chaînes

Analyse de sécurité de logiciels système par typage statique

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

SUPPORT DE COURS. Langage C

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Java Licence Professionnelle CISII,

INF 321 : mémento de la syntaxe de Java

Présentation du langage et premières fonctions

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Programmation Classique en langage C

V- Manipulations de nombres en binaire

Programmation C. J.-F. Lalande. 15 novembre 2012

La programmation des PIC en C. Les fonctions, les interruptions.

Introduction au Langage de Programmation C

Cours d initiation à la programmation en C++ Johann Cuenin

TP 1. Prise en main du langage Python

Programme Compte bancaire (code)

Principes des langages de programmation INF 321. Eric Goubault

Recherche dans un tableau

Le Langage C Licence Professionnelle Qualité Logiciel Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2011/2012

STAGE IREM 0- Premiers pas en Python

BTS IRIS Cours et Travaux Pratiques. Programmation C. A. Lebret, TSIRIS, Lycée Diderot, 1995/06. en conformité avec le référentiel du BTS IRIS

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Le prototype de la fonction main()

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon

1.6- Génération de nombres aléatoires

Introduction à l algorithmique et à la programmation M1102 CM n 3

Les structures. Chapitre 3

PROGRAMMER EN MQL4. Apprenez à automatiser vos stratégies sur MetaTrader 4

INITIATION AU LANGAGE JAVA

Programmation système I Les entrées/sorties

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Initiation. àl algorithmique et à la programmation. en C

Algorithmique, Structures de données et langage C

ALGORITHMIQUE ET PROGRAMMATION En C

Méthodes de programmation systèmes UE n NSY103. Notes de cours. Nombre d'heures : 55h (~ cours de 3 heures)

Cours Programmation Système

Cours de programmation avancée. Le langage C. Université du Luxembourg

INITIATION A LA PROGRAMMATION

Chapitre 10. Les interfaces Comparable et Comparator 1

Généralités sur le Langage Java et éléments syntaxiques.

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

Informatique Générale

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Conventions d écriture et outils de mise au point

I. Introduction aux fonctions : les fonctions standards

Organigramme / Algorigramme Dossier élève 1 SI

Les classes en Python

Solutions du chapitre 4

Bases de programmation. Cours 5. Structurer les données

ACTIVITÉ DE PROGRAMMATION

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Initiation à l algorithmique

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

TP : Gestion d une image au format PGM

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Programmation système de commandes en C

Transcription:

I Généralités Document ressource sur le langage C Le langage C appliqué aux microcontrôleurs permet de bénéficier d un langage universel et portable pratiquement indépendant du type de microcontrôleur utilisé. Ceci permet d éviter : -les tâches d écritures en langage assembleur, -la connaissance de plusieurs langages assembleur dépendant du microcontrôleur utilisé. II Structure d un programme en langage C La structure d un programme en C est la suivante : // inclusion de fichiers permettant d utiliser des fonctions (sous programmes) déjà // créés ou des équivalences correspondant au microcontrôleur utilisé. // la syntaxe utilisée est le suivante : #include #include <fichier1.h> <microntrôleur.h> // déclarations d équivalences sur des constantes // la syntaxe utilisée est la suivante : #define const1=0x00 // déclarations des variables sous différents formats (8 bits, 16 bits ou 32 bits) // pour la syntaxe : voir le paragraphe sur la déclaration des variables. char int float val1; val2; val3 // déclarations de toutes les fonctions (sous-programme) utilisées // le détail des fonctions se trouve après le programme principal void fonction1(void) ; void fonction2(void) ; // programme principal void main(void) // détail des fonctions déclarées précédemment void fonction1(void) void fonction2(void) G BERTHOME Page 1/7

III Les variables Les différents types de variables utilisées en C sont les suivantes : Syntaxe Définition Taille Plage de variation char signée de type caractère ASCII pouvant être utilisée comme un nombre entier signé 8 bits -128 à 127 unsigned char non signée de type caractère ASCII pouvant être utilisée comme une nombre entier non 8 bits 0 à 255 signé int signée de type nombre entier 16 bits -32768 à 32767 unsigned int non signée de type nombre entier 16 bits 0 à 65535 float de type nombre réel 32 bits +/- 3,4 10-38 à 3,4 10 38 IV Les opérateurs Toutes les opérations réalisées se finissent par ; Exemple : Z=X+Y ; IV.1 Les opérateurs arithmétiques Ces opérateurs permettent d effectuer les opérations arithmétiques traditionnelle : addition, soustraction, multiplication et division entière entre des variables. Opérateur Fonction + Addition - Soustraction * Multiplication / Division entière % Reste de la division entière IV.2 Les opérateurs d affectation Ces opérateurs permettent d affecter à une variable une valeur, certains de ces opérateurs permettent d affecter et de réaliser une opération arithmétique en même temps. Opérateur Fonction Ecriture Equivalence = Affectation ordinaire X=Y X=Y += Affectation d une addition X+=Y X=X+Y -= Affectation d une soustraction X-=Y X=X-Y *= Affectation d une multiplication X*=Y X=X*Y /= Affectation d une division entière X/=Y X=X/Y %= Affectation du reste de la division entière X%=Y X=X%Y -- Décrémentation de 1 X-- X=X-1 ++ Incrémentation de 1 X++ X=X+1 G BERTHOME Page 2/7

IV.3 Les opérateurs logiques bit à bit Ces opérateurs agissent sur des mots binaires. Ils effectuent entre deux mots une opération logique sur les bits de même rang. Opérateur Fonction Notation & ET Z=X&Y OU Z=X Y ^ OU exclusif Z=X^Y ~ Z=~Y >> Décalage à droite des bits Z=X>>4 (Z prend la valeur de X après le décalage à droite de 4 bits) << Décalage à gauche des bits Z=X<<4 (Z prend la valeur de X après le décalage à gauche de 4 bits) IV.4 Les opérateurs de tests conditionnels Ces opérateurs s adressent uniquement aux opérations de test conditionnel. Le résultat de ces tests est binaire : vrai(=«1») ou faux(= «0»). Les opérateurs logiques : Opérateur Fonction && ET logique OU logique! logique Les opérateurs de comparaison : Ces opérateurs renvoient la valeur «0» si la condition vérifiée est fausse, et «1» si la condition vérifiée est vraie. Opérateur Fonction == Egal à!= Différent de > Supérieur à < Inférieur à >= Supérieur ou égal à <= Inférieur ou égal à G BERTHOME Page 3/7

V Les structures du langage C V.1 Les structures répétitives (ou itératives) V.1.1 Structure «while» : tant que faire while (condition) Dans cette structure, la condition est testée au début. V.1.2 Structure «do while» : faire tant que do while (condition) ; Dans cette structure, la condition est testée à la fin. G BERTHOME Page 4/7

V.1.3 Structure «for» : pourfairejusqu à for(traitement d init1, traitement d init2, ; condition ; traitement de fin1, traitement de fin2,) Cette structure se déroule en quatres parties : -traitement d initialisation, -test de la condition, -traitement, -traitement de fin. d init1 d init2.. de fin1 de fin2.. V.2 Les structures conditionnelles (ou alternatives) Ces structures permettent d exécuter des séquences différentes en fonction d une condition. V.2.1 Structure «if» : sifaire if(condition) On exécute le traitement uniquement si la condition est réalisée. V.2.2 Structure «ifelse» : si fairesinon faire if(condition) else traitement2 ; 1 2 G BERTHOME Page 5/7

V.2.3 Structure de choix «switchcase» switch(variable) case valeur1 : traitement1 ; ; case valeur2 : traitement2 ; ; case valeur3 : traitement3 ; default : traitement4 ; Permet d exécuter des traitements différents en fonction de la valeur d une variable. = valeur1 1 = valeur2 2 = valeur3 3 valeur1,2 et 3 4 G BERTHOME Page 6/7

VI La fonction principale d un programme C (programme principal) La syntaxe pour déclarer la fonction principale d un rpogramme C (programme principal) est la suivante : void main(void) VI Les fonctions (sous programmes) Afin de réduire la taille de la fonction principale de programme C il est souvent préférable de définir sous forme de fonctions une même suite d instructions appelées plus d une fois dans le programme principal. Les fonctions du langage C peuvent renvoyer des valeurs de même qu elles peuvent prendre en compte des arguments provenant de la procédure d appel. S il n y pas de renvoi ou aucun argument, on saisit le mot clé «void» en remplacement. Exemple : //déclaration de la fonction void fonction1(void) //utilisation de la fonction fonction1() ; La valeur renvoyée est définie après le mot clé «return». Lorsque l on veut, dans une fonction, modifier une variable passée en argument il est obligatoire d utiliser un pointeur. Ce document a été réalisé à partir de deux cours : -«Le langage C adapté aux microcontrôleur» de Jean Luc PADIOLLEAU, -«Introduction au langage C» de Philippe LETENNEUR et Philippe LECARDONNEL. G BERTHOME Page 7/7