Initiation au langage C en pdf


Télécharger Initiation au langage C en pdf

★★★★★★★★★★3 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Introduction générale au langage C 

Objectif :

  Décrire les concepts relatifs à l’écriture d’un programme en langage C.

Eléments de contenu :

 

I- Historique : 2

II- Avantages : 2

1- Universel : 2

2- Compact : 2

3- Moderne : 3

4- Près de la machine : 3

6- Portable : 3

7- Extensible : 3

III- Désavantages : 3

1- Efficience et compréhensibilité : 3

2- Limites de la portabilité : 4

3- Discipline de programmation : Les dangers de C : 4

IV- Les étapes de réalisation d’un programme C : 5

1- Activité de programmation : 5

2- Les étapes de réalisation d’un programme C : 5

3- Structure d’un programme C : 7

V- Règles générales d’écriture d’un programme C : 7

1- Les identificateurs : 7

2- Les mots-clés : 7

3- Les séparateurs : 8

4- Les commentaries : 8

I- Historique :

Dans les dernières années, aucun langage de programmation n'a pu se vanter d'une croissance en popularité comparable à celle du langage C et de son jeune frère C++. L'étonnant dans ce fait est que le langage C n'est pas un nouveau-né dans le monde informatique, mais qu'il trouve ses sources en 1972 dans les 'Bell Laboratories': Pour développer une version portable du système d'exploitation UNIX, Dennis M. Ritchie a conçu ce langage de programmation structuré, mais très 'près' de la machine.

Le succès des années qui suivaient et le développement de compilateurs C par d'autres maisons ont rendu nécessaire la définition d'un standard actualisé et plus précis. En 1983, le 'American National Standards Institute' (ANSI) chargeait une commission de mettre au point 'une définition explicite et indépendante de la machine pour le langage C', qui devrait quand même conserver l'esprit du langage. Le résultat était le standard ANSI-C.

En 1983 un groupe de développeurs de AT&T sous la direction de Bjarne Stroustrup a créé le langage C++. Le but était de développer un langage qui garderait les avantages de ANSI-C (portabilité, efficience) et qui permettrait en plus la programmation orientée objet. Depuis 1990 il existe une ébauche pour un Standard ANSI-C++. Entre-temps, AT&T a développé deux compilateurs C++ qui respectent les nouvelles déterminations de ANSI et qui sont considérés comme des quasi-standards.

II- Avantages :

Le grand succès du langage C s'explique par les avantages suivants; C est un langage :

1- Universel :

Le langage C n'est pas orienté vers un domaine d'applications spéciales, comme par exemple FORTRAN (applications scientifiques et techniques) ou COBOL (applications commerciales ou traitant de grandes quantités de données).

2- Compact :

Le langage C est basé sur un noyau de fonctions et d'opérateurs limité, qui permet la formulation d'expressions simples, mais efficaces.

3- Moderne :

Le langage C est un langage structuré, déclaratif et récursif; il offre des structures de contrôle et de déclaration comparables à celles des autres grands langages de ce temps (FORTRAN, ALGOL68, PASCAL).

4- Près de la machine :

Comme C a été développé en premier lieu pour programmer le système d'exploitation UNIX, il offre des opérateurs qui sont très proches de ceux du langage machine et des fonctions qui permettent un accès simple et direct aux fonctions internes de l'ordinateur (par .exp: la gestion de la mémoire).

6- Portable :

En respectant le standard ANSI-C, il est possible d'utiliser le même programme sur tout autre système (autre hardware, autre système d'exploitation), simplement en le recompilant.

7- Extensible :

Le langage C ne se compose pas seulement des fonctions standards ; il est enrichi par des bibliothèques de fonctions privées ou livrées par de nombreuses maisons de développement.

III- Désavantages :

Evidemment, rien n'est parfait. Jetons un petit coup d'oeil sur le revers de la médaille:

1- Efficience et compréhensibilité :

En C, nous avons la possibilité d'utiliser des expressions compactes et efficientes. D'autre part, nos programmes doivent rester compréhensibles pour nous-mêmes et pour d'autres. Comme nous allons le constater sur les exemples suivants, ces deux exigences peuvent se contredire réciproquement.


Exemple :

Les deux lignes suivantes impriment les N premiers éléments d'un tableau A[], en insérant un espace entre les éléments et en commençant une nouvelle ligne après chaque dixième chiffre:

for (i=0; i<n; i++)

printf("%6d%c", a[i], (i%10==9)?'\n':' ');

Cette notation est très pratique, mais plutôt intimidante pour un débutant. L'autre variante, plus près de la notation en Pascal, est plus lisible, mais elle ne profite pas des avantages du langage C:

for (i=0; i<n; i=i+1)

      {

         printf("%6d", A[i]);

         if ((i%10) == 9)

printf("\n");

         else

printf(" ");

        }

2- Limites de la portabilité :

La portabilité est l'un des avantages les plus importants de C: en écrivant des programmes qui respectent le standard ANSI-C, nous pouvons les utiliser sur n'importe quelle machine possédant un compilateur ANSI-C. D'autre part, le répertoire des fonctions ANSI-C est assez limité. Si un programmeur désire faire appel à une fonction spécifique de la machine (par .exp: utiliser une carte graphique spéciale), il est assisté par une foule de fonctions 'préfabriquées', mais il doit être conscient qu'il risque de perdre la portabilité. Ainsi, il devient évident que les avantages d'un programme portable doivent être payés par la restriction des moyens de programmation.

3- Discipline de programmation : Les dangers de C :

Nous voici arrivés à un point crucial: C est un langage proche de la machine, donc dangereux et bien que C soit un langage de programmation structurée, il ne nous force pas à adopter un certain style de programmation. Dans un certain sens, tout est permis et la tentation de programmer du 'code spaghetti' est grande. (même la commande 'goto', si redoutée par les puristes ne manque pas en C). Le programmeur a donc beaucoup de libertés, mais aussi des responsabilités: il doit veiller lui-même à adopter un style de programmation propre, solide et compréhensible.

IV- Les étapes de réalisation d’un programme C :

1- Activité de programmation :

L’activité de programmation pet se résumer selon le schéma suivant :

2- Les étapes de réalisation d’un programme C :

L’environnement de Turbo C appelé « environnement intégré » permet le développement complet de programmes, de leur saisie (écriture), à leur exécution en passant par leur compilation et leur édition de liens. On distingue alors quatre étapes :

Œ Ecriture de programme ou édition : Il s’agit de la phase de saisie du texte du programme, puis sa sauvegarde sous un nom d’extension « .c ». Ce fichier sera appelé code source ou fichier source (Exp : test.c).

 Compilation : Cette étape consiste à analyser syntaxiquement le programme source et à le traduire en langage machine (par le compilateur). Le fichier produit comme résultat est appelé code objet ayant pour extension « .obj » (Exp : test.obj).

Ž Edition de liens : Le code objet créé au cours de la phase de compilation, bien que constitué d’instructions en langage machine, n’est pas directement exécutable. Il lui manque pour cela un ensemble de modules objets correspondant aux fonctions appelées par le programme déjà écrit (fonctions déjà prédéfinies au niveau de la bibliothèque du langage) : C’est le rôle de l’éditeur de liens qui effectuera l’incorporation de ces modules au niveau du programme. Le résultat de l’édition de liens est le programme exécutable ayant pour extension « .exe » (Exp : test.exe).

 Exécution : C’est la phase d’appel du programme (version exécutable) par son nom pour avoir les résultats.

En résumé, on a :

Lancement du Programme

Remarque : Il est conseillé d’écrire des programmes où il y a des commentaires pour les rendre plus lisibles et plus compréhensibles.


3- Structure d’un programme C :

Un programme C est une suite de fonctions, chacune commence par « {«  et se termine par « } » et dont la fonction représentant le programme principal s’appelle « main ( ) ». La structure d’un programme C se présente comme suit :

Void main()

    {

            …         // Déclarations

            …         // Instructions



            …

    }

 fonction1(…)

    {

            …

            …

    }

V- Règles générales d’écriture d’un programme C :

1- Les identificateurs :

Ils servent à désigner les différents objets manipulés par le programme (variables, fonctions,…). C’est une suite de caractères alphanumériques commençant obligatoirement par une lettre.

Remarques :

  • Le caractère « _» est considéré comme une lettre.
  • Le langage C fait la différence entre les lettres majuscules et les lettres minuscules.
  • La longueur d’un identificateur en langage C est fixée à 32 caractères (on peut la modifier avec Option/Compiler/Source/Identifier/Length).

2- Les mots-clés :

Ils représentent l’ensemble des mots de déclaration de types de variables et de types de fonctions et bien d’autres mots (void, char, int, if, for,…).


3- Les séparateurs :

Ils représentent l’ensemble des caractères qu’on utilise pour séparer les identificateurs, les différentes instructions,…(, ;   …).

4- Les commentaries :

Le langage C autorise l’utilisation des commentaires notés entre « /* » et « */ » ou précédé par « // » s’il s’agit d’un commentaire sur une seule ligne, mais il n’accepte pas les commentaires imbriqués.

chapitre 2 :Types de base en langage C

Objectif :

        Expliquer les concepts relatifs aux types de base et aux déclaration des variables en langage C.

Eléments de contenu :

I- Introduction : 10

II- Le type Entier : 10

III- Le type float : 11

IV- Le type char : 11

I- Introduction :

En C il existe quatre types de base :

  • Les entiers (1, 2, -5, 157, etc.) : type int.
  • Les nombres en points flottants (325, 45.14, 3.14, -47.1245, etc.) : type float.
  • Les textes : caractères ou chaînes (‘A’, « Bonjour », etc.) type char.
  • Les pointeurs représentent une adresse mémoire contenant de l’information.

II- Le type Entier :

Ce type représente les données entières. La déclaration d’une variable entière doit être de la forme :

int nom_variable ;

C permet aussi de préciser si les entiers doivent être de types longs (Long int) ou de type court (Short int). Ces extensions permettent de choisir les valeurs maximales et minimales que peuvent contenir les variables. La différence provient du nombre d’octets utilisés pour représenter la variable en mémoire :

  • Deux octets pour int et short int.
  • Quatre octets pour long int.

C permet la précision du signe de la variable. Si la variable ne peut contenir que des valeurs positives ou nulles on utilise unsigned int.

Le tableau suivant résume les différentes valeurs pour chaque type :

Type

Valeur minimale

Valeur maximale

int

-32 768

32 767

long int

-2 147 483 648

2 147 483 647

unsigned int

0

65 535

unsigned long int

0

4 294 967 295

Remarque :

Il est possible de préciser qu’une constante entière doit être de type long. Il suffit de faire suivre cette constante de la lettre L.

Exemple :

long i ;

i=587L ;

III- Le type float :

Ce type représente les données numériques réelles. La déclaration d’un tel type de variables sera de la forme :

float nom_variable ;

Il y a également une extension du type float, il s’agit du type double.

Le tableau suivant résume les différentes valeurs pour chaque type :

Type

Valeur minimale

Valeur maximale

float

3.4E-38

3.4E-38

double

1.7E-308

1.7E+308

NB : 3.4E-38 signifie 3.4 * 10 exposant –38.

Remarques :

  • L’ensemble entier est un sous type du type réel.
  • Les calculs sur les nombres réels prennent plus de temps, il est conseillé de n’utiliser ces nombres que si c’est vraiment nécessaire.

IV- Le type char :

C permet d’utiliser des variables caractères et des textes. La déclaration d’une variable caractère doit être de la forme :

char nom_variable ;

Les valeurs possibles pour ce type de variables correspondent aux caractères ASCII. Un caractère est représenté en mémoire par un seul octets.

Exemple :

char c ;

c=’A’ ;

C offre également la possibilité de définir et de manipuler des variables textes. Cela peut se faire de deux façon : soit en précisant la longueur lors de la déclaration, soit en ne précisant pas cette longueur.

Pour le premier cas, la déclaration prend la forme suivante :

Char nom_du_texte[longueur du texte]

Exemple :

Char ch1[10] ;

La variable ch1 peut contenir un texte de 9 caractères. Le dixième étant réservé par l’ordinateur pour signaler la fin du texte.

Pour assigner une valeur texte à une variable de ce type, il faut utiliser une fonction spéciale. Il s’agit de la fonction prédéfinie strcpy dont la syntaxe est la suivante :

strcpy ( nom_variable, valeur_texte) ;

nom_variable : c’est une variable déclarée comme une chaîne de caractères.

Valeur_texte : correspond à la valeur que l’on veut assigner à la variable.

Exemple :

            char texte[30] ;

            strcpy( texte, « ceci est un exemple ») ;

Pour le second cas, il s’agit de déclarer un pointeur vers un ensemble de caractères. La déclaration prend la forme suivante :

char *nom_du_texte ;

Exemple :

            char *ch1 ;

            ch1= « exemple » ;

Remarques :

  • Dans le premier cas, la place nécessaires pour la représentation de la variable dans la mémoire de l’ordinateur, est réservée définitivement lors de la déclaration.
  • Dans le second cas, la place n’est réservée qu’au moment où l’on affecte une valeur à la variable.
  • Le deuxième type est donc le plus souple à utiliser, car il ne nécessite pas de connaître la longueur maximale des valeurs que l’on va assigner à la variable.

chapitre 3 : Opérateurs et expressions en langage C

Objectif :

        Distinguer les différents opérateurs et expressions relatifs au langage C.

Eléments de contenu :

I- Introduction : 14

II- Les opérateurs arithmétiques : 14

III- Les opérateurs de comparaison : 15

IV- Les opérateurs logiques (Booléens) : 16

V- Les opérateurs d’affectation : 16

VI- Les opérateurs d’incrémentation : 16

VII- Les opérateurs d’affectation élargie : 17

I- Introduction :

Qu’est ce qu’un opérateur ?

Le langage C dispose d’une multitude d’opérateurs. Cette richesse se manifeste tout d’abord au niveau des opérateurs classiques (arithmétiques, relationnels, logiques) ou moins classiques (manipulation de bits). C dispose aussi d’un important éventail d’opérateurs originaux d’affectation et d’incrémentation.

Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, On distingue plusieurs types d'opérateurs:

  • les opérateurs de calcul.
  • les opérateurs d'assignation.
  • les opérateurs d'incrémentation.
  • les opérateurs de comparaison.
  • les opérateurs logiques.
  • les opérateurs bit à bit.

II- Les opérateurs arithmétiques :

Les opérateurs arithmétiques ou de calcul permettent de modifier mathématiquement la valeur d'une variable. Ces opérateurs sont représentés au niveau du tableau suivant :

Opérateur

Désignation

Effet

Exemple

Résultat (avec x valant 7)

+

Opérateur d'addition



Additionne deux valeurs

x+3

10

-

Opérateur de soustraction

Soustrait deux valeurs

x-3

4

*

Opérateur de multiplication

Multiplie deux valeurs

x*3

21

/

Opérateur de division

Divise deux valeurs

x/3

2.3333333

%

Opérateur modulo

Donne le reste de la division entière

x%3

1

-

Moins unaire

Donne le signe moins au nombre devant lequel il est mis

-x

-7

En utilisant ces opérateurs, on peut écrire des expressions arithmétiques. Pour les évaluer, il faut respecter les règles de priorité suivantes :

  • Si l’expression contient des parenthèses, les expressions se trouvant entre ces dernières seront évaluées en premier lieu.
  • Si l’expression ne contient pas de parenthèses, l’évaluation se fait de gauche à droite en respectant l’ordre de priorité suivant :
  • Le moins unaire.
  • La multiplication (*), la division (/), le modulo (%).
  • L’addition (+), la soustraction (-).

III- Les opérateurs de comparaison :

Le langage C permet de comparer des expressions à l’aide d’opérateurs classiques de comparaison (ou relationnels). Le résultat de la comparaison n’est pas une valeur booléenne, mais un entier qui vaut :

  • 0 si le résultat de la comparaison est faux.
  • 1 si le résultat de la comparaison est vrai.

Opérateur

Désignation

Effet

Exemple

Résultat (avec x valant 7)

= =

Opérateur d'égalité

Compare deux valeurs et vérifie leur égalité

x= =3

Retourne 1 si x est égal à 3, sinon 0. Ici, retourne 0.

Opérateur d'infériorité stricte

Vérifie qu'une variable est strictement inférieure à une valeur

x<3

Retourne 1 si x est inférieur à 3, sinon 0. Ici retourne 0.

<=

Opérateur d'infériorité

Vérifie qu'une variable est inférieure ou égale à une valeur

x<=3

Retourne 1 si x est inférieur à 3, sinon 0. Ici retourne 0.

Opérateur de supériorité stricte

Vérifie qu'une variable est strictement supérieure à une valeur

x>3

Retourne 1 si x est supérieur à 3, sinon 0. Ici retourne 1.

>=

Opérateur de supériorité

Vérifie qu'une variable est supérieure ou égale à une valeur

x>=3

Retourne 1 si x est supérieur ou égal à 3, sinon 0. Ici retourne 1.

!=

Opérateur de différence

Vérifie qu'une variable est différente d'une valeur

x!=3

Retourne 1 si x est différent de 3, sinon 0. Ici retourne 1.

Les opérateurs de comparaison sont moins prioritaires que les opérateurs arithmétiques.

Remarque : Le langage C ne possède pas de type booléen.


IV- Les opérateurs logiques (Booléens) :

Le langage C dispose de trois opérateurs logiques :

Opérateur

Dénomination

Effet

Syntaxe

||

OU logique

Vérifie qu'une des conditions est réalisée

((condition1)||(condition2))

&&

ET logique

Vérifie que toutes les conditions sont réalisées

((condition1)&&(condition2))

!

NON logique

Inverse l'état d'une variable booléenne (retourne la valeur 1 si la variable vaut 0, 0 si elle vaut 1)

(!condition)

Remarque : Toute valeur non nulle correspond à vrai.

L’opérateur || est moins prioritaire que l’opérateur &&, alors que l’opérateur ! est le plus prioritaire.

Les opérateurs logiques sont moins prioritaires que les opérateurs de comparaison.

V- Les opérateurs d’affectation :

L’opération d’affectation consiste à mettre une valeur dans un variable déjà déclarée. C'est-à-dire préciser la donnée qui va être stockée à l'emplacement mémoire qui a été réservé lors de la déclaration.

Pour cela on utilise l'opérateur d'affectation "=" : Nom_de_la_variable = valeur;

Pour stocker le caractère B dans la variable que l'on a appelée Caractere, il faudra écrire: Caractere = 'B'. Il est bien évident qu'il faut avoir préalablement déclaré la variable en lui affectant le type char: char Caractere;

Remarque : L‘opérateur d’affectation possède une associativité de droite à gauche.

Exemple : i= j = 5, c’est comme si on avait fait : j = 5 puis i = 5.

VI- Les opérateurs d’incrémentation :

Ce type d'opérateur permet de facilement augmenter ou diminuer d'une unité la valeur d’une variable. Ces opérateurs sont très utiles pour des structures telles que des boucles, qui ont besoin d'un compteur (variable qui augmente de un en un).

Un opérateur de type x++ permet de remplacer des notations lourdes telles que x=x+1.

Opérateur

Dénomination

Effet

Syntaxe

Résultat (avec x valant 7)

++

Incrémentation

Augmente d'une unité la variable

x++

8

--

Décrémentation

Diminue d'une unité la variable

x--

6

VII- Les opérateurs d’affectation élargie :

Ces opérateurs permettent de simplifier des opérations telles que ajouter une valeur à une variable et stocker le résultat dans la même variable. Une telle opérations s'écrirait habituellement de la façon suivante par exemple: x=x+2. Avec les opérateurs d'affectation élargie, il est possible d'écrire cette opération sous la forme suivante: x+=2. Ainsi, si la valeur de x est 7 avant opération, elle sera de 9 après...

Les autres opérateurs du même type sont les suivants:

Opérateur

Effet

+=

additionne deux valeurs et stocke le résultat dans la variable (à gauche)

-=

soustrait deux valeurs et stocke le résultat dans la variable

*=

multiplie deux valeurs et stocke le résultat dans la variable

/=

divise deux valeurs et stocke le résultat dans la variable

chapitre 4 : Les entrées / sorties en langage C

Objectif :

        Décrire les différentes fonctions d’E/S utiles en langage C.

Eléments de contenu :

I- Introduction : 19

II- La fonction scanf : 19

III- La fonction gets : 20

IV- La fonction getch() : 21

V- La fonction  printf : 21

VI- La fonction puts : 23

VII- La fonction putchar : 23

I- Introduction :

Le but général d’un programme est de traiter un certain nombre de données et de produire des résultats. Les données sont fournies au programme via des instructions d’entrées et les résultats sont répercutés vers l’extérieur via des instructions de sorties.

Ces instructions d’entrées / sorties ou I/O (Input/Output) transmettent des informations entre la mémoire de l’ordinateur et un support extérieur. Ce support peut être dans le cas d’une instruction d’entrée :

  • Le clavier
  • Un fichier disque
  • Une souris
  • Un instrument de mesure quelconque, …

Et dans le cas d’une instruction de sortie :

  • L’écran
  • Un fichier disque
  • Une imprimante

Dans le langage C, les entrées / sorties se font par l’intermédiaire de fonctions standards. Dans la suite nous présenterons des fonctions permettant d’introduire les données à partir du clavier et d’afficher le résultat sur l’écran.

II- La fonction scanf :

Cette fonction lit une liste de variables selon un format donné. Sa syntaxe générale est la suivante :

scanf("<format>",<AdrVar1>,<AdrVar2>, ...)

Avec:

  • "<format>" : format de lecture des données.
  • <AdrVar1>,... : adresses des variables auxquelles les données seront attribuées

 



L'adresse d'une variable est indiquée par le nom de la variable précédé du signe &.

Spécificateurs de format pour scanf :

SYMBOLE

LECTURE D'UN(E)

TYPE

%d ou %i

entier relatif

int*

%u

entier naturel (unsigned)

int*

%o

entier exprimé en octal

int*

%b

entier exprimé en hexadécimal

int*

%c

caractère

char*

%s

chaîne de caractères

char*

%f ou %e

rationnel en notation décimale ou exponentielle (scientifique)

float*

Le symbole * indique que l'argument n'est pas une variable, mais l'adresse d'une variable de ce type.

On peut placer la longueur de k=la variable entre le signe % et la lettre. Ainsi « %3d » indique que l’on va lire un entier de 3 chiffres.

Un blanc mis entre deux spécifications de format signifie que l’on peut mettre autant de blanc ou de lignes que l’on veut entre les valeurs à lire. Si l’on sépare les spécifications par une virgule, alors les valeurs à lire seront séparées par des virgules. Lorsque la liste des données entrées est complète, il faut, pour signaler la fin de cette liste, taper la touche Enter.

Exemple :

            int i ;

float r ;

char c ;

scanf (“%d %f  %c », &i, &r, &c) ;

scanf (“%d,%f ,%c », &i, &r, &c) ;

  • Dans le premier cas les valeurs à lire pourraient être : 5487  2.1456  d
  • Dans le deuxième cas les valeurs à lire pourraient être : 54,3.14,f

III- La fonction gets :

Cette fonction est utilisée pour la lecture de chaîne de caractères. Sa syntaxe générale est la suivante :

gets(nom de chaîne)

Lorsqu’on lit une chaîne de caractère avec l’instruction scanf(), la lecture s’arrête dès que l’on rencontre un blanc. Avec la fonction gets(), la lecture s’effectue jusqu’à ce que la touche Enter soit enfoncée.

Remarque :

Pour lire une variable de type pointeur vers un ensemble de caractère (*char), il faut affecter à cette variable l’adresse renvoyée par gets().

Exemples :

            char c[20] ;

            gets (c) ;

ou encore

            char*c, *aux ;

            c=gets(aux) ;

IV- La fonction getch() :

Cette fonction lit un caractère unique. La valeur renvoyée par la fonction correspond au caractère lu. Sa syntaxe générale est la suivante :

getch(nom du caractère)

Exemple :

            char c ;

            c=getch() ;

 

V- La fonction  printf :

Cette fonction écrit des informations selon un format donné. Sa syntaxe générale est la suivante :

printf("<format>",<Expr1>,<Expr2>, ... )

Avec :

  • "<format>" : format de représentation
  • <Expr1>,... : variables et expressions dont les valeurs sont à représenter


La partie "<format>" est en fait une chaîne de caractères qui peut contenir:

  • du texte
  • des séquences d'échappement
  • des spécificateurs de format

Les spécificateurs de format indiquent la manière dont les valeurs des expressions <Expr1..N> sont imprimées.

La partie "<format>" contient exactement un spécificateur de format pour chaque expression <Expr1..N>.

Les spécificateurs de format commencent toujours par le symbole % et se terminent par un ou deux caractères qui indiquent le format d'impression.

Spécificateurs de format pour printf :

                                                                    

SYMBOLE

TYPE

IMPRESSION COMME

%d ou %i

int

entier relatif

%u

int

entier naturel (unsigned)

%o

int

entier exprimé en octal

%x

int

entier exprimé en hexadécimal

%c

int

caractère

%f

float

rationnel en notation décimale

%e

float

rationnel en notation scientifique

%s

char*

chaîne de caractères

On peut insérer des séquences spéciales appelées « séquences espaces », qui permettent de contrôler l’affichage des données.

Les principales espaces sont :

  • \n : Passage à la ligne suivante.
  • \r : Retour du curseur en début de ligne.
  • \b : Déplacement du curseur d’un caractère vers la droite.
  • \f : Déplacement à la page suivante.
  • \t : Déplacement du curseur d’une tabulation vers la droite.
  • \a : Déclenchement d’un signal sonore.

Remarque :

Si on veut afficher le caractère \, on double ce caractère dans la chaîne à afficher, c’est à dire qu’on met \\.

Exemple :

            int i,

            printf(« Entrer une valeurs :\n ») ;

            scanf(« %d », &i) ;

            i=i*2;

            printf(“valeur *2=%d”, i);

VI- La fonction puts :

Cette fonction affiche une chaîne de caractères. Sa syntaxe générale est la suivante :

puts(nom_de_chaîne)

La fonction puts affiche « nom_de_chaîne » et passe automatiquement à la ligne suivante.

Exemple :

            puts(« ceci est un programme C ») ;

VII- La fonction putchar :

Cette fonction affiche une caractère. Sa syntaxe générale est la suivante :

putchar(élément)

Où élément est une variable de type caractère ou une valeur caractère.

Exemple :

            char c=’a’ ;

            putchar(c) ;

            putchar(‘B’);


432