Académique Documents
Professionnel Documents
Culture Documents
Exercice 1 :
Commandes Unix :
Compiler le programme C:
gcc -Wall ex1.c
-> -Wall est une option qui permet d’afficher certaines erreurs supplémentaires (Warning)
A utiliser à chaque compilation!
Exécuter le a.out :
./a.out
Exécuter l’éxécutable :
./ex1
Remarques :
-Veillez à bien respecter les espaces lorsqu'il y en a dans les commandes Unix et les
programmes C. En revanche, on peut en rajouter un ou plusieurs pour aérer le code, mais ce
n'est pas obligatoire.
ex: if(a!=0) est équivalent à if ( a != 0 )
-Dans emacs, cocher la première option (Syntax Highlighting) pour avoir le code en couleur.
-Dans la console, utiliser la flèche vers le haut pour avoir les dernières commandes
effectuées.
-Messages d’erreurs :
· Warning -> pas grave mais à corriger si on ne veut pas avoir de surprises…
· Fatal error -> il faut recompiler car l’exécutable n’est pas créé
ex : parse error = erreur de syntaxe ; , }
Programme C :
ex1.c
/* réalisé par Nom le Date TP1 ex1 / -> commentaire entre /*…*/
#include <stdio.h> -> inclusion de la bibliothèque permettant d’utiliser printf, scanf…
int main(void) { -> fonction principale obligatoire entre accolades
printf(“Bonjour\n ”); -> affichage de ce qui est entre guillemets (\n = retour à la ligne)
return 0; -> retour de la fonction principale de type int
}
Exercice 2 :
ex2.1.c
/* TP1 ex2 version 1 * /
#include <stdio.h>
int main(void) {
int a,b; -> déclaration de deux variables entières
a=2; -> affectation d’une variable
b=3;
printf(“Somme=%d\n Différence=%d\n Produit=%d\n Quotient=%d\n”,a+b,a-b,a*b,a/b);
-> %d pour afficher une variable de type int que l’on indique après la virgule
return 0;
}
ex2.2.c
/* TP1 ex2 version 2 */
#include <stdio.h>
int main(void) {
float a; -> déclaration d’une variable réelle
int b;
a=2.5; -> un nombre à virgule s’écrit avec un point
b=3;
printf(“Somme=%f\n Différence=%f\n Produit=%f\n Quotient=%f\n”,a+b,a-b,a*b,a/b);
-> %f pour une variable de type float (la somme d’un entier et d’un réel donne un réel)
return 0;
}
Remarque : Dans le prinft, si on met %.2f -> affiche seulement deux chiffres après la virgule.
ex2.3.c
/* TP1 ex2 version 3 et 4 * /
#include <stdio.h>
int main(void) {
float a;
int b;
scanf(“%f%d”,&a,&b); -> lecture de variables au clavier
printf(“Somme=%f\n Différence=%f\n Produit=%f\n”,a+b,a-b,a*b);
-> affichage dans tous les cas
if(a!=0) printf(“Quotient=%f\n”,a/b); -> teste si a est différent de 0
(a==0 pour tester l’égalité)
else printf(“Division par zéro impossible\n”); -> si le test du if n’est pas vérifié
return 0;
}
Instructions conditionnelles :
if(condition) {
instruction;
}
-> si l’instruction est réduite à une seule ligne, les accolades ne sont pas obligatoires
Remarque : Dans le printf, si on met %3d -> affiche le nombre sur au moins 3 caractères en
ajoutant des espaces devant (permet d’aligner les nombres à droite).