Introduction au langage C Introduction Ø Le langage C est développé dans les a

Introduction au langage C Introduction Ø Le langage C est développé dans les années 1970 par par Dennis Ritchie et Brian Kernighan aux laboratoires Bell d’AT &T. Ø Le C est un langage multi plate‐forme : Windows, Mac, Linux, nombreux micro‐processeurs Ø C’est un langage relativement simple à apprendre et à mettre en œuvre. Il reste la référence en matière de programmation. Ø C est un langage compilé (par opposition aux langages interprétés). Ø Cela signifie qu’un programme C est d´écrit par un fichier texte, appelé fichier source non exécutable par le microprocesseur il faut le traduire en langage machine Ø Cette opération est effectuée par un programme appelé compilateur. Introduction Création d'un programme Ø Edition du programme : écriture du programme source sous un éditeur de texte soit quelconque, soit spécialisé (l'éditeur généralement associé à l'environnement C utilisé) création d'un ou de plusieurs fichiers source avec une extension ".c". Ø Compilation du programme : traduction du programme source en langage machine ou code objet interprété par le processeur. Cette compilation s'effectue en deux étapes : Ø Le préprocesseur : le fichier source est analysé par le préprocesseur qui examine toutes les lignes commençant par le caractère # et réalise des manipulations sur le code source du programme (remplacement de texte, inclusion de fichiers, compilation conditionnelle). Création d'un programme Edition des liens : cette étape est effectuée par le linkeur qui réalise les liens entre différents programmes objets pour obtenir un programme exécutable. Ø La compilation : cette étape est effectuée par le compilateur qui réalise en fait une vérification syntaxique du code source et s'il n'y a pas d'erreur, il crée un fichier avec une extension ".obj". Le fichier objet est incomplet pour être exécuter car il contient par exemple des appels de fonctions ou des références à des variables qui ne sont pas définies dans le même fichier. Un exemple de programme en langage C #include <stdio.h>! #include <math.h>! #define NFOIS 5! ! // mon premier programme! /* main function: must return an integer */! ! ! int main()! {! printf("Hello world !\n"); ! /* print on the screen */! ! return 0; /* return value */! }! Voici un exemple de programme en langage C, Direc'ves pour le préprocesseur Commentaires en ligne avec // Commentaires en ligne avec /* */ Corps du programme principal Généralités. Ø ils sont inclus avec la commande #include (ex : #include <stdio.h> Ø Les fichiers .h inclus au début sont les headers Ø Ils permettent d’utiliser des fonctions déjà programmées (ex : printf ) v Fichiers Headers. Ø C’est le point d’entrée de tout programme C Ø Quand un fichier est exécuté, le point de départ est la fonction main Ø A partir de cette fonction, le programme se déroule selon les choix du programmeur Ø Il peut y avoir d’autres fonctions appelée dans le main Ø Tout programme C doit avoir une et une seule fonction main v La fonction main. Généralités. Ø Les commentaires sont ignorés par le compilateur Ø Les commentaires s’écrivent entre : /* */ /* commentaire */ Ø On peut aussi utiliser les commentaires C++ : // // commentaire v Les commentaires. Ø se déclare juste après les incude Ø par convention, les macros ont un nom majuscule. v définition de macros : #define. Principales caractéristiques Ø Programmation modulaire multi-fichiers : un ensemble de programmes déjà mis au point pourra être réuni pour constituer une librairie. Ø Langage déclaratif c'est-à-dire que tout objet (variables, fonctions) doit être déclaré avant d'être utilisé. Ø Langage transportable c'est-à-dire séparation entre ce qui est algorithmique (déclarations, instructions) et tout ce qui est en interaction avec le système (allocation mémoire, entrées- sorties). Ø Jeu d'opérateurs très riche. Ø Faible contrôle des types de données. Eléments de base : Variables Ø Variables Ø Déclaration <type> <identificateur> Une variable est un emplacement de la mémoire dans lequel est stockée une valeur. Chaque variable porte une nom et c'est ce nom qui sert a identifié l'emplacement de la mémoire représente par cette variable. Le langage C est un langage déclaratif, toutes les variables doivent être déclarées avant utilisation. La déclaration se fait à l'aide de 2 paramètres : #include<stdio.h> int main ( ) { int variable1 , variable2 ; int variable3 , variable4; return 0 ; } Exemple de déclaration d’une variable en C l’exemple ci dessous est basées sur les variables de type numérique entier. Le type qui y correspond, en C, est int . Eléments de base : Variables Ø Identificateur Un identificateur est un nom donné aux diverses objets d'un programme • Il est formé de lettres et de chiffres. Le 1er caractère doit obligatoirement être une lettre ou bien le caractère ( _ ). • Il peut contenir jusqu'à 31 caractères minuscules et majuscules mais pas de caractères accentués • Il y a un certain nombre de noms de variables réservés. Leur fonction est prévue par la syntaxe du langage C et ils ne peuvent pas être utilisés dans un autre but. Eléments de base : Identificateur auto extern sizeof break float static case for struct char goto switch const if typedef continue int union default long unsigned do register void double return volatile else short while enum signed Ø Mots réservés (mots-clés) Eléments de base : Mots réservés Eléments de base : les types de base Le langage C contient des types de base qui sont les entiers, les réels simple et double précision et les caractères que l'on identifie à l'aide des mots-clés int, float, double et char respectivement. Il existe aussi un type ensemble vide : le type void. Les mots-clés short et long permettent d'influer sur la taille mémoire des entiers et des réels. Syntaxe Type Taille mémoire char caractere 1 Short int entier court 2 int entier par defaut 4 Long int entier long 8 float reel simple precision 4 double reel double precision 8 Long double reel precision etendue 10 Eléments de base : les types de base Ø La taille d'un entier par défaut est soit 2 soit 4 octets (dépend de la machine). 4 octets est la taille la plus courante. Ø La taille d'un entier court est en général 2 octets et celle d'un entier long 4 octets. Ø La taille d'un entier court est inferieure ou égale a la taille d'un entier par défaut qui est elle-même inferieure ou égale a celle d'un entier long. Ø Les types short int et long int peuvent être abrégés en short et long. Ø Le type char occupe un octet. Un caractère est considère comme un entier qu'on pourra donc utiliser dans une expression arithmétique. Eléments de base : les types de base Ø Les deux mots-clés unsigned et signed peuvent s'appliquer aux types caractère et entier pour indiquer si le bit de poids fort doit être considère ou non comme un bit de signe. Ø Les entiers sont signes par défaut, tandis que les caractères peuvent l’être ou pas suivant le compilateur utilise. Eléments de base : les types de base Ø Une déclaration telle que unsigned char permettra de designer une quantité comprise entre 0 et 255, tandis que signed char désignera une quantité comprise entre -128 et +127. Ø De même unsigned long permettra de designer une quantité comprise entre 0 et 232-1, et long une quantité comprise entre -231 et 231-1. Déclaration des objets (constantes et variables) Ø Constante: Une constante est une valeur portant un nom, contrairement aux variables, elles ne sont pas modifiables. Les constantes en C sont non typées, on les définit dans l'entête de la source, juste en dessous des #include. #define <NOM CONSTANTE> <valeur Constante> La syntaxe est #define N 50 Exemple : définit une constante N qui a la valeur 50 Déclaration des objets (constantes et variables) Il est aussi possible de déclarer que la valeur d’une variable ne doit pas changer lors de l’exécution du programme. const int n = 20 ; Par exemple, avec : Déclaration des objets (constantes et variables) Ø Les constantes chaînes de caractères • Une constante chaînes de caractères est une suite de caractères entourée du signe ". • Toutes les notations de caractères (normale, octale, hexadécimale) sont utilisables dans les chaînes de caractères. Exemple : "Bonjour" Déclaration des objets (constantes et variables) Ø Les énumérations Les énumérations sont des types définissant un ensemble de constantes qui portent un nom que l'on appelle enumérateur. Elles servent a rajouter du sens a de simples numéros, a définir des variables qui ne peuvent prendre leur valeur que dans un ensemble ni de valeurs possibles identifiées par un nom symbolique. Syntaxe enum { liste des identificateurs }. enum {LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE}; Exemple : Déclaration des objets (constantes et variables) Ø Les énumérations Les constantes figurant dans les énumérations ont une valeur entière affectée de façon automatique par le compilateur en partant de 0 par défaut et avec une progression de 1. définit les identificateurs LUNDI, ... DIMANCHE comme étant des constantes de type int, et leur donne uploads/s3/ langage-c1-copie.pdf

  • 52
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager