GÉNIE ÉLECTRIQUE

 

Dernière mise à jour 
19 août 2006

SOMMAIRE

     Exemples de programmes en C

 

/* AFFLIGNE.C : Ce programme affiche des lignes avec des commandes

de tabulations (/t) et de sauts de lignes (/n) */

#include <stdio.h>

main ()

{   printf ("Ceci est une ligne de texte suivi d'un saut de ligne/n");

   printf ("Cette deuxième ligne recoit -->");

   printf ("un texte attaché/n");

   printf ("Voici une ligne /ncoup‚e /n/npar 3 sauts de lignes");

   printf ("/n/tEt une tabulation! /tet 2/tet 3/tet 4!/n");

}

 

/* CONTBRK.C : Ce programme présente les effets des instructions CONTINUE

et BREAK */

#include <stdio.h>

main ()

{

            int index;

            printf ("/n/n/t présentation de l'interruption de boucle par BREAK /n");

            for (index = 4; index < 10; index ++)

            {

                        if (index == 8) break;

                        printf ("/nLa valeur du compteur est actuellement %d", index);

            }

            printf ("/n/n/t présentation de la suspension de boucle par CONTINUE /n");

            for (index = 4; index < 10; index ++)

            {

                        if (index == 8) continue;

                        printf ("/nLa valeur du compteur est actuellement %d", index);

            }

}

 

/* SWITCH.C : ce programme démontre l'usage de la commande d'aiguillage en C

elle utilise les mots clefs SWITCH, CASE, BREAK */

#include <stdio.h>

main ()

{           int index;

            for (index = 3; index < 13; index++)

            {                                              /* début de la boucle for */

                        switch (index)               /* étude de la valeur de index */

                        {

                                   case 3 : printf ("/n la valeur de l'index est 3 ");

                                                                       break;

                                   case 4 : printf ("/n la valeur de l'index est 4 ");

                                                                       break;

                                   case 5 :

                                   case 6 :

                                   case 7 :

                                   case 8 : printf ("/n la valeur est comprise entre 5 et 8");

                                                                       break;

                                   case 11 : printf ("/n à présent la valeur est 11 !");

                                                                       break;

                                   default : printf ("/nles valeurs entre 8 et 10");

                                                           printf (" et supérieures à 11 ne sont pas commentées");

                                                                       break;

                        }                       /* fin du bloc switch */

            }                /* fin du bloc for */

}             /* fin de main() */

 

/* STRUCT.C : Programme d'exemple des structures de base DO ... WHILE

IF ... ELSE (imbriquées),  WHILE, et FOR */

#include <stdio.h>

#include <stdlib.h>        /* pour l'accès aux fonctions rand, srand et time */

int cache, propose, trouve, compteur = 0;

char rep;

main()

{

   do

   {

      printf ("/n/nVous devez trouver en 10 coups un entier compris entre 0 et 50");

      srand (time(NULL));

      cache = rand() % 50;

      trouve = 0; rep = ' ';

      for (compteur = 1; compteur < 10; compteur += 1)

      {

             printf ("/n/tEntrer votre propostion : ");

             scanf ("%d", &propose) ;

             if (propose == cache)

             {

                printf ("/n/t/t BRAVO  -  C'est gagné en %d coups!", compteur);

                trouve = 1;

                compteur = 10;         /* ce qui permet de forcer la sortie du FOR */

             }

             else

                if (propose > cache)

                   printf ("/n/tC'est trop grand");

                else

                   printf ("/n/tC'est trop petit");

      }

      while (rep != 'O' && rep != 'N')

      {

             printf ("/n/nVoulez vous rejouer [O]ui/[N]on");

             scanf ("%c", &rep);

      }

   }

   while (rep == 'O');

   printf ("/n/n/tAu Revoir !!");

}

 

/* exemple de pilotage du port // d’un PC*/

#include <dos.h>              /* pour outportb et inportb */

#include <conio.h>            /* pour clrscr */

#include <stdio.h>           /* pour la fonction printf, a retirer */

char n =0x55;

void main ()

{   clrscr ();

            do

            {           gotoxy (10,10);

                        outportb(0x379,n) ;

                        printf ("Port entrée // vaut :%xb /n",inportb (0x379));

                        printf ("%xb est envoyé sur le port sortie // ",n));

            }

            while (1);

}

 

 Genelaix - IUFM - Académie d'Aix-Marseille-août 2006