Variables simples
Introduction dans la programmation C
1. Qu’est-ce que programmer ?
Un programme est une suite finie d’opérations réunies et organisées dans un ordre précis en vue de la réalisation d’une ou de plusieurs tâches que l’ordinateur accomplit lorsque le programme est lancé. Ces opérations s’appellent des instructions. Elles sont écrites et définies avec un langage de programmation et il existe des milliers de langages de programmation. Dans chaque langage les instructions reposent sur des données qui sont des informations stockées en mémoire sous forme de ce que l’on appelle les types et structures de données.
Une suite finie d’opérations réunies et organisées dans un ordre précis en vue de l’accomplissement d’une ou de plusieurs tâches est aussi la définition d’un algorithme. Un programme est donc un algorithme ou un ensemble d’algorithmes réunis entre eux par... un algorithme. Toute combinaison d’instructions en vue de l’accomplissement d’une tâche est un algorithme.
Programmer consiste donc à définir et ordonner dans un langage de programmation les instructions que la machine devra exécuter, c’est-à-dire trouver le bon algorithme et les bonnes structures de données pour atteindre un objectif donné.
2. Le positionnement par rapport à l’ordinateur
L’ordinateur est construit sur plusieurs niveaux superposés et solidaires entre eux. Chaque niveau s’appuie sur le niveau précédent. Il en réduit la complication et permet d’élaborer des opérations plus complexes. Nous pouvons le schématiser de la façon suivante :
Niveaux |
Correspondance |
|
6 |
Programmes applicatifs |
|
5 |
Langage de programmation |
<- langage C/C++, nous sommes ici |
4 |
Langage assembleur |
|
3 |
Noyau du système d’exploitation |
|
2 |
Langage machine |
|
1 |
Microprogramme |
|
0 |
Logique numérique |
0 |
Logique numérique, circuits électroniques de l’ordinateur, portes logiques (ET, OU), univers binaire 0/1. |
1 |
Microprogramme, premier niveau de langage, tous les ordinateurs ne le possèdent pas (des séquences d’étapes utilisées par le niveau 2 du langage machine). |
2 |
Langage machine : à... |
Variables simples
1. Qu’est-ce qu’une variable en informatique ?
Pour la machine une variable est un espace mémoire réservé et accessible qui permet de stocker et d’utiliser des valeurs numériques. Il y a deux actions possibles :
-
Donner une valeur à la variable.
-
Utiliser la valeur de la variable (dans un calcul par exemple).
Quel que soit le langage, il y a toujours plusieurs types de variables. Chaque type est identifié par un mot-clé. Il définit une taille en mémoire pour la variable et certaines propriétés. Pour les variables simples, il s’agit uniquement de savoir s’il y a une virgule ou pas, si elles sont signées ou non (+, -).
2. Définir des variables dans un programme
a. Les types de variables élémentaires en C
Chaque type est déterminé par un mot-clé du langage, il y en a sept en tout :
Mots-clé |
Taille en octets |
Nombre de codes possibles |
Plage en non-signé |
Plage en signé |
Propriétés |
char |
1 |
28 |
0 à 28 -1 |
-27 à 27-1 |
Entiers |
short |
2 |
216 |
0 à 216 -1 |
-215 à 215-1 |
Entiers |
int |
2 ou 4 (selon environnement) |
216 ou 232 |
0 à 216 -1 ou 0 à 232 -1 |
-215 à 215-1 ou -231 à 231-1 |
Entiers |
long |
4 |
232 |
0 à 232 -1 |
-231 à 231-1 |
Entiers |
float |
4 |
232 |
0 à 232 -1 |
-231 à 231-1 |
Réels (virgule) |
double |
8 |
264 |
0 à 264 -1 |
-231 à 231-1 |
Réels (virgule) |
Pointeur (opérateur *) |
4 |
232 |
0 à 232 -1 |
Contient des adresses mémoire |
Contient des adresses mémoire |
Par défaut, toutes les variables sont signées. Le mot-clé signed est utilisé implicitement par la machine. Pour avoir des variables non signées, il faut le spécifier explicitement avec le mot-clé unsigned.
Le cas de la variable pointeur est différent, les pointeurs sont des variables qui contiennent uniquement des adresses mémoire. Ils ne sont pas utilisés pour des calculs mais pour des opérations spécifiques en relation avec la mémoire (allocation dynamique, passage par référence en paramètre de fonction, construction de listes chaînées et d’arbres).
b. Déclarer ses variables dans un programme
Pour disposer d’une variable dans un programme, il faut premièrement définir...
Les opérations
1. La notion d’expression
Dans le code informatique tout élément ou ensemble d’éléments qui fait l’objet d’une évaluation numérique est appelé une expression :
a + b, a / b, a = b, &b, !b sont des expressions.
Dans ces expressions +, /, =, & et ! sont des opérateurs et les variables a et b sont les opérandes.
Ces combinaisons de variables avec des opérateurs sont appelées des expressions plutôt que des opérations car il n’y a pas que des opérateurs arithmétiques. De plus, une valeur constante, une variable ou un appel de fonction seuls sont également considérés comme des expressions. Ce sont des expressions élémentaires. Les expressions qui font appel à des opérateurs et plusieurs arguments sont dites expressions composées.
La valeur numérique d’une expression, composée ou élémentaire est le résultat de l’expression elle-même. S’il s’agit d’une opération arithmétique ou d’une affectation, la valeur numérique de l’expression est le résultat de cette opération. S’il s’agit d’un appel de fonction, c’est la valeur de retour de la fonction. L’expression vaut cette valeur, elle est cette valeur, et à ce titre une expression peut être intégrée dans une expression plus large, dans une affectation ou encore comme opérande dans une opération. Par exemple, le programme :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b=20;
printf("%d--",a=10); // affectation
printf("%d--",a=a*b); // multiplication
printf("%d\n",a%b); // modulo (reste de la division)
return 0;
}
imprime :
10--200--0
2. Opérations arithmétiques
a. Les opérateurs +, -, *, /, %
Les opérateurs arithmétiques sont les suivants :
+ plus :
le résultat de l'expression a+b est la somme
- moins :
le résultat de l'expression a-b est la soustraction
* multiplier :
le résultat de l'expression a*b est la multiplication
/ diviser :
le résultat...