Vous êtes sur la page 1sur 22

Dr Pélagie HOUNGUE

 Priorité de quelques opérateurs de base


 Fonctions d’entrée/sortie
 Caractères spéciaux en sortie
 Instructions de saut
 Exercices

Langage C Dr Pélagie HOUNGUE 2


Tableau 1 : Opérateurs par ordre de priorité décroissant

! ~ ++ -- sizeof
* / %
+-
<< >>
< <= > >=
== !=
&
^
|
&&
||
?:
= += -= *= /= %= &= |= ^= <<= >>=
,
Langage C Dr Pélagie HOUNGUE 3
 Les commandes d'entrée et de sortie sont décrites dans la
bibliothèque stdio.h
 Fonction printf
 Elle permet d'afficher à l'écran des informations provenant du
programme.
 Nombre d'arguments variable.
 Son premier argument est une chaîne de caractères spécifiant le format
d'affichage.
 Les arguments suivants sont les valeurs qu'il faudra afficher.
 printf("format", arg1, ... , argN);
 Le format est interprété de la manière suivante :
 les caractères ordinaires sont affichés tel quel ;
 certains caractères précédés d'une barre oblique inverse (\)
permettent de faire de la mise en page (tabulation, passage à la
ligne, ...).
 \n pour saut de ligne ; \t pour tabulation ; \" pour un guillemet
 une séquence commençant par le caractère % sera remplacée à
l'affichage par la valeur d'un argument.

Langage C Dr Pélagie HOUNGUE 4


Tableau 2: Séquences spéciales dans un printf.
l'argument remplaçant la séquence doit
Séquence
être
% c un caractère seul

% s une chaîne de caractère

% d un entier (affiché en décimal)

% o un entier (affiché en octal)


% l
Utilisé avec d pour le type long

% h
Utilisé avec d pour le type short

% x un entier (affiché en héxadécimal)

% u un entier non signé (affiché en décimal)


un réel double ou float (affiché
% f
normalement)
un réel (affiché en notation
% e
exponentielle)
un réel double ou float (au mieux
% g
entre f et e)

Langage C Dr Pélagie HOUNGUE 5


 Exemple
#include<stdio.h>
int main ( )
{
int x , y , z ;
x = 10 ;
y = 20 ;
z = 30;
printf ("La valeur de x est : %d , la valeur de y est :
%d et la valeur de z est %d " , x , y , z);
return 0 ;
}

Langage C Dr Pélagie HOUNGUE 6


 Fonction scanf
 Permet de lire et d'interpréter du texte saisie par
l'utilisateur au clavier. Comme printf, cette
fonction utilise un format suivi d'un nombre
variable d'arguments que scanf devra lire.
 scanf ("string_de_controle", arguments);
 string_de_controle: commandes de formatage (%_)
 arguments: l'adresse de la variable où les valeurs
d'entrée sont placées: &nom_variable.
 L’opérateur & représente l'adresse d'une variable

Langage C Dr Pélagie HOUNGUE 7


 Fonction scanf
 Si plusieurs données doivent être saisies au
clavier, elles doivent être séparées par des
espaces ou des <RETURN> (touche de validation)
 Il est possible de fixer le nombre de caractères
de la donnée à lire.
 Par exemple
 %10s pour une chaîne de 10 caractères
 %5d pour un entier de 5 chiffres

Langage C Dr Pélagie HOUNGUE 8


Tableau 3: Séquences spéciales dans un scanf.

Séquence interprétation de la saisie

% c un caractère seul

% s une chaîne de caractère

% d un entier en décimal

% o un entier en octal (précédé d'un 0)

% x un entier en héxa (précédé de 0x)

% u un entier non signé décimal

% f un réel

% e un réel

% g un réel

Langage C Dr Pélagie HOUNGUE 9


#include<stdio.h>
int main ( )
{
 Exemple
double a;
int g;
char str[300];
printf("Donnez la valeur de a :");
scanf("%lf", &a);
printf("Donnez la valeur de g :");
scanf("%d", &g);
printf("Donnez la valeur de str (une chaine de caractères
sans espace):");
scanf("%s", str);
printf("Vous avez entré %lf, %d et %s:", a,g,str);
return 0 ;
}
Ne pas mettre de & devant le nom du tableau car ce
nom représente déjà un pointeur sur le tableau.

Langage C Dr Pélagie HOUNGUE 10


#include <stdio.h>
int main()
{
char c;
printf("Entrez une lettre : ");
c = getchar();
putchar(c);
c = getchar(); /*pour consommer le caractère de validation ‘\n’*/
putchar(c);
printf("Entrez une lettre : ");
c = getchar();
putchar(c);
getchar();
}

Langage C Dr Pélagie HOUNGUE 11


#include <stdio.h>
#include <stdlib.h>
int main() {
char c;
c = '\n';
putchar(c);
putchar('p');
putchar('\0');
putchar('A');
putchar('a');
c = '\n';
putchar(c);
return 0;
}

Langage C Dr Pélagie HOUNGUE 12


 Le langage C offre plusieurs possibilités de lecture ou d’écriture de chaînes
 l’utilisation du format %s dans les fonctions printf et scanf ;
 les fonctions spécifiques de lecture (gets) ou d’affichage (puts) d’une chaîne (une
seule à la fois).
 char * gets(char *str)
 int puts(const char *str)

 Exemple 1
#include <stdio.h>
int main()
{ char nom[20], prenom[20], adresse[25] ;
printf ("Donnez votre nom et votre prénom : ") ;
scanf ("%s%s", nom, prenom) ;
printf ("Donnez votre adresse : ") ;
getchar(); /*pour consommer le caractère de validation*/
gets (adresse) ;
printf ("Vous êtes %s %s et vous habitez à ", prenom, nom) ;
puts (adresse) ;
return 0;
}
Langage C Dr Pélagie
HOUNGUE 13
 Utilisation de gets et puts
 Exemple2
#include <stdio.h>
int main() {
char str[50];
printf("Entrez une chaine : ");
gets(str);
printf(“Vous avez entré: %s", str);
return 0;
}

Langage C Dr Pélagie
HOUNGUE 14
 \n - nouvelle ligne
 \t - tabulation horizontale
 \v - tabulation verticale
 \a - signal d’alerte
 \r – retour chariot
 \\ - La barre elle-même
 \" - Citations
 \' – Apostrophe
…

Langage C Dr Pélagie HOUNGUE 15


 break
 L'instruction break a pour effet de faire sortir d'un bloc
d'instructions et de passer à la première instruction
située après le bloc.
 Le break est utilisé avec do, for, while et switch.
#include <stdio.h>
int main()
{
int q;
for(q= 100; q >= 0; q-=10)
{
if(q == 50)
break;
printf("%d ", q);
}
printf("fin du programme\n");
return 0;
} 100 90 80 70 60 fin du programme
Langage C Dr Pélagie HOUNGUE 16
 continue
 L'instruction continue permet d'abandonner
l'itération courante pour passer à l'itération
suivante s'il y a lieu, sinon à l'instruction située
immédiatement après le bloc.
#include <stdio.h>
int main()
{
int q;
for(q= 100; q >= 0; q-=10)
{
if(q == 50)
continue;
printf("%d ", q);
}
printf("fin du programme\n");
return 0;
} 100 90 80 70 60 40 30 20 10 0 fin du programme
Langage C Dr Pélagie HOUNGUE 17
 Exercice 1
Ecrire un programme qui permet
d’afficher les 10 premiers entiers qui suivent
un nombre entier saisi au clavier.

Langage C Dr Pélagie HOUNGUE 18


Exercice 2
Ecrire un programme en langage C qui dit si
un nombre entré au clavier par l’utilisateur est
premier.
NB: Un nombre entier positif non nul est dit
premier lorsqu’il n’est divisible que par lui-même
et par 1.
Exercice 3
Écrire un programme en langage C qui
imprime le type de lettre (voyelle ou consonne)
entrée au clavier. Le traitement se fera en boucle
jusqu’à ce que l’utilisateur entre le caractère #

Langage C Dr Pélagie HOUNGUE 19


Exercice 4
Écrire un programme en langage C qui trouve la plus grande et la
plus petite valeur d’une succession de notes (nombres entiers entre
0 et 20) fournies au clavier, ainsi que le nombre de fois où le
maximum et ce minimum ont été attribués. On supposera que les
notes, en nombre non connu à l’avance, seront terminées par une
valeur négative. L’exécution du programme pourra se présenter
ainsi :
donnez une note (-1 pour finir) : 12
donnez une note (-1 pour finir) : 8
donnez une note (-1 pour finir) : 13
donnez une note (-1 pour finir) : 7
donnez une note (-1 pour finir) : 11
donnez une note (-1 pour finir) : 12
donnez une note (-1 pour finir) : 7
donnez une note (-1 pour finir) : 9
donnez une note (-1 pour finir) : -1
note maximale : 13 attribuée 1 fois
note minimale : 7 attribuée 2 fois

Langage C Dr Pélagie HOUNGUE 20


Exercice 5
Ecrire un programme en C qui affiche les
nombres premiers compris entre deux nombres
entiers lus au clavier.

Exercice 6
Ecrire un programme qui fait la somme
des n premiers nombres premiers, n étant lu
au clavier.
Par exemple, les 4 premiers nombres
premiers sont : 2 3 5 7
Langage C Dr Pélagie HOUNGUE 21
 Fundamentals of programming languages.
Dipali P. Baviskar, Technical Publication Pune.
 Programming and problem solving through
“C” languages. Harsha Priya, r. Ranjeet.
Firewall media, 2006.

Langage C Dr Pélagie HOUNGUE 22

Vous aimerez peut-être aussi