Vous êtes sur la page 1sur 269

GUIDE LE

ROI DE LA
PROGRAMMATION

LANGUAGE C

REALISATEUR
PENDA BIYIHA FRANKLIN GERARD
Page 1 sur 269
Plan du manuelle

Introduction langage c

Dictionnaire des définition en c

Rappel du cours

Des centaines d’exercice corriger en algorithmique

Des centaines d’exercice corrigé en programmation langage C

Page 2 sur 269


INTRODUCTION
Le langage c’est un langage de programmation de bas niveau
développer dans le laboratoire Bell par Dennis Ritchie et Kenneth
Thompson en 1972 leurs but était de développer le système
d’exploitation linux c’est un langage inspire des langages B et BCPL
Toute fois le c reste un des langages les plus utilisés actuellement et la
base d’un bon début en programmation car il inspire plusieurs
language parmi lesquel (le c++,le java) il comporte des instructions de
haut niveau tout en générant un code très rapide grâce a un
compilateur très performant. Le succès du c vient du fait que
C’est un langage universel car il permet de programme tout type
d’application
Il est rapide

Page 3 sur 269


Page 4 sur 269
Un programme qui affiche bonjour a l’utilisateur

#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("bonjour");
return 0;
}

/*un programme c qui demande un entier et retourne son carre*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,c;
printf("entrer un nombre :");
scanf("%d",&a);
c=a*a;
printf("le carre de ce nombre est %d\n",c);
return 0;

/*un programme c qui demande deux entier a lutilisateur


calcule et affiche la moitier le double le carre le cube de ce nombre*/

Page 5 sur 269


#include <stdio.h>
#include <stdlib.h>
int main()
{
float a;
printf("entrer un nombre :");
scanf("%f",&a);
printf("la moitier est %f\n",a/2);
printf("le double de ce nombre est %f\n",2*a);
printf("le carre de ce nombre est %f\n",a*a);
printf("le cube de ce nombre est %f ",a*a*a);
return 0;
}

/*un programme c qui demande un nombre a l'utilisateur et renvoie


ca valeur absolue*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
float a;
printf("entrer un nombre reel :");
scanf("%f",&a);
if(a>0)
printf("la valeur absolu de a est %.2f",a);
else
printf("la valeur absolu de a est %.2f",-(a));

return 0;
}

Page 6 sur 269


/*un programme c qui demande un nombre a l'utilisateur
test si ce nombre est strictement positif null ou strictement
negatif*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
printf("entrer un entier :");
scanf("%d",&a);
if (a>0){
printf("a est stictement positif :");}
else if (a<0){
printf("a est stictement negatif :");}
else {
printf("a est nul :");}
return 0;
}
/*un programme qui demande a l’utilisateur d’entrer deux nombre et informe ensuite si le produit est
positif negatif ou null sans calculer le produit*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,P;
printf("entrer le nombre a :\n");
scanf("%d",&a);
printf("entrer le nombre b :\n");
scanf("%d",&b);
P=a*b;
if(a<0 || b<0)
printf("le produit est negatif");

Page 7 sur 269


else if(a>0 && b>0 || a<0 && b<0)
printf("le produit est positif");
else
printf("le produit est est null");

getch();
return 0;

/*un programme c qui demande a l'utilisateur un nombre et verifie si


ce nombre est pair ou impair et retourne le resultat*/

#include <stdio.h>
#include <stdlib.h>

int main() {
int a;
printf("entrer le nombre a\n");
scanf("%d",&a);
if(a%2==0){
printf("le nombre est pair");
}
else{
printf("le nombre est impair");
}
return 0;
}

/*un programme c qui demande a l'utilisateur le rayon


du cercle calcul et affiche son aire*/

Page 8 sur 269


#include <stdio.h>
#include <stdlib.h>
int main()
{
const pi=3.14;
float r,A;
printf("entrer la valeur du rayon : ");
scanf("%f",&r);
A=pi*(r*r);
printf("l'aire de ce cercle est A=%.2f",A);

getch();
return 0;
}

/*ecrire un programme c qui calcul la puissance


X^n d'un reel X par un entier positif n*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
int x,n,P;
printf("entrer un entier x :");
scanf("%d",&x);
printf("entrer la puissance n :");
scanf("%d",&n);
if(n==0)
printf("la puissance de ce nombre est 1");
else{
P=(x*pow(x,n-1));

Page 9 sur 269


printf("la puissance X^n est %d ",P);
}
return 0;

/*ecrire un programme c qui demande a lutilisateur*/


/*le rayon dune sphere puis calcule et affiche le*/
/*volume de cette sphere*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
int r;
const pi=3.14;
printf("entrez le rayon de la sphere : ");
scanf("%d",&r);
/*on sait que le volume de la sphere est donner par*/
/* V=4*pi*r^3/3 */
printf("le volume de la sphere est egale a %.1f\n", (4*pi*pow(r,3))/3);

return 0;
}

/*un programme c qui demande a l'utilisateur son prenom


et son age et renvoie bonjour prenom vous avez age et vous
avez deja vecu nombre de jours*/

#include <stdio.h>
#include <stdlib.h>
int main()

Page 10 sur 269


{
char prenom[10];
int a,n;
printf("entrer votre prenom :");
scanf("%s",&prenom);
printf("\n");
printf("entrer votre age :");
scanf("%d",&a);
n=a*365;
printf("bonjour %s ,vous avez %d age et vous avez vecu au moin %d jours ", prenom,a,n);
return 0;
}

/*un programme c qui demande les coordonnees de deux point A et B


et renvoi la distance entre ces deux points*/

#include<stdio.h>
#include<math.h>
int main()
{
float xa,ya,xb,yb,dist;

printf("entrer les coordonnee du point A(xa,ya) :");


scanf("%f,%f",&xa,&ya);

printf("entrer les coordonnee du point B(xb,yb) :");


scanf("%d,%d",&xb,&yb);
dist=sqrt(pow((xa-xb),2)+pow((ya-yb),2));
printf("la distance entre ces deux points A et B est AB=%.2f\n", dist);

getch();
return 0;

Page 11 sur 269


}

/*un programme c qui demande une moyenne a l’utilisateur et renvoie


La mention correspondant a cette moyenne*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
float M;
printf("entrer la moyenne :");
scanf("%f",&M);
if(M<10) {
printf("vous avez **echoue**");
}
else if(M>=10 && M<12){
printf("vous avez une mention **passable**");
}
else if(M>=13 && M<15){
printf("vous avez une mention **assez bien**");
}
else if(M>=15 && M<17){
printf("vous avez une mention **bien**");
}
else if(M>=17 && M<19){
printf("vous avez une mention **excellent**");
}
else if(M>=19 && M<=20){
printf("vous avez une mention **parfaite**");
}
else
printf("reessaye le calcul de nouveau");

Page 12 sur 269


getch();
return 0;

/*UN PROGRAMME C QUI DEMANDE A L'ELEVE CES NOTE DANS CHAQUE


MATIERE CALCUL ET AFFICHE LA MOYENNE DE CETTE ELLEVE*/

#include <stdio.h>
#include <stdlib.h>

int main()
{
float no1,no2,no3,no4,no5,no6,no7,no8,no9,no10,no11,no12,no13,no14,M; //note
const cf1=7,cf2=4,cf3=3,cf4=2,cf5=1; //coefficient de matiere

printf("entrer la note de mathematique :",no1);


scanf("%f",&no1);
printf("entrer la note de physique :",no2);
scanf("%f",&no2);
printf("entrer la note de chimie :",no3);
scanf("%f",&no3);
printf("entrer la note d'informatique :",no4);
scanf("%f",&no4);
printf("entrer la note de science :",no5);
scanf("%f",&no5);
printf("entrer la note de litterature :",no6);
scanf("%f",&no6);
printf("entrer la note de langue :",no7);
scanf("%f",&no7);
printf("entrer la note de geographie :",no8);
scanf("%f",&no8);

Page 13 sur 269


printf("entrer la note d'histoire :",no9);
scanf("%f",&no9);
printf("entrer la note de ecm :",no10);
scanf("%f",&no10);
printf("entrer la note de anglais :",no11);
scanf("%f",&no11);
printf("entrer la note de sport :",no12);
scanf("%f",&no12);
printf("entrer la note de esf :",no13);
scanf("%f",&no13);
printf("entrer la note de tm :",no14);
scanf("%f",&no14);
M=(no1*cf1+no2*cf2+no3*cf4+no4*cf4+no5*cf4+no6*cf4+no7*cf5+no8*cf5+no9*cf5+no10
*cf4+no11*cf3+no12*cf4+no13*cf5+no14*cf5)/(31);
printf("ta moyenne est de : %.2f\n", M );
getch();
return 0;
}
/*un programme c qui demande a l’utilisateur le nombre de photocopie qu’il souhaite effectue et
renvoie la facture en tenant compte du faite que
Les 10 premier photocopie 20f
Les 20 suivantes 15f
Au dela 10f */

#include<stdio.h>
#include<math.h>
int main()
{
int np,fact;

printf("entrer le nombre de photocopie que vous voulez effectuer :");


scanf("%d",&np);

Page 14 sur 269


if(np<=10)
{
fact=np*20;
printf("votre facture es de %d",fact);
}
if(np>10 && np<=30)
{
fact=np*15;
printf("votre facture es de %d",fact);
}
else if(np>30)
{
fact=np*10;
printf("votre facture es de %d",fact);
}
getch();
return 0;
}

/*un programme qui demande a l'utilisateur un nombre


et affiche les 10 nombres suivants ce nombre*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i;
printf("entrer un nombre entier :");
scanf("%d",&n);
for(i=n+1;i<=n+10;i++)
printf("le suivant est %d\n",i);
return 0;

Page 15 sur 269


}

/*ecrire un programme c qui demande a l'utilisateur un nombre


calcul et renvoie sa table de multiplication*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,T,i;
printf("entrer un nombre :");
scanf("%d",&n);
for(i=1;i<=10;i++){
T=n*i;
printf("2*i= %d\n",T);
}
return 0;
}
/*un programme c qui demande un nombre a l'utilisateur
verifie si ce nombre est premier ou non et renvoie le resultat*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,r,i,j;
printf("entrer un nombre :");
scanf("%d",&n);
if(n==1)
printf( "ce nombre n'est pas premier " );
else

Page 16 sur 269


for(i=2;i<n;i++) {
r=i%n;
if(r=0)
{
j++;
}
}

if(j==0){
printf("ce nombre est premier ");
}
else
printf("ce nombre n'est pas premier ");

getch();
return 0;
}

/* a la naissance de son petit fils orlando pa'a gabriel lui ouvre un compte
bancaire ou a chaque anniversaire il verse 20000fr auquelle il ajoute 500
fois l'age
ecrire un programme c qui lit l'age de orlando et affiche la somme
totale qu'aura percu orlando a son nieme anniversaire*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
int age,smTT;
printf("il s'agit du quantieme anniversaire :");
scanf("%d",&age);
smTT=(age*500+20000)*age;

Page 17 sur 269


printf("pour ton %deme annivesaire tu aura une somme de %d",age,smTT);

getch();
return 0;
}

/*programme c qui demande a l'utilisateur les coefficien a et b d'un


polynome de premier degre resou et retourne le resultat*/

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
float X;
printf("resolution dune equation du premier degre de la forme aX+b\n");
printf("entrer les valeur des coefficient a et b :");
scanf("%d,%d",&a,&b);
printf("%dX+%d\n",a,b);
if(a==0 && b==0)
printf("cette equation admet une infinite de solution");
else if(a==0 && b!=0)
printf("cette equation n'admet pas de solution ");
else
X=-b/a;
printf("la solution de cette equation est X=%.2f",X);

getch();
return 0;

Page 18 sur 269


/*un programme c qui prend un nombre en entrer et
affiche son factoriel*/

#include <stdio.h>
#include <stdlib.h>
int main(void)
//fonction principale
{
int n;
printf("entrer un nombre entier :");
scanf("%d",&n);
printf("le factoriel de %d est : %d!=%.1d");
float factoriel(int n);

getch();
return 0;
}

#include <stdio.h>
#include <stdlib.h>
int main() //il s'agit ici de la fonction principal
// avec celle ci on appele la fonction secondaire
// declare ci dessous et on peu le faire a volonte
{
int L,l,P;
printf("entrer la valeur de la longueur :");
scanf("%d",&L);
printf("\n");
printf("entrer la valeur de la largeur :");
scanf("%d",&l);
printf("le perimetre est :%.2d");
int calcul_perimetre(int L,int l);

Page 19 sur 269


return 0;
}
/*un programme c qui demande la longueur et la largeur du rectangle calcul et affiche son perimertre
*/
int calcul_perimetre(int L,int l)//cette fonction permet
// de calculer le perimetre.
{
int P; //ici on declare juste P puisque les autres le son deja
P =(L+l)*2;
return P; //cette fonction retourne p le perimetre
}

//fonction secondaire: la donction factoriel


float factoriel(int n)
{
int i; //on sait que pour calculer par exemple le factoriel de
int f; // 5 0n fait 5!=5*4*3*2*1
for(i=n;i<=n;i++) //en faite n est le nombre entrer par
f=f*i; //l'utilisateur et i c'est donc les
return f; //nombre qui vont etre parcouru
}

/*Ecrire un programme qui calcul le produit scalaire de deux vecteurs d’entiers U et V de même
dimension.
Ecrire la fonction suivante :
long ProduitScalaire(int *U,int *V, int dimension)*/

#include <stdio.h>
#define MAX 50
long ProduitScalaire(int *,int *, int) ;
main()
{

Page 20 sur 269


/* Déclarations */
int U[MAX], V[MAX]; /* tableaux donnés */
int N; /* dimension */
int I; /* indice courant */
long PS; /* produit scalaire */
/* Saisie des données */
do
{
printf("entrez la taille du vecteur(max.%d) : ",MAX);
scanf("%d", &N );
}while(N>MAX) ;
printf("** Premier vecteur **\n");
for (I=0; I<N; I++)
{
printf("Elément %d : ", I);
scanf("%d", &U[I]);
}
printf("** Deuxième vecteur **\n");
for (I=0; I<N; I++)
{
printf("Elément %d : ", I);
scanf("%d", &V[I]);
}
/* Calcul du produit scalaire */
PS = ProduitScalaire(U,V,N) ;
/* Edition du résultat */
printf("Produit scalaire est : %ld\n", PS);

getch();
return 0;
}
long ProduitScalaire(int *U, int *V,int N)

Page 21 sur 269


{
long PS ;
int i ;
for (PS=0, i=0; i<N; i++)
PS += (long)U[i]*V[i];
return PS ;
}

/*un programme c qui affiche un tableau d'element*/

#include <stdio.h>
#include <stdlib.h>

#define taille_tab 10 //pour definir le nombre d'element du tableau


int main(void)
{
int tableau[taille_tab]={2,5,1,7,0,9,4,8,2,1}; //[type d'element] [nom tab][taille]={element}
int i;
for(i=0;i<taille_tab;i++)
printf("[%d]",tableau[i]);
return 0;
}

/*un programme c qui demande 2 entier a l'utilisateur


calcul et renvoie le pgcd de ces deux entier entrer*/

Page 22 sur 269


#include <stdio.h>
#include <stdlib.h>
int pgcd(int a,int b)
{ while(b!=0)
{int t =b;
b=a%b;
a=t;
}
return a;
}
int main()
{ int a,b;
printf("entre les valeur de a :\n");
scanf("%d",&a);
printf("entre les valeur de b :\n");
scanf("%d",&b);
int k=pgcd(a,b);
printf("le pgcd(%d,%d) est %d",a,b,k);

getch();
return 0;
}

/*un programme c qui demande deux entier a l'utilisateur


calcul et renvoi le ppcm de ces deux valeurs entre*/

#include <stdio.h>
#include <stdlib.h>

int ppcm(int a,int b)


{
int r=a*b;

Page 23 sur 269


while(b!=0)
{
int t =b;
b=a%b;
a=t;}
int k=r/a;
return k;

int main( )
{
int a,b;
printf("entre la valeur de a :\n");
scanf("%d",&a);
printf("entre la valeur de b :\n");
scanf("%d",&b);
int result =ppcm(a,b);
printf("le ppcm(%d,%d)=%d",a,b,result);

getch();
return 0;
}

/*un programme c qui permet de remplire un tableau de 10


entier et affiche ce tableau */

#include <stdio.h>
#include <stdlib.h>
int main()
{
int tableau[10];

Page 24 sur 269


int i;
/*cette partie ou fonction est pour que
l'utilisateur lui memme entre les valeurs
du tableau*/

for(i=0;i<10;i++){
printf("entrer un entier :\n");
scanf("%d",&tableau[i]);
printf("\n");}
/*pour maintenant afficher le tableau */
for(i=0;i<10;i++)
printf("[%d]",tableau[i]);

getch();
return 0;
}

/*un programme c qui demande a l'utilisateur le nombre de valeur


du tableau puis demande a l'utisateur de rempli le tableau */

#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i,nbl;
int tab[nbl];
//pour definir le nombre d'element du tableau
printf("entrer le nombre de ligne du tableau :\n");
scanf("%d",&nbl);

for(i=0;i<nbl;i++) { //pour remplir le tablea


printf("entrer un nombre :\n");

Page 25 sur 269


scanf("%d",&tab[i]);
}
for(i=0;i<nbl;i++) { //pour afficher le tableau
printf("[%d] ",tab[i]);
}
getch();
return 0;
}

Page 26 sur 269


Page 27 sur 269
Page 28 sur 269
Page 29 sur 269
Page 30 sur 269
Page 31 sur 269
Page 32 sur 269
Page 33 sur 269
Page 34 sur 269
Page 35 sur 269
Page 36 sur 269
Page 37 sur 269
Page 38 sur 269
Page 39 sur 269
Page 40 sur 269
Page 41 sur 269
Page 42 sur 269
Page 43 sur 269
Page 44 sur 269
Page 45 sur 269
Page 46 sur 269
Page 47 sur 269
Page 48 sur 269
Page 49 sur 269
Page 50 sur 269
Page 51 sur 269
Page 52 sur 269
Page 53 sur 269
Page 54 sur 269
Page 55 sur 269
Page 56 sur 269
Page 57 sur 269
Page 58 sur 269
Page 59 sur 269
Page 60 sur 269
Page 61 sur 269
Page 62 sur 269
Page 63 sur 269
Page 64 sur 269
Page 65 sur 269
Page 66 sur 269
Page 67 sur 269
Page 68 sur 269
Page 69 sur 269
Page 70 sur 269
Page 71 sur 269
Page 72 sur 269
Page 73 sur 269
Page 74 sur 269
Page 75 sur 269
Page 76 sur 269
Page 77 sur 269
Page 78 sur 269
Page 79 sur 269
Page 80 sur 269
Page 81 sur 269
Page 82 sur 269
Page 83 sur 269
Page 84 sur 269
Page 85 sur 269
Page 86 sur 269
Page 87 sur 269
Page 88 sur 269
Page 89 sur 269
Page 90 sur 269
Page 91 sur 269
Page 92 sur 269
Page 93 sur 269
Page 94 sur 269
Page 95 sur 269
Page 96 sur 269
Page 97 sur 269
Page 98 sur 269
Page 99 sur 269
Page 100 sur 269
Page 101 sur 269
Page 102 sur 269
Page 103 sur 269
Page 104 sur 269
Page 105 sur 269
Page 106 sur 269
Page 107 sur 269
Page 108 sur 269
Page 109 sur 269
Page 110 sur 269
Page 111 sur 269
Page 112 sur 269
Page 113 sur 269
Page 114 sur 269
Page 115 sur 269
Page 116 sur 269
Page 117 sur 269
Page 118 sur 269
Page 119 sur 269
Page 120 sur 269
Page 121 sur 269
Page 122 sur 269
Page 123 sur 269
Page 124 sur 269
Page 125 sur 269
Page 126 sur 269
Page 127 sur 269
Page 128 sur 269
Page 129 sur 269
Page 130 sur 269
Page 131 sur 269
Page 132 sur 269
Page 133 sur 269
Page 134 sur 269
Page 135 sur 269
Page 136 sur 269
Page 137 sur 269
Page 138 sur 269
Page 139 sur 269
Page 140 sur 269
Page 141 sur 269
Page 142 sur 269
Page 143 sur 269
Page 144 sur 269
Page 145 sur 269
Page 146 sur 269
Page 147 sur 269
Page 148 sur 269
Page 149 sur 269
Page 150 sur 269
Page 151 sur 269
Page 152 sur 269
Page 153 sur 269
Page 154 sur 269
Page 155 sur 269
Page 156 sur 269
Page 157 sur 269
Page 158 sur 269
Page 159 sur 269
Page 160 sur 269
Page 161 sur 269
Page 162 sur 269
Page 163 sur 269
Page 164 sur 269
Page 165 sur 269
Page 166 sur 269
Page 167 sur 269
Page 168 sur 269
Page 169 sur 269
Page 170 sur 269
Page 171 sur 269
Page 172 sur 269
Page 173 sur 269
Page 174 sur 269
Page 175 sur 269
Page 176 sur 269
Page 177 sur 269
Page 178 sur 269
Page 179 sur 269
Page 180 sur 269
Page 181 sur 269
Page 182 sur 269
Page 183 sur 269
Page 184 sur 269
Page 185 sur 269
Page 186 sur 269
Page 187 sur 269
Page 188 sur 269
Page 189 sur 269
Page 190 sur 269
Page 191 sur 269
Page 192 sur 269
Page 193 sur 269
Page 194 sur 269
Page 195 sur 269
Page 196 sur 269
Page 197 sur 269
Page 198 sur 269
Page 199 sur 269
Page 200 sur 269
Page 201 sur 269
Page 202 sur 269
Page 203 sur 269
Page 204 sur 269
Page 205 sur 269
Page 206 sur 269
Page 207 sur 269
Page 208 sur 269
Page 209 sur 269
Page 210 sur 269
Page 211 sur 269
Page 212 sur 269
Page 213 sur 269
Page 214 sur 269
Page 215 sur 269
Page 216 sur 269
Page 217 sur 269
Page 218 sur 269
Page 219 sur 269
Page 220 sur 269
Page 221 sur 269
Page 222 sur 269
Page 223 sur 269
Page 224 sur 269
Page 225 sur 269
Page 226 sur 269
Page 227 sur 269
Page 228 sur 269
Page 229 sur 269
Page 230 sur 269
Page 231 sur 269
Page 232 sur 269
Page 233 sur 269
Page 234 sur 269
Page 235 sur 269
Page 236 sur 269
Page 237 sur 269
Page 238 sur 269
Page 239 sur 269
Page 240 sur 269
Page 241 sur 269
Page 242 sur 269
Page 243 sur 269
Page 244 sur 269
Page 245 sur 269
Page 246 sur 269
Page 247 sur 269
Page 248 sur 269
Page 249 sur 269
Page 250 sur 269
Page 251 sur 269
Page 252 sur 269
Page 253 sur 269
Page 254 sur 269
Page 255 sur 269
Page 256 sur 269
Page 257 sur 269
Page 258 sur 269
Page 259 sur 269
Page 260 sur 269
Page 261 sur 269
Page 262 sur 269
Page 263 sur 269
Page 264 sur 269
Page 265 sur 269
Page 266 sur 269
Page 267 sur 269
Page 268 sur 269

Vous aimerez peut-être aussi