Premiers pas

Avatar de Monsieur X
Description du chapitre et des ses objectifs :

Contrairement à de nombreux cours disponibles, je ne vais pas m'attaquer à vous présenter le code minimal puis vous l'expliquer. En fait, à cause d'erreurs récurrentes chez de nombreux débutants, je vais plutôt vous expliquer le nécessaire afin de le comprendre.

Image de Partie

Accéder directement à une des parties du cours :

La mémoire

Pour commencer il faut savoir que le seul moyen pour l'ordinateur de retenir quelque chose, c'est de le rentrer quelque part dans sa mémoire. La mémoire se trouve sous de nombreuses formes:

  • -La mémoire vive ou RAM (Random Access Memory)
  • -Le disque dur
  • -Les CD-rom
  • -Les DVD
  • -Les disquettes
  • -etc

Celles-ci sont les plus courantes, mais 2 choses fondamentales les différencient: leur vitesse d'accès et la pérénité des données. En effet l'accès à la mémoire vive est extrêmement rapide comparé à l'accès à celle contenue dans le disque dur par exemple (de l'ordre de la nano seconde, contre la miliseconde), en contrepartie, la mémoire vive s'efface à chaque redémarrage de la machine alors que les données d'un disque dur y restent à vie.

Question : Mais une miliseconde, c'est pas assez court?

Et bien non! Pour l'homme c'est extrêmement court, mais pour la machine c'est vraiment très long, car si elle doit traiter énormément d'informations, cela prendrait un temps fou!

Que va-t'on donc stocker dans cette mémoire? Et bien ce sont des variables.

Les variables, késako?

En fait, j'ai un peu fait un raccourcis pour présenter les variables. Comme vous le savez sans doute, un ordinateur ne comprends que les 1 et les 0, c'est son langage à lui, le binaire. Combinés en mots, ces 1 et 0 permettent de créer tous les nombres.
Un exemple?
En binaire 10110 est égal à 22 en décimal. Il faut donc connaitre la taille d'un mot pour pouvoir créer un nombre, sinon l'ordinateur ne sais plus où s'arrêter lorsqu'il lit un nombre.
Les variables seront donc des petits espaces mémoires dont on va définir la taille. On dit dans ce langage que les variables sont typées. Elles ont un type. Les variables d'un programme seront en priorité stockées sur la RAM car l'accès y est le plus rapide, si vous dépassez sur un autre espace, votre programme ne tournera plus correctement.
Seulement, la taille de cet espace est plus petit généralement que nos disques-durs actuels, c'est pour quoi on essaye toujours d'utiliser le moins possible de mémoire. C'est une habitude qui a été prise à l'époque où les ordinateurs n'avaient que très peu de mémoire. En comparaison, une disquette de l'époque ne pouvait que contenir que quelques kilo-octets alors que les DVD actuels peuvent tenir plusieurs giga-octets(1 000 000 fois plus) et il en va de même pour notre RAM. Revenons maintenant à nos variables.

Comme je vous le disais les variables auront un type, et des types, il y en a pas mal! Des types pour les nombres entiers, des types pour les nombres à virgule, des types pour les nombres négatifs ou non etc...
Je vais donc commencer par vous montrer les types de base:


char Un nombre entier qui tient sur 1 octet
short Un nombre entier qui tient sur 2 octets
int Un nombre entier qui tient sur 4 octets
long Un nombre entier qui tient sur 4 octets
float Un nombre à virgule qui tient sur 4 octets
double Un nombre à virgule qui tient sur 8 octets

Question : Quelle est la différence entre un int et un long?

C'est une bonne remarque. En fait, les valeurs que je vous ai donné ne sont que les valeurs de mon ordinateur avec mon système d'exploitation. Sur certains, un long prendra plus de place qu'un int par exemple. Mais les valeurs que je vous ai donné sont généralement les mêmes.

Question : Quelle est la correspondance entre un octet et le nombre que je peux mettre dedans?

Sans rentrer dans les détails, un octet représente 256 possibilités de nombres supplémentaires.
Un char pourra tenir 256 nombres, donc des nombres allant de... -128 à 127! Et oui, les variables ont un signe + ou -. On partage donc la pomme en 2 entre les nombres négatifs et ceux positifs.
Pour connaitre la taille des autres types, il suffit de multiplier autant de fois 256 qu'il y a d'octets.
Par exemple: long tient sur 4 octets, on fait donc 256*256*256*256 = 4 294 967 296 nombres ( soit des nombres allant de -2 147 483 648 à 2 147 483 647). Autant vous dire qu'il y a donc de la place.

Attention cependant à ne pas voir trop petit non plus, pour donner un exemple d'actualité, dans le jeu World of Warcraft à atteinds la quantité maximal d'or possible, et ce n'est pas car le jeu a prévu cette limitation, c'est car un développeur a vu trop court sur la quantité possible à stocker!

Vos premières variables

Bon, il est grand temps de savoir comment créer une variable.
Dans un premier lieu, il faut déclarer notre variable, c'est à dire lui donner un type et un nom. D'ailleurs une variable c'est TOUJOURS un nom et un type.

Exemples:

  1. int entier;
  2. float nombre_autre;
  3. short a;
  4. double grand_Nombre1;
  5. double grand_nOmbre1;
  6. double grand_NomBre1;

Vous devriez commencer à remarquer certaines choses:

Attention : A chaque déclaration de variable, on met un ";" à la fin de la ligne. Cela signifie que c'est une instruction . Dorénavant il faudra que vous vous mettiez bien dans l'esprit que après chaque instruction on mets un ";" à la fin de la ligne, tout comme on met un "." à la fin de nos phrases. De plus, par habitude, on retourne à la ligne après chaque instruction.


Les noms de variables ne doivent pas comporter d'espaces, généralement, si l'on veut un espace, on le remplace par un "_". Tout comme les espaces, les signes sont interdits, donc jamais de "-" "/" "*" ou autre dans votre nom de variable, le seul symbole accepté étant le "_" comme je viens de le dire.

Un nom de variable lui est unique! Une fois une variable déclarée, on ne peut pas en déclarer une autre du même nom. il est donc impossible de voir ceci:
  1. int nom;
  2. short nom;


Concernant les valeurs possibles contenues dans une variable: une variable peut toujours par défaut accepter des nombres positifs et négatifs. Comment ça se passe? Et bien le nombre stocké en binaire a en tout premier chiffre un 0 ou 1 qui décide du signe. Si c'est 0 c'est un chiffre positif, négatif si c'est 0. Ce qui fait qu'un char par exemple qui peut contenir 256 possibilités de valeurs verra ses valeurs aller de -127 à 127. Un short de 65536 possibilités acceptera des valeurs de -32767 à 32767 etc.

Petite chose: il est interdit de mettre des chiffres au début de votre nom de variable, mais peu importe s'ils sont au milieu ou pas.

Dernier point, le C respecte la case, cela signifie qu'il fait la différence entre les noms de variable avec des majuscules ou pas.
"grand_Nombre1" "grand_nOmbre1" "grand_NomBre1" sont donc des variables différentes.


Ouf, ça fait beaucoup de choses.

Information : Cet avis n'engage que moi, mais je pense qu'il est peut pratique de mettre des numéros dans les noms de variables, je vous conseille donc de n'utiliser que des lettres dans vos noms de variables



Je vous avais parlé de combinaisons de types, ce genre de manipulations demande de bien savoir utiliser ses variables, ce que nous verrons plus tard. Les modifications que cela apporte se situe au niveau des valeurs que la variable aura la possibilité d'avoir. je vous donne quelques exemples:

  1. unsigned char variable;
  2. short int autreVariable;
  3. unsigned long float coucouToutLeMonde;


Ici, variable ne pourra contenir que des entiers positifs (grâce du mot clef unsigned). Un char tenant sur 1 octet, les valeurs possibles pour ce char iront de... 0 à 255!

Le deuxième exemple montre une forme de combinaison particulière, ce genre de choses est de nos jours très peu utilisé car on a beaucoup de mémoire dans nos ordinateurs, auparavant, cela permettait surtout de limiter la taille de la variable en question (qui tenait alors sur 3 octets).

Ces combinaisons sont spécifiques, on ne peut pas faire toutes les combinaisons que l'on souhaite, elles sont toutes prédéfinies (par chance unsigned marche partout)
La dernière variable est juste un autre exemple de combinaison possible: long float augmente la taille de la variable jusqu'à une taille proche d'un type double


Les variables sont à la base de tout lorsqu'on programme, le chapitre vous apprendra à les utiliser rapidement.

Sommaire - Chapitre suivant

Nos rédacteurs et membres sont pour la plupart ouverts à des remarques constructives et servir à alerter le rédacteur du cours, des fautes éventuelles ou de propositions et nouvelles perspectives de cours etc ...
Pour ce faire cliquez ici

Postez vous aussi un commentaire à cette partie via le lien que voici