}

Langage de programmation C (V). Structures de contrôle II

1991/06/01 Alegria Loinaz, Iñaki | Maritxalar, Montse Iturria: Elhuyar aldizkaria

Après avoir analysé dans le chapitre précédent les structures conditionnelles F et switch et les structures répétitives while et do-while, l'objectif de ce chapitre est centré sur les explications.

IF

Après avoir analysé les structures conditionnelles et répétitives de while et do-while dans le chapitre précédent, l'objectif de ce chapitre est centré sur les explications suivantes:

  • Structure pour répétitive
  • break et utilisation des jugements continue dans des structures répétitives.
  • Utilisation des structures et expressions analysées dans des exemples d'intérêt: if cavadas, gestion des bits.
  • La chaîne de caractères et la définition et l'utilisation des tables dans des structures répétitives.

Structure FOR

Dans cette structure répétitive complexe, les expressions d'initialisation et de mise à jour par cycle sont admises sur le corps de ramollissement et la condition de répétition, ce qui donne parfois une structure très confortable.

La syntaxe est la suivante:

Son fonctionnement est le suivant:

  1. évaluer l'expression initiale (initialisation).
  2. évaluer l'expression des baldins. S'il est faux de passer à la sentence suivante (fin).
  3. si l'expression de baldin est vraie, l'expression ou les expressions corporelles sont effectuées.
  4. évaluer l'expression quotidienne (mise à jour) et 2) au point.

La première expression entre parenthèses (initialisation) est donc exécutée une fois, la seconde au début de chaque cycle et la troisième (mise à jour) à la fin de chaque cycle. Cependant, ce qui est fait avec la structure for peut être effectué par while et allocation comme vous pouvez le voir ci-dessous.

Le calcul du factoriel décrit dans le Programme 1 dans le chapitre précédent peut être vu en utilisant la structure for.

Programme 1. Factorielle par for.

Si les expressions de la structure sont facultatives, l'expression du baldin doit toujours apparaître, sinon l'adoucissement serait infini. Lorsque la première et la troisième expression n'apparaissent pas, for et while sont totalement équivalents.

Le corps peut être formé d'une seule expression ou d'un ensemble d'expressions séparées par des pieds et}, admettant aussi le corps vide (dans ce cas le corps est formé par le caractère).

Break et Continue

Dans les structures répétitives, même si l'expression qui contrôle le bigal (expression de baldin) est parfois respectée, il convient de sortir du bigal s'il y a une exception. La phrase break est utilisée dans des structures répétitives.

Un exemple peut être vu dans le programme 2. On y lit 80 caractères et on compte le nombre de majuscules. Cependant, si vous lisez le caractère ‘.’, vous ne devez pas lire plus de caractères.

Programme 2. Utilisation du jugement Break.

Dans d'autres cas, lorsque le corps de la structure répétitive est complexe, il peut arriver que, bien que voulant continuer à se ramollir dans une situation, il n'est pas nécessaire d'exécuter une partie du corps, donc une sentence continue très appropriée.

Dans le 3ème programme on lit 20 numéros et il faut calculer votre produit, mais si le numéro est Ø on ne tient pas compte.

Programme 3. Utilisation de l'arrêt Continue.

Exemples

Énoncé 1: Lire trois nombres entiers et grands (Programme 4).

Programme 4. Cavados If.

Dans cet exemple, les branches d'une if affichent les structures if ( if creusées) et, en considérant chaque structure comme une expression simple, aucune clé n'est nécessaire.

Énoncé 2: Lire un caractère et calculer combien de bits il y a en état zéro. (Programme 5).

Programme 5. Cavados If.

La gestion des bits est très difficile dans les langages supérieurs, tandis que Cz est extrêmement simple (and), (or), interactif (xor), (déplacement gauche) et (déplacement droit). Dans l'exemple, l'opération et l'analyse d'un bit, car lorsque nous associons une donnée avec un masque avec un seul bit dans l'état 1, si le bit de la donnée correspondant à 1 est zéro, et si c'est un, le résultat différent est zéro. L'opération se trouve dans un bigal (avec la structure for) qui se répète 8 fois, mais pour analyser les différents bits il faut déplacer dans le bigal les bits du masque (comme ce qui a été fait dans le programme) ou déplacer la même donnée.

Énoncé 3: Lire 40 caractères et compter les bits dans Ø.

Dans cet exemple, 2 questions sont posées:

  • Pouvez-vous lire les caractères à la fois ou un par un? Il est possible de lire tous à la fois, mais pour cela il faut utiliser le type de données chaîne de caractères, que nous n'avons pas analysé jusqu'à présent.
  • Est-il possible d'utiliser le code utilisé dans l'énoncé 2 pour résoudre ce problème ? La réponse est affirmative, mais pour cela, au lieu d'être le programme principal 5 (main), elle doit être définie comme une action non primitive (aussi appelée fonction, procédure ou routine), que nous analyserons dans le chapitre suivant.

Chaînes de caractères et tables

Les données de base vues jusqu'ici sont des caractères (char), des nombres entiers (short, int, long) et réels (float, double). Sur eux on peut définir des ensembles de données formant des tables ou des vecteurs, comme on peut le voir dans l'exemple suivant:

char [8Ø];

/* Chaîne Ø 8 caractères */

Tableau int [Ø 2], tableau [M] [N];

La chaîne de caractères (string en anglais) est une table de caractères dans laquelle le dernier caractère est constant ‘\Ø’. Ce caractère de chaîne final permet de détecter la fin de la chaîne lorsque la chaîne est de longueur variable.

Les tables peuvent être unidimensionnelles (string ou table dans l'exemple) ou multiples (la matrice dans l'exemple est binaire). L'utilisation mentionne le nom et l'index (entre macos), l'index étant entre Ø et le nombre de composants moins un. Dans la définition, le nom et le nombre de composants (entre macos) doivent être indiqués en option. Vous pouvez voir un exemple dans le Programme 6.

Programme 6. Utiliser des tables.

Gai honi buruzko eduki gehiago

Elhuyarrek garatutako teknologia