CORRIGES

1-Compilateur: C’est un programme qui traduit le code source d’un programme en binaire.

   Préprocesseur: C’est un programme qui se lance au début de la compilation. Son rôle est d’exécuter les instructions spéciales qu’on lui a fournies dans les directives de préprocesseur.

2-a) Le langage C a besoin d’un compilateur pour fonctionner.

   b) Toute variable, constante ou fonction en langage C est d’un type bien précis.

   c) Il faut bien différencier les majuscules des minuscules.

3- Le compilateur cc sous Unix et le compilateur gcc du projet GNU.

4- Type entier (int, long, unsigned char)

Type flottant (double, float)

     Type caractère: char;

    NB: char est en réalité un type entier car la table ASCII convertit les caractères en entiers.

5-VRAI

6-La portée d’une variable locale se limite à la fonction dans laquelle elle est définie alors la portée d’une variable globale s’étend sur toutes les fonctions du code;

7-Non. Toutes les fonctions retournent quelque chose, si une fonction ne retourne rien, on met le mot clé void

EXERCICE I:

1-     a) <stdio.h>

        b) scanf

c)int n

d)int main void ()

 {

int n;

printf («Entrer un nombre»);

scanf («%d», &n);

return 0;

}

2-

#include<stdio.h>

int main void (){..

}

3- % spécifie le format de la donnée à afficher (int,  long, float, etc.)

& s’ajoute devant le nom de la variable qui va recevoir une valeur.

EXERCICE II: Transcription d’un algorithme en langage C

Algorithme

Programme en langage C

1. Algorithme Calcul

2. Variable: X, A, B, i: entier;

3. début

4.         écrire («Entrer X et A»);

5.         Lire (X, A);

6.         B              1;

7.         pour i allant de 1 à X pas=1 faire

8.                    B              B*A;

9.         finpour

10.                  écrire («résultat= », B);

11.      fin

#include <stdlib.h>

#include<stdio.h>

int main (int argc,char*argv[ ]){

          int B=1;

          int i, X, A;

          printf (‘Entrez X et A’) ;

          scanf (‘%d,%d‘, &X, &A);

          for (i=1;i<X;i++){

                         B=B*A;

               }

           printf («résultat =%d», B );                      return 0;

}