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.
Rappels C.
Introduction au langage C
Algorithmique Résume.
GEF 243B Programmation informatique appliquée Expressions et opérateurs §
GEF 243B Programmation informatique appliquée Expressions et opérateurs.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes.
GEF 243B Programmation informatique appliquée Expressions de type mixte et blocs §
C.
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
Structures et unions types énumérés Qu'est-ce qu'une structure
Introduction : Compilation et Traduction
8. Les tableaux P. Costamagna – ISEN N1.
Langage de Programmation: I - Le Langage C -
Les bases de l’Algorithmique
Points importants de la semaine Les types arithmétiques. Les opérateurs.
Partie 1 Etude de l'existant
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Le codage des nombres en informatique
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.
Algorithmique et Programmation
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.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Principes de programmation
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.
8PRO100 Éléments de programmation Les types composés.
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.
Types de données fondamentaux
L’essentiel du langage C
2.1 - Historique Chapitre 2 : Introduction au langage C++
ALGORITHMIQUE ET PROGRAMMATION C
Un survol du language C.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
REPRESENTATION DE L’INFORMATION
Module I3 algorithmique et programmation
Introduction au langage C Fonctions et Procédures
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
B.Shishedjiev - Affectation1 Expressions et affectation Comment produire des nouvelles valeurs.
Introduction au langage C Les entrées-sorties
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Introduction à la programmation (420-PK2-SL) cours 1
Module algorithmique et programmation
Codage de l’information
Introduction au langage C Structures de données
8PRO107 Éléments de programmation Les adresses et les pointeurs.
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.
Cours d’initiation en Informatique
Scripts et fonctions Instructions de contrôle
PRO-1027 Programmation Scientifique en C
Chapitre 4 La représentation des nombres.
©Pierre Marchand, Unité 2: Représentation interne des informations Objectifs: À la fin de cette unité, -vous saurez comment les caractères et les.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Le codage des nombres en informatique
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
Transcription de la présentation:

Introduction au langage C 1ère année Génie Informatique Dr Daouda Traoré Université de Ségou email: daoudatr2008@gmail.com

Introduction au langage C Objectifs: L’objectif est d’initier les étudiants à la programmation à travers l’utilisation du langage C

Introduction au langage C Exemple de programme en C: #include <stdio.h> int main() { int tab[5]; int i; for(i=0; i <5; i++) { tab[i] = (i+1); } for(i=1; i <5; i++) { tab[i] = tab[i]+tab[i-1]; for(i=0; i < 5; i++) { printf("tab[%d] = %d\n" , i, tab[i]); return 0;

Introduction au langage C Etapes de création d’un programme C Edition d’un fichier source (avec comme extension .c) à l’aide d’un éditeur de programme. Cette phase s’appelle édition de programme. Traduire le programme source (proc.c) en langage machine (binaire) qui aura pour extension .o (proc.o). Cette s’appelle compilation Liaison des fichiers objets (.o) qui peuvent être des fichiers de la bibliothèque standard, des fichiers utilisateurs implémentant des fonctions utilisées dans proc.o. Cette pahase s’appelle édition de liens. Création de l’exécutable du programme. C’est l’exécutable permet de lancer le programme.

Notion de type Définition Utilité des types Un type est un ensemble nommé de valeurs, muni d’opérations sur ces valeurs. Exemple : Type Entier (ensemble de tous les entiers relatifs); les opérations sur le type entier sont : addition, soustraction, multiplication, division, comparaison,…. Type Personne (ensemble de toutes les personnes). Les opérations peuvent être : sexe, âge, taille, nom, prénom, … Utilité des types Vérification du programme On s’assure dès la compilation que les bonnes opérations sont exécutées sur les bons types Contre-exemple : application de la fonction racine carrée sur une personne Lisibilité du programme : le type de toutes les variables est connu Une variable est un nom associé à un contenu stocké en mémoire. Représentation des valeurs en machine Le type indique la place en mémoire à réserver pour la variable La mémoire centrale est un ensemble de « positions binaires » nommées bits. Les bits sont regroupés en octets (8 bits), et chaque octet est repéré par ce qu’on nomme son adresse.

Notion de type Signification 77 Add M Mauve Entier positif Un type permet d’attribuer une signification à un code binaire 01001101 Il n’est pas possible d’attribuer une signification à une information binaire tant que l’on ne connaît pas la manière dont elle a été codée. Par exemple pour additionner deux informations, il faudra savoir quel codage a été employé afin de pouvoir mettre en œuvre les « bonnes » instructions (en langage machine) 77 Entier positif M Caractère en ASCII Mauve Couleur parmi 256 Add Instruction machine

Les types primitifs en C Les types primitifs sont définis dans le langage, ils correspondent aux informations élémentaires (entier, caractère, réel, boolean…) Les autres types sont construits par le programmeur en fonction des besoins (Complexe, Personne, Voiture, …) ou fournit par le langage (bibliothèque) Les types primitifs en C se répartissent en trois grandes catégories en fonction de la nature des informations qu’ils permettent de représenter : Nombres entiers (mot clé int) Nombres flottants (mot clé float ou double) Caractère (mot clé char)

Les types entiers en C Le mot clé int représente les nombres entiers relatifs. Un bit est réservé pour représenter le signe du nombre (0 pour un nombre positif et 1 pour un nombre négatif) Les différents types d’entiers short int (short) int long int (long) unsigned short int (unsigned short) unsigned int unsigned long int (long) C prévoit que, sur une machine donnée, on puisse trouver jusqu’à trois « tailles » différentes d’entiers. Chaque taille impose naturellement ses limites. Toutefois, ces dernières dépendent, non seulement du mot clé considéré, mais également de la machine utilisée : tous les int n’ont pas la même taille sur toutes les machines!

Les types flottant en C Le mot clé float ou double représente de manière approchée, une partie des nombres réels. Les différents types flottant float double Long double

Les types caractères en C Le mot clé char représente les caractères en C. En général le caractère est codé en mémoire sur un octet L’ensemble des caractères représentables, dépend de l’environnement de programmation utilisé (la machine ou le compilateur utilisé) On dispose des lettres majuscules et minuscules, des chiffres, des signes de ponctuation et des différents séparateurs.

Les constantes Le mot constantes sont des données dont la valeur ne peut être modifiée. Elles sont généralement définies en début de programme. La valeur que la constante contient peut être de tout type, suivant ce que le langage autorise. Exemple en C : Des constantes entières : 48, -25 Des constantes float : 12.43, -0.38 Des constantes doube : 4.25E+4 Les constantes char : ‘a’, ‘r’, ‘+’, ‘$’ Le caractère de saut de ligne \n Le caractère de tabulation \t Quote ou apostrophe Antislash en anglais back-slash, en françait barre inverse ou contre slash

Déclaration d’une variable Pour déclarer une variable en langage C, il faut d’abord préciser le type de la variable, suivi du nom de la variable puis d’un point virgule. La syntaxe d’une déclaration de variable est la suivante : type_variable Nom_variable; Il est possible de déclarer une variable en lui donnant une valeur initiale. type_variale Nom_variable = Valeur_Initiale; Il est possible de déclarer plusieurs variables sur une même ligne type_variale variable1, variable2, ….variableN; Quote ou apostrophe Antislash en anglais back-slash, en françait barre inverse ou contre slash

Initialisation et constantes La directive #define permet de donner une valeur à un symbole : #define a 10 Il est possible d’initialiser une variable lors de sa déclaration comme : int a = 10; Il est possible de déclarer que la valeur d’une variable ne doit pas changer lors de l’exécution du programme. Par exemple : const int x = 20;

Les instructions Définition Instruction : c’est l’élément clé du programme informatique car elle permet de spécifier au processeur l’action à effectuer. Une instruction est généralement composée de deux éléments : L’opérateur : l’action à effectuer par le processeur Le ou les opérandes : une ou plusieurs données sur lesquelles l’opération sera effectuée. Les instructions sont généralement séparées les unes des autres par des séparateurs dépendant du langage de programmation utilisé. La plus part du temps, il s’agit d’un point-virgule. En langage C, une instruction sera notée comme suit : instruction; Il est possible de regrouper plusieurs instructions, dans ce que l’on appelle bloc. Il s’ agit d’un ensemble d’instructions (suivies respectivement par des séparateurs) et la plus part du temps comprises entre les accolades { et }. Un programme est constitué d’une suite d’instructions que la machine doit exécuter. Celle-ci exécute les instructions au fur et à mesure qu’elle lit le fichier (donc de haut en bas) jusqu’à ce qu’elle en rencontre une (appelée parfois instruction de branchement) qui lui indique de se rendre à un endroit précis du programme. Il s’agit donc d’une sorte de jeu de piste dans lequel la machine doit suivre le fil conducteur et exécute les instructions qu’elle rencontre jusqu’à ce qu’elle arrive à la fin du programme et que celui-ci s’arrête.

Les opérateurs Les opérateurs sont des symboles qui permettent de manipuler des variables, c’est-à-dire d’effectuer des opérations, de les évaluer, etc. On distingue généralement deux ou trois types d’opérateurs : Les opérateurs unaires : ce sont des opérateurs qui n’admettent qu’un seule opérande. Les opérateurs binaires : ce sont des opérateurs qui admettent deux opérandes. Les opérateurs ternaires : ce sont des opérateurs qui admettent trois opérandes.

Les opérateurs Les opérateurs de calcul permettent de modifier mathématiquement la valeur d’une variable. Ils sont : + (addition), -(soustraction), *(multiplication), /(division), = (affectation), % (modulo) Les opérateurs d’affectation permettent de simplifier des opérations telles qu’ajouter une valeur dans une variable et stocker le résultat dans la variable. Il sont : += (ajoute l’opérande de gauche à l’opérande de droite et stocke le résultat dans l’opérande de gauche), -=(soustrait l’opérande de droite à l’opérande de gauche et stocke le résultat dans l’opérande de gauche), *=(multiplie l’opérande de gauche par l’opérande de droite et stocke le résultat dans l’opérande de gauche), /=(ajoute l’opérande de gauche par l’opérande de droite et stocke le résultat dans l’opérande de gauche), %=(calcule le reste de la division entière de l’opérande de gauche par l’opérande de droite et stocke le résultat dans l’opérande de gauche

Les opérateurs Les opérateurs d’incrémentation permettent de facilement augmenter ou diminuer d’une unité d’une variable. Ils sont : + +(incrémentation, augmente d’une unité la variable, --(décrémentation, diminue d’une unité la variable) Les opérateurs de comparaison permettent d’effectuer des tests de comparaison entre deux valeurs. Il sont : != (différence), !== (non identité), < (infériorité stricte), <= (infériorité), >(supériorité stricte), >= (supériorité) Les opérateurs logiques (booléens) permettent de vérifier si plusieurs conditions sont vraies. Il sont : || (OU logique, vérifie qu’une des conditions est réalisée), && (ET logique, vérifie que toutes les conditions sont réalisées), !(NON logique, inverse l’état d’une variable booléenne).

Les opérateurs Les opérateurs bit-à-bit traitent leurs opérandes comme des données binaires, plutôt que comme des données décimales, hexadécimale ou octale. Ils sont : & (Et bit-à-bit), |(OU bit-à-bit), ^(OU bit-à-bit exclusif) .

Les expressions Définition Ordre d’évaluation d’une expression Une expression est constituée de littéraux, de variables et d’opérateurs, elle renvoie une valeur. Une expression a un type que l’on peut calculer par inférence des types de ses sous-expressions. Ordre d’évaluation d’une expression Une priorité est attribué à chaque opérateur L’opérateur de priorité la plus élevée dans une expression est évalué en premier En cas d’égalité de priorité on évalue de gauche à droite Les opérateurs binaires sont associatifs à gauche On peut « forcer » la priorité en parenthésant

Priorité des opérateurs De plus prioritaire au moins prioritaire !, -(unaire) *, /, % +, - <, >, <=, >= ==, != & ^ | && || =, +=, -=, /=, *=

Conversions implicites Conversion sans perte char->int -> long -> float -> double -> long double Exemple : int x = 5; float y = 6; le résultat x+y sera de type float Conversion avec perte char <- int <- long <- float <- double <- long double Exemple: float y = 6.0; int p = y+x //le résultat x+y sera converti en int