Alc LangageC
Alc LangageC
Alc LangageC
DESCRIPTIF DE LA LEÇON
— initiation à l’algorithmique ;
— conception d’un pseudo-code
1 ELEMENTS NOTIONNELS
1.1 Environnement de travail
(a) Ordinateur (PC portatif par étudiant obligatoire)
(b) Logiciels :
— Système d’Exploitation : Unix de préférence (Ubuntu, Mint, etc.)
— Editeur de texte : gedit, Visual Studio Code
— Compilateur : gcc (GNU Compiler Collection)
1
1.2 Code source, compilation, code objet
1.2.1 Activité 1
1.2.2 Définitions
(a) Code source : texte qui détaille les instructions d’un programme informatique dans un langage de programmation compréhensible
et utilisable par l’homme.
Exemple : contenu du fichier tp0.c
(b) Compilateur : programme qui traite les instructions écrites dans un code source pour les traduire en langage machine (utilisé par
le processeur d’un ordinateur).
Exemple : gcc (GNU Compiler Collection)
(c) Code objet : code (compréhensible par l’ordinateur dans un format binaire exécutable) obtenu après compilation d’un code
source.
Exemple : a.out
1.2.3 Le préprocesseur
Le préprocesseur est un programme qui réalise des traitements préliminaires sur le code source avant que ce dernier ne soit réellement
compilé. Il effectue des modifications textuelles sur le fichier source à partir de directives. Les différentes directives au préprocesseur,
introduites par le caractère #, ont pour but :
(a) l’incorporation de fichiers source (#include),
(b) la définition de constantes symboliques et de macros (#define),
(c) la compilation conditionnelle (#if, #ifdef,...).
2
1.4 Fondements du langage C
1.4.1 Les identificateurs
(1) servent à donner un nom à une entité du programme (variables, fonctions, ...).
(2) sont formés d’une suite de lettres de l’alphabet anglais (pas d’accents), chiffres et du caractère souligné (_), le
premier caractère étant impérativement une lettre ou un caractère souligné.
NOTE :
— Le langage C distingue les minuscules des majuscules (on dit qu’il respecte la casse) : mi2, MI2 et Mi2 sont troix noms différents.
— On conseille de choisir des identificateurs évocateurs !
divers
return sizeof
(1) informations temporaires qu’on stocke dans la RAM. On dit qu’elles sont "variables" car ce sont des valeurs qui
peuvent changer pendant le déroulement du programme.
(2) une variable possède deux composantes :
(a) une valeur : c’est le nombre qu’elle stocke, par exemple 3,14 ;
(b) un identifiant : c’est le nom qui permet de la reconnaître, par exemple PI.
3
1.4.5 Déclaration d’une variable
type identificateur [,identificateur,...] ;
Exemple :
int effectif ;
double x, y, z ;
char reponse2, reponse2 ;
En C, il est possible de procéder à la déclaration et à l’initialisation en une seule instruction, par exemple :
int effectif=4 ;
double x=2.7, y=2.7, z=1.2345e16 ;
char car1=’a’, car2=83 ;
chaîne de format
Elle permet de spécifier la manière d’afficher et les arguments suivants sont les variables que l’on veut afficher.
Exemple
int i=20 ;
double resultat=0.1 7 6 4 7 1 ;
4
printf ("resultat vaut %f ou encore (%1.2f)\n", resultat, resultat) ;
printf("i=%04d et resultat=%1.3f\n", i, resultat) ;
Un tel programme donnera à l’écran :
la valeur de i est : 20
resultat vaut 0.176471 ou encore
(0.18)
i=0020 et resultat=0.176
NOTE
* %d permet d’afficher un entier ;
• %04d permet d’afficher un entier sur 4 caractères en comblant avec des 0 sur la gauche si nécessaire ;
• %4d permet d’afficher un entier sur 4 caractères comblant avec des ”blancs” sur la gauche si nécessaire ;
* %f permet d’afficher un nombre à virgule flottante ;
• %.3f permet d’afficher un nombre à virgule flottante avec 3 chiffres après la virgule ;
* %c permet d’afficher un caractère ;
* %s permet d’afficher une chaîne de caractères ;
La bibliothèque d’entrée/sortie du C dispose de bien d’autres fonctionnalités ...
(b) Les Sorties : utilisation de la fonction scanf pour la lecture des données entrées.
scanf("chaines de format", &arg1, &arg2 , . . . ) ;
5
• int abs(int x) ; double fabs(double x) ; renvoie la valeur absolue de x ;
• double ceil(double x) ; double floor(double x) ; double rint(double x) ; effectuent toutes trois des ar-
rondis, ceil par excès, floor par défaut et rint vers l’entier le plus proche.
2.2 TP2
Ecrire en langage C, un programme qui affiche à l’écran le rectange :
******
* *
* *
* *
******
2.3 TP3
1o)
Ecrire un programme qui demande 2 entiers x, y à l’utilisateur et qui affiche en retour un rectangle de x lignes et y colonnes. Par
exemple, si l’utilisateur choisit x = 5, y = 3 le programme devra afficher :
xxx
xxx
xxx
xxx
xxx
2o) Modifier le programme précédent. Cette fois, un seul nombre x est demandé et le programme affiche un triangle de x lignes
comme suit (avec x=5, dans l’exemple) :
x
xx
xxx
xxxx
xxxxx
2.4 TP4
Ecrire un programme somme demandant á l’utilisateur de taper 10 entiers et qui affiche leur somme. Le programme ne devra utiliser
que 3 variables et ne devra pas utiliser de tableau.