GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel de programmation en C Partie 3 - Notions de base sur les variables

Jusqu'à présent, nous avons discuté des bases de ce qu'est un programme C, comment le compiler et l'exécuter, et ce que sont les préprocesseurs. Si vous avez suivi ces didacticiels, il est temps que nous abordions le sujet suivant, à savoir les variables.

Les variables sont l'un des éléments essentiels de la programmation C car elles stockent des valeurs que les programmeurs peuvent utiliser selon leurs besoins. Comprenons leurs bases à travers un exemple. Voici un programme C de base :

#include <stdio.h>

int main (void)
{
int a = 10;
char b = 'z';
float c = 1.5;
printf("\n a=%d, b=%c, c=%f \n", a,b,c);
return 0;
}

Dans les précédents tutoriels de programmation en C, nous avons déjà expliqué des choses comme ce qu'est « stdio.h », ce que signifie « #include » et ce qu'est une fonction (en particulier « main »). Nous allons donc passer directement à la partie variables.

La ligne 'int a =10' signifie qu'il y a une variable nommée 'a' qui peut contenir des valeurs de type entier ('int'), et la valeur actuelle qu'elle contient est '10'. De même, 'b' peut contenir des caractères et 'c' peut contenir des nombres à virgule flottante, leurs valeurs actuelles étant respectivement 'z' et '1.5'.

L'exemple de programme ci-dessus imprime ces valeurs en sortie via la fonction 'Printf'. Notez que %d, %c et %f sont utilisés pour indiquer à la fonction 'printf' que les variables 'a', 'b', 'c' doivent être traitées comme des entiers, des caractères et des flottants, respectivement.

Bien sûr, vous pouvez faire bien plus que simplement imprimer ces valeurs en sortie. Par exemple, le programme suivant calcule la factorielle du nombre 5.

#include <stdio.h>

int main (void)
{
int num = 5;
int result = 1;
while (num > 0)
{
result = result * num;
num = num -1;
}

printf("\n Factorial of 5 is %d\n", result);

return 0;
}

Pour ceux qui ne le savent pas, la factorielle d'un nombre, disons 'n', est le résultat de la multiplication suivante :

nx(n-1)x(n-2)x.....1

Donc, si le nombre est 5, alors la factorielle de 5 (ou 5 !) serait 5x4x3x2x1, ce qui équivaut à 120.

Pour en revenir au programme, nous avons défini deux variables entières nommées 'num' et 'result'. Alors que num contient le nombre dont la factorielle doit être calculée (5 dans ce cas), 'result' contient juste une valeur fictive de '1' pour commencer. Vient ensuite une boucle 'while'.

Comme son nom l'indique, les boucles sont utilisées dans les fonctions C pour exécuter de manière répétée un ensemble d'instructions. Dans le cas de 'while', la boucle commence par vérifier une condition ("num doit être supérieur à zéro" dans ce cas), puis les instructions à l'intérieur de la boucle sont exécutées à plusieurs reprises jusqu'à ce que la condition while devienne fausse.

Dans notre cas, la valeur de "num" est initialement 5. Ainsi, l'exécution entrera à l'intérieur de la boucle et la première valeur du résultat 'serait' sera '5' (1x5). Par la suite, 'num' devient 'num -1', ce qui signifie que la nouvelle valeur de 'num' est désormais 4. 

La boucle s'exécute alors à nouveau car 4 est toujours supérieur à zéro. Cette fois, 'result' serait 5x4, qui est 20. Et 'num' devient alors (4-1), qui est 3. De cette façon, la boucle continue à s'exécuter jusqu'à ce que 'num' devienne 0, et à ce moment-là, le résultat est '120', qui est le factoriel de 5.

Voici donc la sortie produite par ce programme :

Factorial of 5 is 120

Maintenant, au lieu d'une valeur spécifique (comme '5' dans ce cas), que se passe-t-il si vous voulez que l'utilisateur du programme spécifie le nombre dont la factorielle doit être calculée ? Eh bien, cela peut être fait de la manière suivante :

#include <stdio.h>

int main (void)
{
int num = 0, temp=0;
printf("\n Enter a positive integer: ");
scanf("%d", &num);
temp = num;
int result = 1;
while (temp > 0)
{
result = result * temp;
temp = temp -1;
}

printf("\n Factorial of %d is %d\n", num, result);

return 0;
}

Donc ici, nous avons utilisé une nouvelle fonction appelée 'scanf', qui fait exactement le contraire de 'printf' - elle accepte les entrées de l'utilisateur.

Maintenant, chaque variable a une certaine quantité de mémoire qui lui est associée en termes d'octets. La fonction scanf vous demande de transmettre l'adresse de départ de la mémoire d'une variable, à laquelle vous pouvez accéder en plaçant '&' avant le nom de la variable.

Nous avons introduit une nouvelle variable 'temp' ici car nous avons besoin du nombre réel passé par l'utilisateur (stocké dans 'num' ici) dans la dernière instruction 'printf'.

Dans ce tutoriel, nous avons abordé les bases des variables. Ce didacticiel devrait vous avoir donné une idée de base de ce que sont les variables et de la manière dont elles peuvent être utilisées dans le langage de programmation C. Il y a plusieurs autres aspects liés aux variables qui doivent être discutés - nous le ferons dans le prochain tutoriel.


Linux
  1. Tutoriel de programmation en C 4 - Variables et mémoire

  2. Tutoriel de programmation en C Partie 5 - Variables de caractères

  3. Tutoriel de programmation Linux C Partie 10 - Portées variables

  4. Tutoriel de programmation Linux C Partie 9 :Chaînes

  5. Tutoriel de programmation Linux C Partie 8 - Appel par valeur Vs Appel par pointeur/adresse

Tutoriel Jenkins :les bases pour les débutants

Tutoriel Podman - Les bases pour les débutants

Tutoriel Istio :Premiers pas avec les bases d'Istio

Shell Scripting Partie 2 :Acceptation des entrées et exécution de l'arithmétique Shell

Comment :Introduction à la programmation - Variables, types et manipulation de données

Tutoriel sur les variables Bash - 6 exemples pratiques de variables globales et locales Bash