Micros ID n°1 décembre 1986
Micros ID n°1 décembre 1986
  • Prix facial : 22 F

  • Parution : n°1 de décembre 1986

  • Périodicité : trimestriel

  • Editeur : Mieva Presse

  • Format : (201 x 296) mm

  • Nombre de pages : 84

  • Taille du fichier PDF : 72,6 Mo

  • Dans ce numéro : Sony contre Amstrad : le combat

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 32 - 33  |  Aller à la page   OK
Pages suivantes >
32 33
Langages I C'EST « C » Vous avez déjà entendu parler du langage C ? Oui ? Ah, on vous a dit que c'était un langage complexe réservé aux seuls spécialistes et utilisé uniquement dans l'écriture des compilateurs. Fariboles que tout cela, le langage C n'est pas plus difficile à apprendre qu'un autre et il peut être utilisé de façon performante dans tous les types d'applications que ce soit de la gestion, du contrôle de processus ou même des jeux. Pour démystifier le C (c'est comme ça que nous l'appellerons désormais), nous vous proposons dès ce numéro une série d'articles d'initiation à la programmation enC. Nous vous proposons de décrire le C par analogie au Basic. Ainsi, les spécialistes en Basic dont vous faites sans aucun doute partie ne seront pas trop dépaysés au début. LA GÉNÈSE Comme d'habitude, un peu d'histoire. Il n'est pas indispensable de connaître le nom de l'inventeur de la dynamite* pour jouer au terroriste, mais un peu de culture n'a jamais fait de tort à personne. Et le fait de connaître les noms de Ritchie, Kernigan et autre Bell laboratory vous permettra de ne pas passer pour une mazette auprès des intellectuels qui ont étudié ces noms par coeur et ne sont pas capables d'aligner trois lignes successives de C sans faire une erreur de syntaxe. Trève de bavardage ! Le langage C est donc un langage de programmation universel développé par Denis Ricthie pour le compte des laboratoires de la Bell téléphone (AT&T). Le C a été écrit au départ pour développer un système d'exploitation qui répond au doux nom d'Unix. A l'heure actuelle, le livre de Ritchie écrit en association avec Kernigan passe encore pour la bible de base du langage. Le C est un langage simple et structuré qui est relativement proche de l'assembleur. Il est donc assez performant au point de vue du temps d'exécution. Cependant, les programmes sont bien plus longs à écrire qu'en Lisp ou en Forth. Ces particularités ont déterminé bien des concepteurs de logiciels à écrire enC. A l'heure actuelle, des programmes aussi connus que Lotus 123, Symphony, le Gem de l'atari ST ou Jazz sont écrits en langageC. Des systèmes d'exploitation comme Unix ou le Gemdos sont eux aussi presque totalement écrits enC. Le langage C présente à peu près autant d'instructions qu'un Basic standard. Cependant, à l'instar du 32 1 ANALYSE STRUCTURELLE Basic, le C peut s'étoffer au moyen de bibliothèques de fonctions. Le C est un compilateur. Autrement dit, comme dans le cas de l'assembleur, il est nécessaire d'écrire un programme appelé source. Ce programme doit être écrit au moyen d'un éditeur ou d'un traitement de texte. A l'issue de l'écriture du programme source, celui-ci doit être compilé par le compilateur (of course)C. Le compilateur produit un autre programme appelé programme objet. Ce programme correspond à un programme en langage machine. Ce programme objet doit enfin passer dans un éditeur de lien (Linker) qui permettra de rendre le programme exécutable. Insistons surtout sur le fait que les programmes écrits en C sont en principe portables et qu'un logiciel écrit sur MSX sera normalement exécutable sur un PC, un Atari ou un Amiga pour autant que les bibliothèques de fonctions de base et de fonctions adressant directement le matériel soient compatibles. AU TRAVAIL Comme nous l'avons dit au début de cet article, nous allons décrire le langage C en le comparant au Basic tant que c'est possible. Rappelez-vous si vous désirez apprendre à programmer en C à l'aide de ces articles, que seules une grande pratique et une expérimentation personnelle de tous les instants vous permettront d'évoluer et d'arriver à une grande maîtrise du langage et de ses concepts. Le premier programme que l'on fait en Basic ressemble souvent à quelque chose comme 10 PRINT « BRAVO MICROS ID ». Respectons la règle. Nous allons donc vous donner le programme C qui réalise la même fonction et l'analyser ensemble mot par mot. main() printf (« BRAVO MICROS ID\n ») ; La première instruction du programme est main(). Cette instruction est une fonction particulière du C qui détermine le programme principal. Un programme C quel qu'il soit contiendra toujours la fonction main(). Il commencera toujours à cette fonction quelque soit sa place dans le programme source. Les accolades {} encadreni le contenu de la fonction. Le programme se terminera donc à l'accolade qui ferme la fonction main(). Il reste à étudier la ligne principale constituée de l'instruction printf qui correspond à l'instruction PRINT. L'expression sur laquelle porte l'instruction printf est comprise entre parenthèses. La chaîne de caractères (STRING) doit comme en Basic être écrite entre guillemets.
Il reste un petit détail à expliquer : Le\n. L'instruction Basic PRINT génère automatiquement un retour chariot (CARRIAGE RETURN) et un saut de ligne (LINE FEED) à l'issue de l'instruction. Si on.'eut inhiber l'édition du retour chariot et du saut de ligne, il faut faire suivre l'instruction par un point-virgule comme dans : 10 PRINT « COUCOU » ; EnC, c'est exactement pareil sauf que c'est le contraire comme aurait dit Devos. L'instruction printf ne produit pas de retour chariot ni de saut de ligne. Pour en obtenir l'effet, il faut faire suivre le texte d'un\n qui force le système à transmettre les deux codes de contrôle. Le point-virgule final du programme en langage C serf de séparateur d'instruction. Donc : Le programme Basic : 10 PRINT « BONJOUR JE LIS MICROS ID » peut s'écrire : 10 PRINT « BONJOUR » ; 20 PRINT « JE » ; 30 PRINT « LIS » ; 40 PRINT « MICROS » ; 50 PRINT « ID » ou, en C main() { printf (« BONJOUR JE LIS MICROS ID n ») ; } ou encore : main() { printf (« BONJOUR ») ; printf (« JE ») ; printf (« LIS ») ; printf (« MICROS ID ») ; printf (« n ») ; } Remarques : Les instructions en C et les noms de fonctions s'écrivent en minuscules. Respectez cette convention qui permettra à tout le monde de lire vos programmes facilement. Dans le même ordre d'idée, le décalage des instructions (les cinq espaces avant le printf) n'est pas obligatoire, il permet cependant une meilleure lisibilité du programme. Cette technique s'appelle l'indentation et certains éditeurs de texte la prennent en charge automatiquement. Nous avons vu comment afficher une chaîne de caractères enC. Voyons maintenant comment afficher une valeur numérique contenue dans une variable sans entrer dans des détails trop complexes pour un premier article d'initiation. Le programme Basic : 10 A=5 20 C=12.34 30 PRINT A ; C S'écrira en C : main() Langages C'EST « C » I { int A ; float C ; A=5 ; C=12.34 printf (« % 7d% 5.2f n », A,B) ; 1 Que remarquons-nous de particulier ? — Les variables sont déclarées avant l'utilisation. — Il n'y a rien de spécial à dire pour l'instant sur l'affectation d'une valeur à une variable (=). C'est comme en Basic. Il faut bien noter que enC, toute variable utilisée doit être déclarée et affectée. Le BASIC prend 0 comme valeur par défaut pour une variable si elle n'est pas affectée préalablement. Il n'en est pas de même en C et l'utilisation d'une variable non affectée produira un message d'erreur. Remarquez aussi le point-virgule, délimiteur d'instruction, présent après chaque instruction. — L'instruction printf utilise un nouveau symbole, le signe pourcentage (%). En vérité, l'instruction printf est plus proche de l'instruction Basic PRINT USING que du PRINT seul. Le signe pourcentage représente donc un masque de format pour l'édition des variables numériques (comme le # en Basic).% 7d indique à l'instruction qu'il faut afficher une variable entière (c'est le d) dans un masque de 7 caractères.% 5.2f indique à l'instruction qu'il faut afficher une variable flottante (c'est le f) dans un masque de 5 caractères avec 2 caractères après la virgule décimale. Les spécifications de formatage sont très nombreuses et seront décrites dans un article ultérieur. Enfin, pour terminer ce premier article qui nous l'espèrons vous aura intéressé, nous allons analyser la syntaxe de l'instruction commentaire (REM en Basic). Les commentaires sont très importants enC. Un programme sans commentaire est très difficile à relire après quelques temps, et la redécomposition du processus ce réflexion qui a donné lieu à la naissance du programme peut se révéler particulièrement longue et fastidieuse. Format de l'instruction de commentaire/* ceci est une ligne de commentaires */Un commentaire est donc un texte quelconque compris entre les symboles/* et */Remarque importante : Un commentaire n'est pas à proprement parler une instruction et ne doit pas être suivi du point-virgule qui marque la fin d'une instruction. Dans le prochain numéro, nous analyserons la fonction d'entrée (INPUT), les boucles (FOR NEXT) et l'arithmétique (+ */-). A suivre... Daniel Martin * C'est Alfred NOBEL (celui du prix) qui a inventé la dynamite. r



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


Micros ID numéro 1 décembre 1986 Page 1Micros ID numéro 1 décembre 1986 Page 2-3Micros ID numéro 1 décembre 1986 Page 4-5Micros ID numéro 1 décembre 1986 Page 6-7Micros ID numéro 1 décembre 1986 Page 8-9Micros ID numéro 1 décembre 1986 Page 10-11Micros ID numéro 1 décembre 1986 Page 12-13Micros ID numéro 1 décembre 1986 Page 14-15Micros ID numéro 1 décembre 1986 Page 16-17Micros ID numéro 1 décembre 1986 Page 18-19Micros ID numéro 1 décembre 1986 Page 20-21Micros ID numéro 1 décembre 1986 Page 22-23Micros ID numéro 1 décembre 1986 Page 24-25Micros ID numéro 1 décembre 1986 Page 26-27Micros ID numéro 1 décembre 1986 Page 28-29Micros ID numéro 1 décembre 1986 Page 30-31Micros ID numéro 1 décembre 1986 Page 32-33Micros ID numéro 1 décembre 1986 Page 34-35Micros ID numéro 1 décembre 1986 Page 36-37Micros ID numéro 1 décembre 1986 Page 38-39Micros ID numéro 1 décembre 1986 Page 40-41Micros ID numéro 1 décembre 1986 Page 42-43Micros ID numéro 1 décembre 1986 Page 44-45Micros ID numéro 1 décembre 1986 Page 46-47Micros ID numéro 1 décembre 1986 Page 48-49Micros ID numéro 1 décembre 1986 Page 50-51Micros ID numéro 1 décembre 1986 Page 52-53Micros ID numéro 1 décembre 1986 Page 54-55Micros ID numéro 1 décembre 1986 Page 56-57Micros ID numéro 1 décembre 1986 Page 58-59Micros ID numéro 1 décembre 1986 Page 60-61Micros ID numéro 1 décembre 1986 Page 62-63Micros ID numéro 1 décembre 1986 Page 64-65Micros ID numéro 1 décembre 1986 Page 66-67Micros ID numéro 1 décembre 1986 Page 68-69Micros ID numéro 1 décembre 1986 Page 70-71Micros ID numéro 1 décembre 1986 Page 72-73Micros ID numéro 1 décembre 1986 Page 74-75Micros ID numéro 1 décembre 1986 Page 76-77Micros ID numéro 1 décembre 1986 Page 78-79Micros ID numéro 1 décembre 1986 Page 80-81Micros ID numéro 1 décembre 1986 Page 82-83Micros ID numéro 1 décembre 1986 Page 84