dimanche 27 avril 2014

10 exercices Langage c

les exercices langage c 
Exercice  1 : 
Que  renvoie  la  fonction  strcmp  (comparaison  de  chaînes)  si  les  2  chaînes  comparées  sont identiques ?
a.  1 
b.  0 
c.  -1
Corrigé 1 :
  0
Exercice 2 :
Ce programme a un défaut. Mais lequel ?
main(){ 
char ville[100]; 
printf("Dans quelle ville habitez-vous ? "); 
scanf("%s", &ville); 
printf("Vous habitez %s, je connais bien cette ville !", ville); 
a.  Il manque un & devant la variable "ville" dans le printf 
b.  Il manque une * devant la variable "ville" dans la déclaration de la variable. 
c.  Il y a un & en trop devant "ville" dans le scanf.
Corrigé 2 :
c.  Il y a un & en trop devant "ville" dans le scanf.
Exercice 3 :
De quel type doit être le pointeur de fichier ?
a.  FILE 
b.  FILE* 
c.  File 
d.  File*
Corrigé 3 :
b.  FILE* 
Exercice 4 :
Laquelle de ces affirmations est fausse ?
a.  Une fonction en C peut ne pas renvoyer une valeur 
b.  Une fonction en C peut renvoyer une valeur de n’importe quel type 
c.  Une fonction peut renvoyer plusieurs valeurs
Corrigé 4 :

a.  Une fonction en C peut ne pas renvoyer une valeur 
c.  Une fonction peut renvoyer plusieurs valeurs
Exercice 5 :
Dans quel cas l'instruction return n'est pas obligatoire ?
a.  Quand la fonction ne prend aucun paramètre en entrée 
b.  Quand la fonction est de type void 
c.  Quand la fonction doit renvoyer 0 
Corrigé 5 :
b.  Quand la fonction est de type void 
Exercice 6 :
Ecrire un programme en langage C qui permute et affiche les valeurs de trois variables  A,B,C de type entier qui sont entrées au clavier :
A ==> B , B ==> C , C ==> A
Corrigé 6 : 
#include<stdio.h>
#include<stdlib.h>

    main()
    {
          int a,b,c,v;
          printf("entrez la valeur a :");
          scanf("%d",&a);
          printf("entrez la valeur b :");
          scanf("%d",&b);
          printf("entrez la valeur c :");
          scanf("%d",&c);
          printf("a=%d  b=%d  c=%d\n",a,b,c);
          v=c;
          c=b;
          b=a;
          a=v;
          printf("a=%d  b=%d  c=%d\n",a,b,c);
          
    system("pause>null");
    }
Exercice 7 :
Ecrire un programme en langage C qui affiche le quotient et le reste de la division entière de deux nombres entiers entrés au clavier ainsi que le quotient rationnel de ces nombres.
Corrigé 7 :
#include <stdio.h>
main()
{
int A, B;
printf("Introduisez deux nombres entiers : ");
scanf("%d %d", &A, &B);
printf("Division entiere  :  %d\n", A/B);
printf("Reste             :  %d\n", A%B);
printf("Quotient rationnel :  %f\n", (float)A/B);
system("pause");
}
exercice 8 :
Ecrire un programme en langage C qui affiche la résistance équivalente à trois résistances R1, R2, R3 (type double),
- si les résistances sont branchées en série:
Rsér= R1+R2+R3
- si les résistances sont branchées en parallèle:
Rpar = (R1*R2*R3)/(R1*R2+R1*R3+R2*R3)
Solution 8 :
#include <stdio.h>
main()
{
double R1, R2, R3, RRES;
printf("Introduisez les valeurs pour R1, R2 et R3 : ");
scanf("%lf %lf %lf", &R1, &R2, &R3);
RRES=R1+R2+R3;
printf("Resistance resultante serielle  : %f\n", RRES);
RRES=(R1*R2*R3)/(R1*R2+R1*R3+R2*R3);
printf("Resistance resultante parallele : %f\n", RRES);
system("pause");
}
exercice 9 :
Ecrire un programme en langage C qui calcule et affiche l'aire d'un triangle dont il faut 
entrer les longueurs des trois côtés. Utilisez la formule :
S2= P(P-A)(P-B)(P-C).
où A, B, C sont les longueurs des trois côtés (type int) et P le demi-périmètre du triangle.
Corrigé 9 : 
#include <stdio.h>
#include <math.h>
main()
{
/* Pour ne pas perdre de précision lors de la division, */
/* déclarons P comme rationnel. */
int A, B, C;
float P;
printf("Introduisez les valeurs pour A, B et C : ");
scanf("%d %d %d", &A, &B, &C);
/* En forçant la conversion de A, les autres opérandes */
/* sont converties automatiquement. */
P=((float)A+B+C)/2;
printf("Surface du triangle S = %.9f\n",sqrt(P*(P-A)*(P-B)*(P-C)));
getch();
}
Exercice 10 : 
Ecrire un programme en langage C qui calcule la somme de quatre nombres du type int entrés au clavier.
Corrigé 10 :
#include <stdio.h>
#include <math.h>
main()
{
int som=0 , n;
printf("entrez la valeur 1 :");
scanf("%d",&n);
som+=n;
printf("entrez la valeur 2 :");
scanf("%d",&n);
som+=n;
printf("entrez la valeur 3 :");
scanf("%d",&n);
som+=n;
printf("entrez la valeur 4 :");
scanf("%d",&n);
som+=n;
printf("somme=%d",som);
getch();
}