
Exercice If/Else - Else if
Exercice 1:
Expliquez ce que réalise ce programme:
if (a<10)
{
printf("Premier choix \n");
}
else if (b<10)
{
printf("Deuxième choix \n");
}
else if (a==b)
{
printf("Troisième choix \n");
}
else
{
printf("Quatrième choix \n");
}
Explications :
Si la valeur de A est supérieure à 10 alors on affiche “premier choix”.
Si la valeur de B est inférieure à 10 alors on affiche “deuxième choix”.
Si la valeur de A est égale à celle de B alors on affiche “troisième choix".
Si aucune de ces conditions n’est respecté on affiche “ quatrième choix”.
Correction exercices de bases
Exercice If/Else - Else if
Exercice 2:
Faire le programme permettant de savoir si le chiffre saisie est un chiffe positif ou négatif ou s'il est nul.
Attention aux types de la variable.
void main()
{
signed short a;
while(1)
{
scanf(“%hd”,&a);
if(a<0)
{
printf(“a est negatif”);
}
else if(a>0)
{
printf(“a est positif”);
}
else
{
printf(“a est nul”);
}
}
}
Exercice boucle for
Exercice 5 :
Réaliser un programme qui permet de choisir un film parmi 3 propositions.
Afficher “Erreur” lorsque la proposition ne correspond pas aux 3 films.
1ére proposition: Bamby
2éme proposition: ScarFace
3éme proposition: Harry Potter
Explications et correction:
int main()
{
signed short film;
printf(“Tapez: 1 pour Bamby\n 2 pour Scar Face\n 3 pour Harry Potter \n”);
fflush(stdin);
scanf(“%c”,&film);
switch(film) {
case 1 :
printf(“Bamby bon choix\n”);
break;
case 2 :
printf(“Scar Face \n”);
break;
case 3 :
printf(“Harry Potter \n”);
break;
default :
printf(“Erreur \n”);
}
return 0;
}
Exercice 4:
Écrire un programme permettant de calculer et d'afficher la somme des chiffre suivant : 1+2+3+...+N.
N étant un chiffre quelconque choisi par l'utilisateur.
Explication et correction:
int main()
{
signed short n,i,res;
printf(“Saisissez un nombre \n”);
fflush(stdin);
scanf(“%hd”,&n);
for(i=1,i<=n,i++) //Attention ici, i commence à 1 et inclut n!
{
res = res + i;
}
printf(“Le resultat est %hd”,res);
return 0;
}
Exercice switch Case
Exercice 6 :
Que réalise ce programme ?
#include<stdio.h>
int main()
{
signed short x;
do{
printf("Saisir un nombre \n ")
scanf("%hd",&x);
}
while( (x > 20) || (x < 0) );
}
Explication:
Ce programme demande de saisir un nombre jusqu’à qu’il soit compris entre 0 et 20.
Exercice while/ do while
Exercice 1:
Soit P un pointeur qui "pointe" sur un tableau A:
signed short A[8] = {10, 20, 30, 45, 54, 68, 12, 23};
signed short *P;
P = A;
Quelles valeurs ou adresses fournissent ces expressions:
a - *P+2 = 12
b - *(P+2) = 30
d - &A[4]-3 = &A[1]
e - A+3 = &A[3]
Exercice pointeur
Exercice 2:
Qu’affiche ce programme ?
#include<stdio.h>
#include<stdlib.h>
void Mafonction(signed short *Ptr1);
void Mafonction2(signed short *Ptr2);
int main()
{
signed short *Ptr1,*Ptr2,Var1=8,Var2=9,res;
Ptr1 = &Var1;
Ptr2 = &Var2;
Mafonction(Ptr1);
Mafonction2(Ptr2);
res = *Ptr1 + *Ptr2;
printf("res = %hd \n",res);
return 0;
}
void Mafonction(signed short *Ptr1)
{
signed short Val = 7;
*Ptr1 = Val;
}
void Mafonction2(signed short *Ptr2)
{
signed short Val2 = 12;
*Ptr2 = Val2;
}
Explication et correction:
Ce programme affiche 19.
Exercice pointeur