Suivez-nous sur X
|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : C - les variables
(Article écrit par Chorizo Kid et extrait d'A-News (Amiga News) - août 1988)
|
|
Initiation au C n°2 : Simone, touche pas au frein à main, on est en pente
Causerie concernant l'utilisation des variables à l'usage du néophyte et des conducteurs d'appareil électro-chimique :
comme nous l'avons entrevu la dernière fois, un programme C utilise des constantes concervant
leur valeur tout au long du programme, ou des variables dont la valeur pourra varier au cours du programme.
En C, toutes les variables utilisées dans le programme doivent être déclarées. A ces deux types d'objets correspond un espace en
mémoire devant être réservé. Une variable C sera alors caractérisée par son nom et son type. Il existe une troisième
caractéristique (classe d'allocation), optionnelle sur laquelle nous reviendrons plus tard.
Le nom d'une variable est un identificateur quelconque composé des lettres A..Z, a..z, _ (souligné).
Le type : nous verrons aujourd'hui les types de base. Nous trouvons :
- char : le type caractère ; la variable est un caractère.
- int : le type entier ; nombres entiers.
- short : entier court sur deux octets.
- long : entier long sur quatre octets.
Ces déclarations peuvent être complétées par le "typeunsigned", entier sans signe :
- float : type flottant, nombre réel sur quatre octets.
- double : réel double précision sur huit octets.
Exemple de déclarations
int i,j;long l1,l2,l3;
char c1,c2;
unsigned short k;/* entier court entre 0 et 216-1*/
|
Ce sera donc à vous de choisir vos types de variables selon vos besoins.
De la grandeur des instructions et autres structures de contrôle : en C, une instruction élémentaire est obtenue à partir d'une
expression quelconque suivie du caractère ";" :
Une instruction composée ou bloc est une suite d'instructions élémentaires délimitées par une paire d'accolades {}.
Un bloc sera de la forme :
{
instruction;
instruction;
...
instruction;
}
|
Exemple : un programme contient toujours un bloc principal :
main() {
liste d'instruction;
}
|
Dans la famille structure de contrôle, je voudrais le test if-else :
if (<expression>)
<instruction1>
else
<instruction2>
|
L'expression est évaluée, si sa valeur est vraie, c'est-à-dire non nulle, l'instruction 1 est exécutée, sinon c'est l'instruction 2
qui l'est.
Le else <instruction2> peut être omis, dans ce cas si l'expression est fausse on passe à l'instruction suivant le if
(<expression>) <instruction1>
Exemple : calcul du double d'un nombre positif (géant, non ?)
#include <stdio.h>
main() {
int nombre,result;
printf("Entrez votre nombre :");
scanf("%d",&nombre);
if (nombre <0)
printf(" Votre nombre est négatif.\n");
else {
result=2*nombre;
printf("Le double de %d est %d\n",nombre,result);
}
}
|
Oh lui ! Où va-t-il chercher des choses aussi grandioses ? La fée C le parraine-t-elle ? Connaît-il Bernard Tapie ?
Quand est-ce qu'on mange ? Que nenni, que nenni glapissais-je haut et fort, et je vous explique : le programme, que vous pouvez
baptiser "exemple.c", est constitué tout d'abord par l'inclusion de la bibliothèque stdio.h puisque nous allons utiliser des
fonctions d'entrée-sortie (printf, scanf) définies dans stdio.h. Ensuite, vient le programme principal main(){...}. On déclare
alors toutes les variables du programme "nombre" et "result" qui sont deux entiers donc déclarés avec "int".
On demande d'entrer le nombre par un "printf" que l'on récupère par un "scanf (%d" puisque nombre entier que l'on stocke dans "nombre"
(&nombre)). Nous arrivons à l'illustration du if-elsc : if (<expression>) est ici if (nombre <0) c'est-à-dire que l'on
teste si le nombre entré est négatif. Si c'est le cas, on va exécuter l'<instruction1>, ici l'affichage par "printf"
fait que le nombre est négatif.
Remarque : l'instruction1 est ici une instruction élémentaire, c'est-à-dire qu'il n'y a qu'une seule instruction terminée par
le ";". De même, la présence de ce ";" entre le "if" et le "else" peut paraître quelque peu déroutante mais se comprend aisément
lorsqu'on se réfère à la définition du if-else.
Par contre, pour le else <instruction2>, instruction2 va être composée par un bloc (une suite d'instructions encadrée par
{}).
Dès à présent pensez à bien indenter vos programmes : on met l'accolade ouvrante à côté de l'instruction à laquelle elle se rapporte
( else {, if (...) {, main() { ), on écrit les instructions du bloc sur les lignes suivantes, décalées d'une tabulation, l'accolade
fermante sera affichée sous l'instruction qui l'ouvrait.
Donc notre bloc du else contient deux instructions élémentaires terminée par un le calcul du double dans "result"
puis l'affichage des résultats. A ce propos, deux mots explicatifs. La chaîne de caractères entre guillemets du "printf"
contient tout ce qui va être affiché à l'écran : du texte évidemment, mais aussi les valeurs de nos variables ; celles-ci sont
remplacées dans la chaîne de caractères par autant de "%d" que l'on veut afficher de variables (%d car les variables sont entières).
Après le guillemet fermant on donne dans l'ordre souhaité d'affichage le nom des variables séparé par des virgules.
A l'affichage le premier "%d" sera remplacé par la valeur de nombre, le second "%d" sera remplacé par la valeur de result.
Enfin, le "\n" à la fin de la chaîne de caractères indique au curseur de revenir en début de ligne suivante (return).
Ce caractère de contrôle permettant de sauter une ligne peut être affiché n'importe quand dans la chaîne de caractères d'un
"printf".
Le programme se termine par la fermeture de l'accolade du bloc du "else" puis de celle du "main".
Enfin, sachez que dans l'expression du "if", là où nous avons employé le test "<", on peut utiliser les opérateurs <,
>, <=, >=, != (différent de), == (égal à).
Remarque : "=" est le symbole d'affectation (x=4; x reçoit 4) alors que "==" est le symbole de test d'égalité (x==4, x est-il égal à
4).
Conclusion
Bien, je vais devoir vous quitter, il y a la porte de la fortune qui commence à la télé. Alors bon apétit, et pensez à mettre
votre bonnet quand vous sortirez : de la neige est prévue pour août dans le Luberon.
|