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();
}