GBEDEVI A. YVETTE 1 ALGORITHMIQUE ESGIS, Licence 2 IRT Année académique 2020-20
GBEDEVI A. YVETTE 1 ALGORITHMIQUE ESGIS, Licence 2 IRT Année académique 2020-2021 Chapitre 2 : Les bases du Langage C 1.1. Les bases du langage C En 1970, Dennis RITCHIE a créé le langage C, un langage de haut niveau, pour écrire le système d'exploitation Unix. La conception de ce langage a été régie par les pré requis suivants : • la souplesse • la fiabilité • la portabilité • les possibilités de l'assembleur 1.1.1. Structure d’un programme 1.1.1.1. Un premier programme en c Exemple : Ce programme affiche le message bonjour main() indique qu’il s’agit du programme principal. {et} jouent le rôle de début et fin de programme. printf est l’instruction d’affichage à l’écran, le message étant entre guillemets. ; indique la fin d’une instruction. Remarque : Une représentation claire et aérée du programme, avec indentation sensée, améliore la lisibilité. Elle est vivement conseillée. main() { printf(“bonjour “); } GBEDEVI A. YVETTE 2 ALGORITHMIQUE ESGIS, Licence 2 IRT Année académique 2020-2021 1.1.1.2. Structure Générale d’un programme en C Un programme en C se présente en général sous la forme suivante Remarque : Un programme en C doit contenir au moins le programme principal (la partie main). Nous nous intéressons dans cette partie aux directives de compilation et différents éléments de base composant le corps du programme. 1.1.2. Les directives de compilation Nous en citions les directives include et define Exemples : Directives de compilation <Directives de compilation> <Déclaration de variables externes> <Déclaration de prototypes de fonctions> main() { Corps du programme (commentaires, déclaration de variables et constantes, instructions) } <Définition de fonctions> Syntaxe : #include <nom_fichier> Indique le fichier de bibliothèque C à inclure dans le programme. Ce fichier contient les définitions de certaines fonctions prédéfinies utilisées dans le programme. Syntaxe : #define expression_à_remplacer expression_de_remplacement Permet de remplacer un symbole par une constante ou un type ou de faire des substitutions avec arguments dans le cas des macros. #include<stdio.h> /*ce fichier contient les fonctions d’entrées/sorties comme printf*/ #define pi 3.14 /*pi sera remplacé par la valeur 3.14*/ #define entier int /*entier sera remplacé par le type prédéfini int*/ #define somme(x,y)x+y /*la macro somme(x,y) sera remplacée par x+y*/ GBEDEVI A. YVETTE 3 ALGORITHMIQUE ESGIS, Licence 2 IRT Année académique 2020-2021 1.1.3. Les commentaires Un commentaire est un texte placé entre les signes /* et */. Il permet de commenter une ou plusieurs lignes de commandes en vue d'éclairer le lecteur. Exemple : Commentaires 1.1.4. Les variables et les constantes 1.1.4.1. Déclaration de variables A toute variable utilisée dans un programme C doivent être associés d'abord (avant toute utilisation) un nom dit identificateur et un type de données (entier, réel ou caractère...). Lors de l'exécution, une zone mémoire (dont la taille dépend du type) sera réservée pour contenir la variable. Exemples : Déclarations de variables a. Identificateurs L'emploi des identificateurs doit répondre à un certain nombre d'exigences : • un identificateur doit être composé indifféremment de lettres et chiffres ainsi que du caractère de soulignement ( _ ) qui peut remplacer des espaces. Syntaxe : /* texte du commentaire* / main() { printf(‘’ bonjour’’) ; /*ce programme affiche bonjour*/ } Syntaxe : Type identificateur ; Ou Type identificateur1,identificateur2,...,identificateur n ; int i; /* i est une variable de type entier */ float j,k; /* j et k sont des variables de type réel */ char c; /* c est une variable de type caractère */ GBEDEVI A. YVETTE 4 ALGORITHMIQUE ESGIS, Licence 2 IRT Année académique 2020-2021 • Un identificateur doit commencer par une lettre ou le caractère de soulignement. Néanmoins, celui-ci est souvent utilisé pour désigner des variables du système. • Seuls les 32 premiers caractères (parfois, uniquement les 8 premiers) sont significatifs (pris en compte par le compilateur). • Majuscules et minuscules donnent lieu à des identificateurs différents. • Un identificateur ne doit pas être un mot réservé (utilisé dans le langage C comme int, char, ... ). Exemples : Identificateurs b. Types de données Un type est un ensemble de valeurs que peut prendre une variable. Il y a des types prédéfinis et des types qui peuvent être définis par le programmeur. Type Signification Représentation système Taille (bits) Valeurs limites int Entier 16 32768 à 32767 short (ou short int) Entier 16 -32768 à 32767 long (ou long int) Entier en double longueur 32 -2147483647 à 2147483647 char Caractère 8 float (ou short float) Réel 32 ± 10-37 à ± 1038 double (ou long float) Réel en double précision 64 ± 10-307 à ± 10308 long double Réel en très grande précision 80 ± 10-4932 à ± 104932 unsigned Non signé (positif) 16 0 à 65535 Remarques: • int équivaut à short sur PC et à long sur station. • La fonction sizeof retourne la taille en octets d'un objet. Exemples : n=sizeof(int); /* n reçoit 2 */ n=sizeof(3.14); /* n reçoit 8 */ solution1 est un identificateur valide (constitué de lettres et de 1) 1solution n’est pas un identificateur valide prix unitaire n’est pas un identificateur valide prix_unitaire est un identificateur valide jour,Jour, JOUR sont 3 identificateurs différents int n’est pas un identificateur valide. C’est un mot utilisé en C GBEDEVI A. YVETTE 5 ALGORITHMIQUE ESGIS, Licence 2 IRT Année académique 2020-2021 c. Fonctions prédéfinies sur les types simples Des fonctions appliquées au différents types de données sont prédéfinies dans des fichiers de bibliothèque C. Ë Fonctions mathématiques Exemples : Exemples de fonctions mathématiques Ë Fonctions sur les caractères Math.h Ce fichier contient des fonctions mathématiques pouvant être appliquées aux types numériques. #include<math.h> /*pour inclure le fichier math.h*/ main() { int p,i=4,j=-2; /* p entier et i et j entiers initialisés à 4 et -2 */ float r; /* r réel */ p=pow(i,2); /* p reçoit 16 (4 à la puissance 2) */ r=sqrt(i); /* r reçoit 2 ( racine carrée de 4) */ i=abs(j); /* i reçoit 2 (valeur absolue de -2) */ } ctype.h Ce fichier contient les définitions des fonctions pouvant être appliquée à des caractères. Ces fonctions permettent de vérifier si un caractère appartient à une catégorie donnée. Elles retournent 0 si faux et une valeur différente si vrai. GBEDEVI A. YVETTE 6 ALGORITHMIQUE ESGIS, Licence 2 IRT Année académique 2020-2021 Listes des fonctions sur les caractères Fonction Signification isalpha (c) c est une lettre Isupper (c) c est une lettre majuscule islower (c) c est une lettre minuscule isdigit(c) c est un chiffre isxdigit(c) c est hexadécimal[0-9],[A-F] ou [a-f] isalnum(c) c est alphanumérique (chiffre ou lettre) isspace(c) c est un blanc, tabulation, retour chariot, newline ou formfeed ispunct(c) c est un caractère de ponctuation isprint(c) c est un caractère imprimable (de 32 (040) à 126 (0176) tilde) isgraph(c) c est un imprimable différent d’espace iscntrl(c) c est un caractère de contrôle différent d’espace et (<32) ou delete(0177) isascii(c) c est un caractère ASCII (0≤c<128) 1.1.4.2. Déclaration de constantes Une constante est une donnée dont la valeur ne varie pas lors de l'exécution du programme. Elle doit être déclarée sous forme : Remarque : Une valeur constante peut, également, être exprimée au moyen d’un identificateur défini en utilisant la directive define: #define Identificateur valeur Syntaxe : Const Type Identificateur = valeur ; GBEDEVI A. YVETTE 7 ALGORITHMIQUE ESGIS, Licence 2 IRT Année académique 2020-2021 Exemples : Déclaration de constantes 1.1.4.3. Initialisation de variables Une valeur initiale peut être affectée à une variable dès la déclaration sous forme : Exemples : Initialisation de variable #include<math.h> /*pour inclure le fichier math.h*/ 1- main() { const float pi=3.14; /* déclare la constante pi avec const */ printf(‘’pi égale à %f ‘’, pi) ; /* affiche la valeur de pi */ } 2- #define pi 3.14 /* définit la constante pi avec define */ { printf(‘’ pi égale à %f’’’,pi) ; /* affiche la valeur de pi */ } Syntaxe : a) Cas de types numériques : Type Identificateur = valeur numérique ; b) Cas du type caractère Type Identificateur = valeur numérique ; Ou Type Identificateur = code ASCII d’un caractère ; main() { int i,j=3,k; /* seul j est initialisé à 3 */ float f=1.2 e5; /* f est initialisé à 120000 (1.2*105) */ int i=011 ; /* i est initialisé à 11 en octal soit 9 en décimal */ char c=’A’; /* c est initialisé à la lettre A */ char c=65; /* c est initialisé à la lettre A dont le code ASCII est 65 */ } GBEDEVI A. YVETTE 8 ALGORITHMIQUE ESGIS, Licence 2 IRT Année académique 2020-2021 Remarque : • Des caractères spéciaux sont représentés à l’aide du métacaractère \. Exemples : Initialisation des variables Liste de caractères spéciaux Représentation Signification \0 Caractère NULL \a Bip (signal sonore) \b Espace arrière \t Tabulation \n Nouvelle ligne \f Nouvelle page \r Retour chariot \" Guillemet \' Apostrophe \\ Antislash \ddd Caractère ayant pour valeur ASCII octale ddd \x hhh Caractère ayant pour valeur ASCII hexadécimale ddd 1.1.5. L’affectation (ASSIGNATION) L'affectation est l'opération qui attribue à une variable, au moyen de l'opérateur =, une valeur constante ou résultat d'une expression. main() { Char uploads/s3/ chapitre-2algorithmique.pdf
Documents similaires










-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 13, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 1.2937MB