1: Introduction
2: Concepts de stockage et affichage de données
3: Les conditions (structure Alternative)
4: Les boucles (structure répétitive)
5: Les Tableaux vecteurs
6: Les Fonctions et procédures
7: Les chaines de caractères
8 : Les Tableaux matrices
9: La Recursivité
10 : Les Pointeurs
11: Les Structures 1
2
!
…
CHAPITRE 2:
CONCEPTS DE STOCKAGE ET
AFFICHAGE DE DONNÉES
TYPES DE VARIABLES
5
TYPES DE VARIABLES
+ addition
- soustraction
* multiplication
/ division
% modulo (reste de la division entière )
7/2 3
7.0/2 3.5
9
On ajoute les opérateurs parenthèses ( )
pour fixer l'ordre des calculs.
float x =(y+z)/2
INCRÉMENT ET DÉCREMENT
++ increment : i++
i+=1
i=i+1
- - decrement : i- -
i - =1
i=i-1
11
int main()
#include <stdio.h>
#include <stdlib.h>
int main()
{ printf("Hello world!\n");
return 0;
}
void main( ) void main( )
{ char c; { char c = 'A';
int i,j, k;
c = 'A'; int i=50,j, k;
i = 50; j=k=10;
j =10;
K=10;
Identificateurs
Identificateurs invalides :
3eme commence par un chiffre
x#y caractère non autorisé (#)
nb-pos caractère non autorisé (-)
Nb pos caractère non autorisé (espace)
15
#include <stdio.h>
bibliothèques (librairies)
LES ENTRÉES SORTIES : PRINTF, SCANF
La bibliothèque standard est une collection utilisées
pour implémenter des opérations courantes, telles que
les entrées/sorties et la gestion des chaînes de
caractères, les fonctions mathématiques.
18
LES BIBLIOTHEQUES
#include <stdio.h> : bibliothèque (entrée / sortie).
#include <math.h> : pou les fonctions mathématiques
printf("Bonjour");
\n : retour à la ligne ; printf("Bonjour\n");
\t : tabulation.
\a : sonnerie
\b : espace
#include<conio.h>
void main ()
{ printf (" premiere ligne ");
printf ("\ n");
printf (" deuxième ligne ");
printf ("\ n");
printf (" troisième ligne ");
getch()
} 22
Afficher les données : printf
printf (" message ");
printf(" %d ", a ); a est un entier
#include <stdio.h>
int i,j;
int main()
{printf("donner le 1er entier ");
scanf("%d",&i);
printf("donner le 2ème entier ");
scanf("%d",&j);
printf("le produit de %d et %d est égale à %d ",i, j, i*j);
printf(" %d * %d = %d ", i, j, i*j);
}
E X2
#include <stdio.h>
Void main()
{ int i,j,z;
Printf(" donner le 1er chiffre ") ; scanf("%d",&i) ;
Printf(" donner le 2ème chiffre ") ; scanf("%d",&j) ;
Printf(" le 1er chiffre est %d le 2ème chiffre est %d",
i,j) ;
z=i;
i=j;
j=z;
Printf(" le 1er chiffre est %d le 2ème chiffre est %d",
i,j) ;}
LECTURE DE DEUX VARIABLES DANS UN SCANF
char x = getchar();
char ch[10];
gets(ch);
CHAPITRE 3: LES CONDITIONS
(STRUCTURE ALTERNATIVE)
SI…SINON IF..ELSE
if (condition)
Instruction1;
if (condition)
{
Instruction1;
Instruction2; }
SI…SINON IF..ELSE
if (condition)
Instruction1;
else
Instruction2;
if (condition)
{ Instruction1;
Instruction2; }
else
{Instruction3;
Instructions4; }
SI…SINON IF..ELSE
if (condition)
{if (condition)
{ Instruction1;
Instruction2; }
else
{Instruction3;
Instructions4; }}
else
{Instruction5;
Instructions6; }
SI…SINON IF..ELSE
if (condition)
{Instruction1;
Instructions2; }
else
if (condition)
{ Instruction3;
Instruction4; }
else
{Instruction5;
Instructions6; }
EXPRESSIONS ÉVALUÉES DANS LES TESTS
if (a = b) : erreur fréquente,
if (a == b) : a égal à b
if (a != b) : a différent de b
if (a > b) : a supérieur à b
if ((a >=0)&&(a<10)) : a comprise entre 0 et 9
if ((a<=b)||(a>0)) : a inférieur ou égal à b
ou a positif
if (c >= 'a' && c <= 'z') || (c >= 'A' && c <=
39
'Z')
EXPRESSIONS ÉVALUÉES DANS LES TESTS
if ((h<0)||(h>23))
printf(" heure saisie est incorrecte");
Else
if ((m<0)||(m>59))
printf(" minute saisie est incorrecte");
else
m=m+1
…..
TEST AVEC IF (SI)
int main()
{int n,m;
printf("donner le 1er chiffre ");
scanf("%d", &n);
printf("donner le 2ème chiffre ");
scanf("%d", &m);
if (n>m)
printf("le 1er chiffre %d est le plus grand \n",n);
else
printf("le 2ème chiffre %d est le plus grand \n",m);
return 0;}
#include <stdio.h>
int main(void)
{ int i;
printf(" saisir un chiffre ");
scanf(" %d", &i);
if (i>0)
printf("le chiffre %d est positif\n",i);
else if (i<0)
printf("le chiffre %d est negatif\n",i);
else
printf("le chiffre %d est zéro\n",i);
return 0;}
42
Test avec switch (selon)
Syntaxe :
switch(expression)
{
case valeur1 : { instructions1;break; }
case valeur2 : { instructions2;break; }
...
case valeurn : { instructionsn;break; }
default : { instructionsautre;break; }
}
Test avec switch (selon)
Default : propose une instruction a
effectuer dans le cas où l’expression n'a
pris aucune des valeurs proposées dans les
cases successifs.
Break : renvoie à la fin du switch. Si le
break n'est pas mis, le programme
exécutera le case suivant.
UTILISATION DE SWITCH CASE
Int main()
{ int i;
printf(" saisir un chiffre soit 1 ou 2 ou 3 ");
scanf(" %d", &i);
switch(i)
{ case 1 : printf(" le chiffre est 1 "); break;
case 2 : printf(" le chiffre est 2 "); break;
case 3 : printf(" le chiffre est 3 "); break;
default : printf(" le chiffre est différent de 1,2,3");
}
}
printf(" saisir la date J M A ");
scanf(" %d %d %d ", &j, &m, &a);
switch(m)
{ case 1: case 3: case 5: case 7: case 8: case 10:case 12:
if((j>=1)&&(j<=31))
printf(" la date est valide ");
else
printf(" la valeur du jour est incorrecte");
break;
case 4: case 6: case 9: case 11:
if((j>=1)&&(j<=30))
printf(" la date est valide ");
else
printf(" la valeur du jour est incorrecte");
break;
case 2 : if((j>=1)&&(j<=29))
printf(" la date est valide ");
else
printf(" la valeur du jour est incorrecte");
break;
default : printf(" la valeur du mois est incorrecte "); }
SWITCH (INTERVALE DE VALEURS)
int t;
printf(" saisir la température de l'eau ");
scanf("%d",&t);
switch (t)
{ case -100 ... 0 : printf(" glace"); break;
case 1 ... 99 : printf(" liquide "); break;
case 100 ... 130 : printf(" gaz "); break;
default : printf(" saisie incorrecte "); break;
}
CHAPITRE 4: LES BOUCLES
(STRUCTURE RÉPÉTITIVE)
BOUCLE POUR « FOR »
#include <stdio.h>
#define NUMBER 10
int main()
{
int c, total = 0;
#include <stdio.h>
#define NUMBER 10
main()
{
int c = 1, total = 0;
51
BOUCLE « DO WHILE »
PERMET D ’EXÉCUTER AU MOINS UNE FOIS LES INSTRUCTIONS
AVANT D ’ÉVALUER LE TEST
#include <stdio.h>
#define NUMBER 10
main()
{
int c = 1, total = 0;
do
{ total += c;
c++;
} while(c <= NUMBER);
int a;
Do
{ printf("\n Entrez un entier entre 1 et 10 : ");
scanf("%d",&a);}
while ((a <= 0) || (a > 10));
EX3: AFFICHER TOUS LES ENTIERS DE 0 À 9:
int i;
for (i = 0; i < 10; i++)
printf("\n i = %d",i);
break
L’instruction break peut, être
employée à l’intérieur de n’importe
quelle boucle. Elle permet
d’interrompre le déroulement de la
boucle, et passe à la première
instruction qui suit la boucle.
main()
{int i;
for (i = 0; i < 5; i++)
{printf("i = %d\n",i);
if (i == 3)
break;
}}
imprime à l’écran
i=0
i=1
i=2
i=3
continue
L’instruction continue permet de
passer directement à la valeur
suivante, sans exécuter les autres
instructions de la boucle.
main()
{ int i;
for (i = 0; i < 5; i++)
{ if (i == 3)
continue;
printf("i = %d\n",i);} }
imprime à l’écran
i=0
i=1
i=2
i=4
#include <stdio.h>
Int c,i,nbCh,nbBlancs,nbalpha,nbAutres;
int main(){nbCh=nbBlancs=nbAutres=nbalpha=0;
while((c=getchar())!= '.')
if((c>='0') && (c<='9'))
nbChiffres++;
else if(((c>='a')&&(c<='z'))||((c>='A')&&(c<='Z')))
nbalphabet++;
else if((c==' ')||(c=='\n')||(c=='\t'))
nbBlancs++;
else nbAutres++;
printf("chiffres:%d",nbChiffres);
printf("alphabet:%d",nbalphabet);
printf("blancs:%d ", nbBlancs );
printf("Autres:%d\n",nbAutres); }
LES FONCTIONS MATHEMATIQUES
#INCLUDE <MATH.H>
Fonctions logarithmes
• x = log(..);
Fonction exponentielle,
• double x = exp(..);
Fonction puissance
• x = pow(5, 2);
{ C=STR[I];
IF (ISLOWER(C))
C=TOUPPER(C);
PUTCHAR (C);
I++; }
CHAPITRE 5: LES FONCTIONS ET
PROCÉDURES
LES FONCTIONS ET PROCÉDURES
66
Programme typique en C
include
Main() toujours la
1ere fonction appelée
main(){
a();
b();}
Appel de la fonction a
fonction a()
Appel de la fonction b
fonction b()
UTILISATION DE SWITCH POUR CHOISIR
int main()
{ char choix;
printf("a : l ’addition\n");
printf("b : la multiplication\n");
printf("c : la soustraction\n");
printf("d : la division\n");
printf(" Donner votre choix : ");
scanf("%c", &choix);
switch(choix)
{ case 'a' : procA(); break;
case 'b' : procB(); break;
case 'c' : procC(); break;
case d : procD(); break;
default :printf(‘’choix incorrecte’’);
}}
procA()
{ printf("vous exécutez la procédure A : l’addition");
……