Programmation informatique - Guide rapide

Introduction au programme informatique

Avant de nous lancer dans la programmation informatique, comprenons d'abord les programmes informatiques et ce qu'ils font.

Un programme informatique est une séquence d'instructions écrites à l'aide d'un langage de programmation informatique pour effectuer une tâche spécifiée par l'ordinateur.

Les deux termes importants que nous avons utilisés dans la définition ci-dessus sont:

  • Séquence d'instructions
  • Langage de programmation informatique

Pour comprendre ces termes, envisagez une situation où quelqu'un vous demande comment vous rendre dans un KFC à proximité. Que faites-vous exactement pour lui indiquer le chemin à suivre pour KFC?

Vous utiliserez le langage humain pour indiquer le chemin d'accès à KFC, comme suit -

Allez tout d'abord tout droit, après un demi-kilomètre, prenez à gauche au feu rouge, puis parcourez environ un kilomètre et vous trouverez KFC sur la droite.

Ici, vous avez utilisé la langue anglaise pour indiquer plusieurs étapes à suivre pour atteindre KFC. S'ils sont suivis dans la séquence suivante, vous atteindrez KFC -

1.	Go straight
2.	Drive half kilometer
3.	Take left
4.	Drive around one kilometer
5.	Search for KFC at your right side

Maintenant, essayez de cartographier la situation avec un programme informatique. La séquence d'instructions ci-dessus est en fait unHuman Program écrit en English Language, qui indique comment atteindre KFC à partir d'un point de départ donné. Cette même séquence aurait pu être donnée en espagnol, en hindi, en arabe ou dans toute autre langue humaine, à condition que la personne cherchant une direction connaisse l'une de ces langues.

Maintenant, revenons en arrière et essayons de comprendre un programme informatique, qui est une séquence d'instructions écrites dans un langage informatique pour effectuer une tâche spécifiée par l'ordinateur. Voici un programme simple écrit enPython Langage de programmation -

print "Hello, World!"

Le programme informatique ci-dessus demande à l'ordinateur d'imprimer "Hello, World!" sur l'écran de l'ordinateur.

  • Un programme informatique est également appelé computer software, qui peut aller de deux lignes à des millions de lignes d'instructions.

  • Les instructions de programme informatique sont également appelées code source du programme et computer programming s'appelle aussi program coding.

  • Un ordinateur sans programme informatique n'est qu'une boîte de vidage; ce sont des programmes qui rendent les ordinateurs actifs.

Comme nous avons développé tant de langages pour communiquer entre nous, les informaticiens ont développé plusieurs langages de programmation informatique pour fournir des instructions à l'ordinateur (c'est-à-dire pour écrire des programmes informatiques). Nous verrons plusieurs langages de programmation informatique dans les chapitres suivants.

Introduction à la programmation informatique

Si vous avez compris ce qu'un computer programest, alors nous dirons: l'acte d'écrire des programmes informatiques s'appelle programmation informatique.

Comme nous l'avons mentionné précédemment, il existe des centaines de langages de programmation, qui peuvent être utilisés pour écrire des programmes informatiques et en voici quelques-uns -

  • Java
  • C
  • C++
  • Python
  • PHP
  • Perl
  • Ruby

Utilisations des programmes informatiques

Aujourd'hui, les programmes informatiques sont utilisés dans presque tous les domaines: ménage, agriculture, médical, divertissement, défense, communication, etc. Voici quelques applications des programmes informatiques -

  • MS Word, MS Excel, Adobe Photoshop, Internet Explorer, Chrome, etc. sont des exemples de programmes informatiques.

  • Des programmes informatiques sont utilisés pour développer des graphiques et des effets spéciaux dans la réalisation de films.

  • Des programmes informatiques sont utilisés pour effectuer des ultrasons, des rayons X et d'autres examens médicaux.

  • Des programmes informatiques sont utilisés dans nos téléphones mobiles pour les SMS, le chat et la communication vocale.

Programmeur

Quelqu'un qui peut écrire des programmes informatiques ou en d'autres termes, quelqu'un qui peut faire de la programmation informatique s'appelle un programmeur informatique.

Sur la base de l'expertise en langage de programmation informatique, nous pouvons nommer un programmeur informatique comme suit -

  • Programmeur C
  • Programmeur C ++
  • Programmeur Java
  • Programmeur Python
  • Programmeur PHP
  • Programmeur Perl
  • Programmeur Ruby

Algorithme

Du point de vue de la programmation, un algorithmest une procédure étape par étape pour résoudre tout problème. Un algorithme est une méthode efficace exprimée sous la forme d'un ensemble fini d'instructions bien définies.

Ainsi, un programmeur informatique répertorie toutes les étapes nécessaires pour résoudre un problème avant d'écrire le code réel. Voici un exemple simple d'algorithme pour trouver le plus grand nombre d'une liste donnée de nombres -

1. Get a list of numbers L1, L2, L3....LN
2. Assume L1 is the largest, Largest = L1
3. Take next number Li from the list and do the following
4. If Largest is less than Li
5. Largest = Li
6. If Li is last number from the list then
7. Print value stored in Largest and come out
8. Else repeat same process starting from step 3

L'algorithme ci-dessus a été écrit de manière grossière pour aider les débutants à comprendre le concept. Vous rencontrerez des méthodes plus standardisées d'écriture d'algorithmes informatiques à mesure que vous passerez à des niveaux avancés de programmation informatique.

Nous supposons que vous connaissez bien la langue anglaise, qui est un Human Interface Language. L'anglais a une grammaire prédéfinie, qui doit être suivie pour écrire correctement les déclarations en anglais. De même, la plupart des langues d'interface humaine (hindi, anglais, espagnol, français, etc.) sont constituées de plusieurs éléments tels que des verbes, des noms, des adjectifs, des adverbes, des propositions et des conjonctions, etc.

Semblables aux langages d'interface humaine, les langages de programmation informatique sont également constitués de plusieurs éléments. Nous vous expliquerons les bases de ces éléments et vous mettrons à l'aise pour les utiliser dans divers langages de programmation. Ces éléments de base comprennent -

  • Environnement de programmation
  • Syntaxe de base
  • Types de données
  • Variables
  • Keywords
  • Opérateurs de base
  • La prise de décision
  • Loops
  • Numbers
  • Characters
  • Arrays
  • Strings
  • Functions
  • E / S de fichier

Nous expliquerons tous ces éléments dans les chapitres suivants avec des exemples utilisant différents langages de programmation. Tout d'abord, nous allons essayer de comprendre la signification de tous ces termes en général et ensuite, nous verrons comment ces termes peuvent être utilisés dans différents langages de programmation.

Ce didacticiel a été conçu pour vous donner une idée des langages de programmation les plus populaires suivants:

  • Programmation C
  • Programmation Java
  • Programmation Python

Une grande partie du didacticiel a été expliquée en prenant C comme langage de programmation, puis nous avons montré comment des concepts similaires fonctionnent en Java et Python. Ainsi, après la fin de ce didacticiel, vous serez assez familier avec ces langages de programmation populaires.

Bien que la configuration de l'environnement ne soit pas un élément d'un langage de programmation, c'est la première étape à suivre avant de commencer à écrire un programme.

Lorsque nous disons Configuration de l'environnement, cela implique simplement une base sur laquelle nous pouvons faire notre programmation. Ainsi, nous avons besoin de la configuration logicielle requise, c'est-à-dire l'installation sur notre PC qui sera utilisée pour écrire des programmes informatiques, les compiler et les exécuter. Par exemple, si vous devez naviguer sur Internet, vous avez besoin de la configuration suivante sur votre machine -

  • Une connexion Internet fonctionnelle pour se connecter à Internet
  • Un navigateur Web tel qu'Internet Explorer, Chrome, Safari, etc.

Si vous êtes un utilisateur de PC, vous reconnaîtrez la capture d'écran suivante, que nous avons prise d'Internet Explorer en naviguant sur tutorialspoint.com.

De même, vous aurez besoin de la configuration suivante pour commencer la programmation en utilisant n'importe quel langage de programmation.

  • Un éditeur de texte pour créer des programmes informatiques.
  • Un compilateur pour compiler les programmes au format binaire.
  • Un interpréteur pour exécuter les programmes directement.

Si vous ne disposez pas d'une exposition suffisante aux ordinateurs, vous ne pourrez pas installer l'un ou l'autre de ces logiciels. Nous vous suggérons donc de demander l'aide de toute personne technique autour de vous pour configurer l'environnement de programmation sur votre machine à partir duquel vous pouvez commencer. Mais pour vous, il est important de comprendre ce que sont ces éléments.

Éditeur de texte

Un éditeur de texte est un logiciel utilisé pour écrire des programmes informatiques. Votre ordinateur Windows doit avoir un bloc-notes, qui peut être utilisé pour taper des programmes. Vous pouvez le lancer en suivant ces étapes -

Start Icon → All Programs → Accessories → Notepad → Mouse Click on Notepad

Il lancera le Bloc-notes avec la fenêtre suivante -

Vous pouvez utiliser ce logiciel pour taper votre programme informatique et l'enregistrer dans un fichier à n'importe quel endroit. Vous pouvez télécharger et installer d'autres bons éditeurs commeNotepad++, qui est disponible gratuitement.

Si vous êtes un utilisateur Mac, vous aurez TextEdit ou vous pouvez installer un autre éditeur commercial comme BBEdit commencer avec.

Compilateur?

Vous écrivez votre programme informatique en utilisant votre langage de programmation préféré et vous l'enregistrez dans un fichier texte appelé fichier programme.

Essayons maintenant d'obtenir un peu plus de détails sur la façon dont l'ordinateur comprend un programme que vous avez écrit à l'aide d'un langage de programmation. En fait, l'ordinateur ne peut pas comprendre votre programme directement donné dans le format texte, nous devons donc convertir ce programme dans un format binaire, qui peut être compris par l'ordinateur.

La conversion du programme texte en fichier binaire est effectuée par un autre logiciel appelé Compiler et ce processus de conversion du programme au format texte en fichier au format binaire est appelé compilation de programme. Enfin, vous pouvez exécuter un fichier binaire pour effectuer la tâche programmée.

Nous n'entrerons pas dans les détails d'un compilateur et les différentes phases de compilation.

L'organigramme suivant donne une illustration du processus -

Donc, si vous allez écrire votre programme dans un tel langage, qui nécessite une compilation comme C, C ++, Java et Pascal, etc., alors vous devrez installer leurs compilateurs avant de commencer la programmation.

Interprète

Nous venons de parler des compilateurs et du processus de compilation. Des compilateurs sont nécessaires au cas où vous allez écrire votre programme dans un langage de programmation qui doit être compilé au format binaire avant son exécution.

Il existe d'autres langages de programmation tels que Python, PHP et Perl, qui ne nécessitent aucune compilation au format binaire, mais un interpréteur peut être utilisé pour lire ces programmes ligne par ligne et les exécuter directement sans aucune conversion supplémentaire.

Donc, si vous allez écrire vos programmes en PHP, Python, Perl, Ruby, etc., vous devrez installer leurs interpréteurs avant de commencer la programmation.

Compilation en ligne

Si vous ne parvenez pas à configurer un éditeur, un compilateur ou un interpréteur sur votre machine, tutorialspoint.com fournit une fonction pour compiler et exécuter presque tous les programmes en ligne en un seul clic.

Alors ne vous inquiétez pas et allons plus loin pour vivre une expérience passionnante pour devenir programmeur informatique en étapes simples et faciles.

Commençons par un peu de codage, ce qui fera de vous un programmeur informatique. Nous allons écrire un programme informatique sur une seule ligne pour écrireHello, World!sur votre écran. Voyons comment il peut être écrit en utilisant différents langages de programmation.

Programme Hello World en C

Essayez l'exemple suivant en utilisant notre option de compilation en ligne disponible sur www.compileonline.com .

Pour la plupart des exemples donnés dans ce tutoriel, vous trouverez un Try it option dans nos sections de code de site Web dans le coin supérieur droit qui vous mènera au compilateur en ligne.

Essayez de changer le contenu de printf (), c'est-à-dire, tapez quelque chose à la place de Hello World!puis vérifiez son résultat. Il imprime simplement ce que vous gardez à l'intérieur des deux guillemets doubles.

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
}

ce qui produit le résultat suivant -

Hello, World!

Ce petit programme Hello World nous aidera à comprendre divers concepts de base liés à la programmation en C.

Point d'entrée du programme

Pour l'instant, oubliez juste le #include <stdio.h> , mais gardez une note que vous devez mettre cette instruction en haut d'un programme C.

Chaque programme C commence par main (), qui s'appelle la fonction principale, puis il est suivi d'une accolade gauche. Le reste de l'instruction du programme est écrit entre les deux et finalement une accolade droite termine le programme.

La partie de codage à l'intérieur de ces deux accolades s'appelle le corps du programme. L'accolade gauche peut être dans la même ligne que main () {ou dans la ligne suivante comme cela a été mentionné dans le programme ci-dessus.

Les fonctions

Les fonctions sont de petites unités de programmes et elles sont utilisées pour effectuer une tâche spécifique. Par exemple, le programme ci-dessus utilise deux fonctions:main() et printf(). Ici, la fonction main () fournit le point d'entrée pour l'exécution du programme et l'autre fonction printf () est utilisée pour imprimer une information sur l'écran de l'ordinateur.

Vous pouvez écrire vos propres fonctions que nous verrons dans un chapitre séparé, mais la programmation C elle-même fournit diverses fonctions intégrées comme main (), printf (), etc., que nous pouvons utiliser dans nos programmes en fonction de nos besoins.

Certains langages de programmation utilisent le mot sub-routine au lieu de fonction, mais leur fonctionnalité est plus ou moins la même.

commentaires

Le programme AC peut contenir des instructions incluses /*.....*/. De telles déclarations sont appelées commentaires et ces commentaires sont utilisés pour rendre les programmes conviviaux et faciles à comprendre. L'avantage des commentaires est qu'ils sont complètement ignorés par les compilateurs et les interprètes. Vous pouvez donc utiliser la langue de votre choix pour rédiger vos commentaires.

Espaces blancs

Lorsque nous écrivons un programme en utilisant n'importe quel langage de programmation, nous utilisons divers caractères imprimables pour préparer des instructions de programmation. Ces caractères imprimables sonta, b, c,......z, A, B, C,.....Z, 1, 2, 3,...... 0, !, @, #, $, %, ^, &, *, (, ), -, _, +, =, \, |, {, }, [, ], :, ;, <, >, ?, /, \, ~. `. ", '. J'espère que je ne manque aucun caractère imprimable de votre clavier.

En dehors de ces caractères, il y a des caractères que nous utilisons très fréquemment mais ils sont invisibles dans votre programme et ces caractères sont des espaces, des tabulations (\ t), des nouvelles lignes (\ n). Ces caractères sont appeléswhitespaces.

Ces trois espaces blancs importants sont communs à tous les langages de programmation et ils restent invisibles dans votre document texte -

Espace blanc Explication Représentation
Nouvelle ligne Pour créer une nouvelle ligne \ n
Languette Pour créer un onglet. \ t
Espace Pour créer un espace. espace libre

Une ligne ne contenant que des espaces, éventuellement avec un commentaire, est connue sous le nom de ligne vide et un compilateur C l'ignore totalement. L'espace blanc est le terme utilisé en C pour décrire les espaces, les tabulations, les caractères de nouvelle ligne et les commentaires. Pour que tu puisses écrireprintf("Hello, World!" );comme indiqué ci-dessous. Voici tous les espaces créés autour de "Hello, World!" sont inutiles et le compilateur les ignorera au moment de la compilation.

#include <stdio.h>

int main() {

   /* printf() function to write Hello, World! */
   
   printf(    "Hello, World!"      );
   
}

ce qui produit le résultat suivant -

Hello, World!

Si nous rendons tous ces caractères d'espaces visibles, le programme ci-dessus ressemblera à ceci et vous ne pourrez pas le compiler -

#include <stdio.h>\n
\n
int main()\n
{
   \n
   \t/* printf() function to write Hello, World! */
   \n 
   \tprintf(\t"Hello, World!"\t);\n
   \n
}\n

Point virgule

Chaque instruction individuelle dans un programme C doit se terminer par un point-virgule (;), par exemple, si vous voulez écrire "Hello, World!" deux fois, alors il sera écrit comme suit -

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!\n" );
   printf( "Hello, World!" );
}

Ce programme produira le résultat suivant -

Hello, World! 
Hello, World!

Ici, nous utilisons un nouveau caractère de ligne \ndans la première fonction printf () pour créer une nouvelle ligne. Voyons ce qui se passe si nous n'utilisons pas ce caractère de nouvelle ligne -

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
   printf( "Hello, World!" );
}

Ce programme produira le résultat suivant -

Hello, World! Hello, World!

Nous apprendrons les identifiants et les mots-clés dans les prochains chapitres.

Explication du programme

Comprenons comment fonctionne le programme C ci-dessus. Tout d'abord, le programme ci-dessus est converti en un format binaire à l'aide du compilateur C. Alors mettons ce code dans le fichier test.c et compilons-le comme suit -

$gcc test.c -o demo

S'il y a une erreur grammaticale (erreurs de syntaxe dans les terminologies informatiques), nous la corrigeons avant de la convertir au format binaire. Si tout va bien, alors il produit un fichier binaire appelédemo. Enfin, nous exécutons la démo binaire produite comme suit -

$./demo

ce qui produit le résultat suivant -

Hello, World!

Ici, quand on exécute le binaire a.outfichier, l'ordinateur entre dans le programme à partir de main () et rencontre une instruction printf (). Notez que la ligne à l'intérieur de /*....*/ est un commentaire et qu'elle est filtrée au moment de la compilation. Ainsi, la fonction printf () demande à l'ordinateur d'imprimer la ligne donnée sur l'écran de l'ordinateur. Enfin, il rencontre une accolade droite qui indique la fin de la fonction main () et quitte le programme.

Erreur de syntaxe

Si vous ne suivez pas les règles définies par le langage de programmation, au moment de la compilation, vous obtiendrez des erreurs de syntaxe et le programme ne sera pas compilé. Du point de vue de la syntaxe, même un seul point ou virgule ou un seul point-virgule est important et vous devez également vous occuper d'une syntaxe aussi petite. Dans l'exemple suivant, nous avons sauté un point-virgule, essayons de compiler le programme -

#include <stdio.h>

main() {
   printf("Hello, World!")
}

Ce programme produira le résultat suivant -

main.c: In function 'main':
main.c:7:1: error: expected ';' before '}' token
 }
 ^

Donc, l'essentiel est que si vous ne suivez pas la syntaxe correcte définie par le langage de programmation de votre programme, vous obtiendrez des erreurs de syntaxe. Avant de tenter une autre compilation, vous devrez les corriger, puis continuer.

Programme Hello World en Java

Voici le programme équivalent écrit en Java. Ce programme produira également le même résultatHello, World!.

public class HelloWorld { 
   public static void main(String []args) {
      /* println() function to write Hello, World! */
      System.out.println("Hello, World!");     
   }
}

ce qui produit le résultat suivant -

Hello, World!

Programme Hello World en Python

Voici le programme équivalent écrit en Python. Ce programme produira également le même résultatHello, World!.

#  print function to write Hello, World! */
print "Hello, World!"

ce qui produit le résultat suivant -

Hello, World!

J'espère que vous avez noté que pour les exemples C et Java, nous compilons d'abord les programmes puis exécutons les binaires produits, mais dans le programme Python, nous l'exécutons directement. Comme nous l'avons expliqué dans le chapitre précédent, Python est un langage interprété et il n'a pas besoin d'une étape intermédiaire appelée compilation.

Python n'a pas besoin d'un point-virgule (;) pour terminer une instruction, mais une nouvelle ligne signifie toujours la fin de l'instruction.

Discutons d'un concept très simple mais très important disponible dans presque tous les langages de programmation qui s'appelle data types. Comme son nom l'indique, un type de données représente un type de données que vous pouvez traiter à l'aide de votre programme informatique. Il peut être numérique, alphanumérique, décimal, etc.

Laissons la programmation informatique de côté pendant un moment et prenons un exemple simple d'ajout de deux nombres entiers 10 et 20, ce qui peut être fait simplement comme suit -

10 + 20

Prenons un autre problème où nous voulons ajouter deux nombres décimaux 10,50 et 20,50, qui s'écriront comme suit -

10.50 + 20.50

Les deux exemples sont simples. Prenons maintenant un autre exemple où nous voulons enregistrer des informations sur les étudiants dans un cahier. Ici, nous aimerions enregistrer les informations suivantes -

Name:
Class:
Section:
Age:
Sex:

Maintenant, mettons un dossier étudiant selon l'exigence donnée -

Name: Zara Ali
Class: 6th
Section: J
Age: 13
Sex: F

Le premier exemple concernait des nombres entiers, le deuxième exemple ajoutait deux nombres décimaux, tandis que le troisième exemple traitait d'un mélange de données différentes. Disons-le comme suit -

  • Le nom de l'élève "Zara Ali" est une séquence de caractères qui est également appelée chaîne.

  • La classe d'élèves «6e» a été représentée par un mélange de nombres entiers et d'une chaîne de deux caractères. Un tel mélange est appelé alphanumérique.

  • La section Student a été représentée par un seul caractère qui est «J».

  • L'âge des étudiants a été représenté par un nombre entier qui est 13.

  • Le sexe des étudiants a été représenté par un seul caractère qui est «F».

De cette façon, nous avons réalisé que dans notre vie de tous les jours, nous traitons différents types de données telles que des chaînes, des caractères, des nombres entiers (entiers) et des nombres décimaux (nombres à virgule flottante).

De même, lorsque nous écrivons un programme informatique pour traiter différents types de données, nous devons spécifier clairement son type; sinon, l'ordinateur ne comprend pas comment différentes opérations peuvent être effectuées sur ces données données. Différents langages de programmation utilisent différents mots-clés pour spécifier différents types de données. Par exemple, les langages de programmation C et Java utilisentint pour spécifier des données entières, alors que char spécifie un type de données caractère.

Les chapitres suivants vous montreront comment utiliser différents types de données dans différentes situations. Pour l'instant, vérifions les types de données importants disponibles en C, Java et Python et les mots-clés que nous utiliserons pour spécifier ces types de données.

Types de données C et Java

C et Java prennent en charge presque le même ensemble de types de données, bien que Java prenne en charge des types de données supplémentaires. Pour l'instant, nous prenons quelques types de données courants pris en charge par les deux langages de programmation -

Type Mot-clé Plage de valeurs pouvant être représentée par ce type de données
Personnage carboniser -128 à 127 ou 0 à 255
Nombre int -32.768 à 32.767 ou -2.147.483.648 à 2.147.483.647
Petit nombre court -32 768 à 32 767
Nombre long longue -2 147 483 648 à 2 147 483 647
Nombre décimal flotte 1,2E-38 à 3,4E + 38 à 6 décimales

Ces types de données sont appelés types de données primitifs et vous pouvez utiliser ces types de données pour créer des types de données plus complexes, appelés type de données défini par l'utilisateur, par exemple une chaîne sera une séquence de caractères.

Types de données Python

Python a cinq types de données standard, mais ce langage de programmation n'utilise aucun mot-clé pour spécifier un type de données particulier, mais Python est assez intelligent pour comprendre automatiquement un type de données donné.

  • Numbers
  • String
  • List
  • Tuple
  • Dictionary

Ici, Number spécifie tous les types de nombres, y compris les nombres décimaux et la chaîne représente une séquence de caractères d'une longueur de 1 ou plusieurs caractères. Pour l'instant, continuons avec ces deux types de données et ignorons List, Tuple et Dictionary, qui sont des types de données avancés en Python.

Les variables sont les noms que vous donnez aux emplacements de mémoire de l'ordinateur qui sont utilisés pour stocker des valeurs dans un programme informatique.

Par exemple, supposons que vous souhaitiez stocker deux valeurs 10 et 20 dans votre programme et que, ultérieurement, vous souhaitiez utiliser ces deux valeurs. Voyons comment vous allez le faire. Voici les trois étapes simples suivantes -

  • Créez des variables avec des noms appropriés.
  • Stockez vos valeurs dans ces deux variables.
  • Récupérez et utilisez les valeurs stockées à partir des variables.

Créer des variables

La création de variables est également appelée declaring variablesen programmation C. Différents langages de programmation ont différentes manières de créer des variables à l'intérieur d'un programme. Par exemple, la programmation C a le moyen simple suivant de créer des variables -

#include <stdio.h>

int main() {
   int a;
   int b;
}

Le programme ci-dessus crée deux variables pour réserver deux emplacements mémoire avec des noms a et b. Nous avons créé ces variables en utilisantint mot-clé pour spécifier la variable data typece qui signifie que nous voulons stocker des valeurs entières dans ces deux variables. De même, vous pouvez créer des variables à stockerlong, float, charou tout autre type de données. Par exemple -

/* variable to store long value */
long a;

/* variable to store float value */
float b;

Vous pouvez créer des variables de type similaire en les mettant sur une seule ligne mais séparées par une virgule comme suit -

#include <stdio.h>

int main() {
   int a, b;
}

Vous trouverez ci-dessous les points clés sur les variables que vous devez garder à l'esprit -

  • Un nom de variable peut contenir un seul type de valeur. Par exemple, si variablea a été défini int type, alors il ne peut stocker que des entiers.

  • Le langage de programmation C nécessite une création de variable, c'est-à-dire une déclaration avant son utilisation dans votre programme. Vous ne pouvez pas utiliser un nom de variable dans votre programme sans le créer, bien qu'un langage de programmation comme Python vous permette d'utiliser un nom de variable sans le créer.

  • Vous ne pouvez utiliser un nom de variable qu'une seule fois dans votre programme. Par exemple, si une variablea a été défini pour stocker une valeur entière, alors vous ne pouvez pas définir a à nouveau pour stocker tout autre type de valeur.

  • Il existe des langages de programmation comme Python, PHP, Perl, etc., qui ne veulent pas que vous spécifiiez le type de données au moment de la création des variables. Vous pouvez donc stocker des nombres entiers, flottants ou longs sans spécifier leur type de données.

  • Vous pouvez donner n'importe quel nom à une variable comme age, sex, salary, year1990ou toute autre chose que vous aimeriez donner, mais la plupart des langages de programmation permettent d'utiliser uniquement des caractères limités dans leurs noms de variables. Pour l'instant, nous suggérons de n'utiliser quea....z, A....Z, 0....9 dans vos noms de variables et commencez leurs noms en utilisant uniquement des alphabets au lieu de chiffres.

  • Presque aucun des langages de programmation ne permet de commencer leurs noms de variables par un chiffre, donc 1990year ne sera pas un nom de variable valide alors que year1990 ou ye1990ar sont des noms de variables valides.

Chaque langage de programmation fournit plus de règles liées aux variables et vous les apprendrez lorsque vous irez plus en détail sur ce langage de programmation.

Stocker les valeurs dans les variables

Vous avez vu comment nous avons créé des variables dans la section précédente. Maintenant, stockons quelques valeurs dans ces variables -

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
}

Le programme ci-dessus a deux instructions supplémentaires où nous stockons 10 dans la variable a et 20 est stocké dans la variable b. Presque tous les langages de programmation ont une manière similaire de stocker les valeurs dans la variable où nous gardons le nom de la variable dans le côté gauche d'un signe égal = et quelle que soit la valeur que nous voulons stocker dans la variable, nous gardons cette valeur dans le côté droit.

Maintenant, nous avons terminé deux étapes, nous avons d'abord créé deux variables, puis nous avons stocké les valeurs requises dans ces variables. Maintenant variablea a la valeur 10 et variable b a la valeur 20. En d'autres termes, nous pouvons dire, lorsque le programme ci-dessus est exécuté, l'emplacement mémoire nommé a tiendra 10 et l'emplacement de mémoire b tiendra 20.

Accéder aux valeurs stockées dans les variables

Si nous n'utilisons pas les valeurs stockées dans les variables, il ne sert à rien de créer des variables et d'y stocker des valeurs. Nous savons que le programme ci-dessus a deux variablesa et bet ils stockent les valeurs 10 et 20, respectivement. Essayons donc d'imprimer les valeurs stockées dans ces deux variables. Voici un programme C, qui imprime les valeurs stockées dans ses variables -

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
   
   printf( "Value of a = %d\n", a );
   printf( "Value of b = %d\n", b );
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Value of a = 10
Value of b = 20

Tu dois avoir vu printf()fonction dans le chapitre précédent où nous l'avions utilisé pour imprimer "Hello, World!". Cette fois, nous l'utilisons pour imprimer les valeurs des variables. Nous utilisons%d, qui seront remplacées par les valeurs de la variable donnée dans les instructions printf (). Nous pouvons imprimer les deux valeurs en utilisant une seule instruction printf () comme suit -

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
   
   printf( "Value of a = %d and value of b = %d\n", a, b );
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Value of a = 10 and value of b = 20

Si vous souhaitez utiliser float variable en programmation C, vous devrez alors utiliser %f au lieu de %d, et si vous souhaitez imprimer une valeur de caractère, vous devrez utiliser %c. De même, différents types de données peuvent être imprimés en utilisant différents% et caractères.

Variables en Java

Voici le programme équivalent écrit en langage de programmation Java. Ce programme créera deux variablesa et b et très similaire à la programmation C, il affectera 10 et 20 dans ces variables et affichera finalement les valeurs des deux variables de deux manières -

public class DemoJava {
   public static void main(String []args) {
      int a;
      int b;
   
      a = 10;
      b = 20;
   
      System.out.println("Value of a = " + a);
      System.out.println("Value of b = " + b);
      System.out.println("Value of a = " + a + " and value of b = " + b);     
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Value of a = 10
Value of b = 20
Value of a = 10 and value of b = 20

Variables en Python

Voici le programme équivalent écrit en Python. Ce programme créera deux variablesa et b et en même temps, attribuez 10 et 20 dans ces variables.

Python ne souhaite pas que vous spécifiiez le type de données au moment de la création des variables et il n'est pas nécessaire de créer des variables à l'avance.

a = 10
b = 20
   
print "Value of a = ", a
print "Value of b = ", b
print "Value of a = ", a, " and value of b = ", b

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Value of a =  10
Value of b =  20
Value of a =  10  and value of b =  20

Vous pouvez utiliser la syntaxe suivante dans la programmation C et Java pour déclarer des variables et affecter des valeurs en même temps -

#include <stdio.h>

int main() {
   int a = 10;
   int b = 20;
   
   printf( "Value of a = %d and value of b = %d\n", a, b );
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Value of a = 10 and value of b = 20

Jusqu'à présent, nous avons couvert deux concepts importants appelés variables et leurs types de données. Nous avons discuté de la façon d'utiliserint, long, et floatpour spécifier différents types de données. Nous avons également appris à nommer les variables pour stocker différentes valeurs.

Bien que ce chapitre ne soit pas requis séparément car les mots-clés réservés font partie de la syntaxe de programmation de base, nous l'avons gardé séparé pour l'expliquer juste après les types de données et les variables pour le rendre facile à comprendre.

Comme int, long et float, il existe de nombreux autres mots-clés pris en charge par le langage de programmation C que nous utiliserons à des fins différentes. Différents langages de programmation fournissent différents ensembles de mots-clés réservés, mais il existe une règle importante et commune dans tous les langages de programmation selon laquelle nous ne pouvons pas utiliser un mot-clé réservé pour nommer nos variables, ce qui signifie que nous ne pouvons pas nommer notre variable commeint ou float au contraire, ces mots-clés ne peuvent être utilisés que pour spécifier un type de données variable.

Par exemple, si vous essayez d'utiliser un mot-clé réservé aux fins du nom de variable, vous obtiendrez une erreur de syntaxe.

#include <stdio.h>

int main() {
   int float;
   float = 10;
   
   printf( "Value of float = %d\n", float);
}

Lorsque vous compilez le programme ci-dessus, il produit l'erreur suivante -

main.c: In function 'main':
main.c:5:8: error: two or more data types in declaration specifiers
   int float;
......

Donnons maintenant un nom propre à notre variable entière, puis le programme ci-dessus devrait compiler et s'exécuter avec succès -

#include <stdio.h>

int main() {
   int count;
   count = 10;

   printf( "Value of count = %d\n", count);
}

C Programmation des mots clés réservés

Voici un tableau contenant presque tous les mots-clés pris en charge par le langage de programmation C -

auto autre longue commutateur
Pause énumération S'inscrire typedef
Cas externe revenir syndicat
carboniser flotte court non signé
const pour signé néant
continuer aller à taille de volatil
défaut si statique tandis que
faire int struct _Emballé
double

Mots-clés réservés pour la programmation Java

Voici un tableau contenant presque tous les mots-clés pris en charge par le langage de programmation Java -

abstrait affirmer booléen Pause
octet Cas capture carboniser
classe const continuer défaut
faire double autre énumération
étend final enfin flotte
pour aller à si met en oeuvre
importer exemple de int interface
longue originaire de Nouveau paquet
privé protégé Publique revenir
court statique strictfp super
commutateur synchronisé ce jeter
jette transitoire essayer néant
volatil tandis que

Mots clés réservés pour la programmation Python

Voici un tableau contenant presque tous les mots-clés pris en charge par le langage de programmation Python -

et exec ne pas
affirmer enfin ou
Pause pour passer
classe de impression
continuer global élever
def si revenir
del importer essayer
elif dans tandis que
autre est avec
sauf lambda rendement

Nous savons que vous ne pouvez pas mémoriser tous ces mots-clés, mais nous les avons listés à titre de référence et pour expliquer le concept de reserved keywords. Soyez donc prudent lorsque vous donnez un nom à votre variable, vous ne devez utiliser aucun mot-clé réservé pour ce langage de programmation.

Un opérateur dans un langage de programmation est un symbole qui indique au compilateur ou à l'interpréteur d'effectuer une opération mathématique, relationnelle ou logique spécifique et de produire le résultat final. Ce chapitre expliquera le concept deoperators et il vous guidera à travers les importants opérateurs arithmétiques et relationnels disponibles en C, Java et Python.

Opérateurs arithmétiques

Les programmes informatiques sont largement utilisés pour les calculs mathématiques. Nous pouvons écrire un programme informatique qui peut faire des calculs simples comme ajouter deux nombres (2 + 3) et nous pouvons également écrire un programme, qui peut résoudre une équation complexe comme P (x) = x 4 + 7x 3 - 5x + 9. Si vous n'avez même pas été un élève médiocre, vous devez savoir que dans la première expression 2 et 3 sont des opérandes et + est un opérateur. Des concepts similaires existent dans la programmation informatique.

Jetez un œil aux deux exemples suivants -

2 + 3

P(x) = x4 + 7x3 - 5x + 9.

Ces deux instructions sont appelées expressions arithmétiques dans un langage de programmation et plus, minusutilisés dans ces expressions sont appelés opérateurs arithmétiques et les valeurs utilisées dans ces expressions comme 2, 3 et x, etc., sont appelées opérandes. Dans leur forme la plus simple, ces expressions produisent des résultats numériques.

De même, un langage de programmation fournit divers opérateurs arithmétiques. Le tableau suivant répertorie quelques-uns des opérateurs arithmétiques importants disponibles dans le langage de programmation C. Supposons que la variable A vaut 10 et la variable B 20, alors -

Opérateur La description Exemple
+ Ajoute deux opérandes A + B donnera 30
- Soustrait le deuxième opérande du premier A - B donnera -10
* Multiplie les deux opérandes A * B donnera 200
/ Divise le numérateur par le dénumérateur B / A donnera 2
% Cela donne le reste d'une division entière B% A donnera 0

Voici un exemple simple de programmation C pour comprendre les opérateurs mathématiques ci-dessus -

#include <stdio.h>

int main() {
   int a, b, c;
   
   a = 10;
   b = 20;
   
   c = a + b;   
   printf( "Value of c = %d\n", c);
   
   c = a - b;   
   printf( "Value of c = %d\n", c);
   
   c = a * b;   
   printf( "Value of c = %d\n", c);
   
   c = b / a;   
   printf( "Value of c = %d\n", c);
   
   c = b % a;   
   printf( "Value of c = %d\n", c);
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0

Opérateurs relationnels

Prenons une situation où nous créons deux variables et leur attribuons des valeurs comme suit -

A = 20
B = 10

Ici, il est évident que la variable A est supérieure à B en valeurs. Donc, nous avons besoin de l'aide de certains symboles pour écrire de telles expressions qui sont appelées expressions relationnelles. Si nous utilisons le langage de programmation C, alors il sera écrit comme suit -

(A > B)

Ici, nous avons utilisé un symbole> et cela s'appelle un opérateur relationnel et dans leur forme la plus simple, ils produisent des résultats booléens, ce qui signifie que le résultat sera soit vrai, soit faux. De même, un langage de programmation fournit divers opérateurs relationnels. Le tableau suivant répertorie quelques-uns des opérateurs relationnels importants disponibles dans le langage de programmation C. Supposons une variableA détient 10 et variable B détient 20, alors -

Opérateur La description Exemple
== Vérifie si les valeurs de deux opérandes sont égales ou non, si oui, la condition devient vraie. (A == B) n'est pas vrai.
! = Vérifie si les valeurs de deux opérandes sont égales ou non, si les valeurs ne sont pas égales, la condition devient vraie. (A! = B) est vrai.
> Vérifie si la valeur de l'opérande gauche est supérieure à la valeur de l'opérande droit, si oui, la condition devient vraie. (A> B) n'est pas vrai.
< Vérifie si la valeur de l'opérande gauche est inférieure à la valeur de l'opérande droit, si oui, la condition devient vraie. (A <B) est vrai.
> = Vérifie si la valeur de l'opérande gauche est supérieure ou égale à la valeur de l'opérande droit, si oui, la condition devient vraie. (A> = B) n'est pas vrai.
<= Vérifie si la valeur de l'opérande gauche est inférieure ou égale à la valeur de l'opérande droit, si oui, la condition devient vraie. (A <= B) est vrai.

Ici, nous allons vous montrer un exemple de programmation C qui utilise if conditional statement. Bien que cette déclaration soit discutée plus tard dans un chapitre séparé, mais en bref, nous utilisonsif statement pour vérifier une condition et si la condition est vraie, alors le corps de if statement est exécuté, sinon le corps de if statement est ignoré.

#include <stdio.h>

int main() {
   int a, b;
   
   a = 10;
   b = 20;
   
   /* Here we check whether a is equal to 10 or not */
   if( a == 10 ) {
	   
      /* if a is equal to 10 then this body will be executed */
      printf( "a is equal to 10\n");
   }
   
   /* Here we check whether b is equal to 10 or not */
   if( b == 10 ) {
	
      /* if b is equal to 10 then this body will be executed */
      printf( "b is equal to 10\n");
   }
   
   /* Here we check if a is less b than or not */
   if( a < b ) {
	
      /* if a is less than b then this body will be executed */
      printf( "a is less than b\n");
   }
   
   /* Here we check whether a and b are not equal */
   if( a != b ) {
	
      /* if a is not equal to b then this body will be executed */
      printf( "a is not equal to b\n");
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

a is equal to 10
a is less than b
a is not equal to b

Opérateurs logiques

Les opérateurs logiques sont très importants dans tout langage de programmation et ils nous aident à prendre des décisions en fonction de certaines conditions. Supposons que nous voulions combiner le résultat de deux conditions, alors les opérateurs logiques ET et OU nous aident à produire le résultat final.

Le tableau suivant présente tous les opérateurs logiques pris en charge par le langage C. Supposons une variableA contient 1 et variable B détient 0, alors -

Opérateur La description Exemple
&& Opérateur logique ET appelé. Si les deux opérandes sont différents de zéro, la condition devient vraie. (A && B) est faux.
|| Opérateur OU logique appelé. Si l'un des deux opérandes est différent de zéro, la condition devient vraie. (A || B) est vrai.
! Opérateur PAS logique appelé. Utilisez pour inverser l'état logique de son opérande. Si une condition est vraie, l'opérateur NOT logique rendra faux. ! (A && B) est vrai.

Essayez l'exemple suivant pour comprendre tous les opérateurs logiques disponibles dans le langage de programmation C -

#include <stdio.h>

int main() {
   int a = 1;
   int b = 0;

   if ( a && b ) {
	
      printf("This will never print because condition is false\n" );
   }
   if ( a || b ) {
	
      printf("This will be printed print because condition is true\n" );
   }
   if ( !(a && b) ) {
	
      printf("This will be printed print because condition is true\n" );
   }
}

Lorsque vous compilez et exécutez le programme ci-dessus, il produit le résultat suivant -

This will be printed print because condition is true
This will be printed print because condition is true

Opérateurs en Java

Voici le programme équivalent écrit en Java. La programmation C et Java fournissent un ensemble d'opérateurs et d'instructions conditionnelles presque identiques. Ce programme créera deux variablesa et b, très similaire à la programmation C, puis nous attribuons 10 et 20 dans ces variables et enfin, nous utiliserons différents opérateurs arithmétiques et relationnels -

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie, qui doit être identique au résultat généré par l'exemple ci-dessus.

public class DemoJava {
   public static void main(String []args) {
      int a, b, c;
   
      a = 10;
      b = 20;
   
      c = a + b;   
      System.out.println("Value of c = " + c );
   
      c = a - b;
      System.out.println("Value of c = " + c );
   
      c = a * b;   
      System.out.println("Value of c = " + c );
   
      c = b / a;   
      System.out.println("Value of c = " + c );
   
      c = b % a;   
      System.out.println("Value of c = " + c );
      
      if( a == 10 ) {
		
         System.out.println("a is equal to 10" );
      }
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0
a is equal to 10

Opérateurs en Python

Voici le programme équivalent écrit en Python. Ce programme créera deux variablesa et bet en même temps, attribuez 10 et 20 dans ces variables. Heureusement, les langages de programmation C et Python fournissent un ensemble d'opérateurs presque identique. Ce programme créera deux variablesa et b, très similaire à la programmation C, puis nous attribuons 10 et 20 dans ces variables et enfin, nous utiliserons différents opérateurs arithmétiques et relationnels.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie, qui doit être identique au résultat généré par l'exemple ci-dessus.

a = 10
b = 20
   
c = a + b   
print "Value of c = ", c

c = a - b   
print "Value of c = ", c

c = a * b   
print "Value of c = ", c

c = a / b   
print "Value of c = ", c

c = a % b   
print "Value of c = ", c

if( a == 10 ):
   print "a is equal to 10"

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Value of c =  30
Value of c =  -10
Value of c =  200
Value of c =  0
Value of c =  10
a is equal to 10

La prise de décision est essentielle à la programmation informatique. Il y aura de nombreuses situations où vous aurez deux options ou plus et vous devrez sélectionner une option en fonction des conditions données. Par exemple, nous voulons imprimer une remarque sur un élève en fonction de ses notes sécurisées. Voici la situation -

Assume given marks are x for a student:

If given marks are more than 95, then
Student is brilliant

If given marks are less than 30, then
Student is poor

If given marks are less than 95 and more than 30, then
Student is average

Maintenant, la question est de savoir comment écrire un code de programmation pour gérer de telles situations. Presque tous les langages de programmation fournissent des instructions conditionnelles qui fonctionnent sur la base du diagramme de flux suivant -

Écrivons un programme C à l'aide de if conditional statements pour convertir la situation donnée ci-dessus en un code de programmation -

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   }
   if( x < 30) {
	
      printf( "Student is poor\n");
   }
   if( x < 95 && x > 30 ) {
	
      printf( "Student is average\n");
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Student is average

Le programme ci-dessus utilise if conditional statements. Ici, le premierif statementvérifie si la condition donnée, c'est-à-dire la variable x, est supérieure à 95 ou non et si elle trouve que la condition est vraie, alors le corps conditionnel est entré pour exécuter les instructions données. Ici, nous n'avons qu'une seule instruction printf () pour imprimer une remarque sur l'étudiant.

De même, le second if statementtravaux. Enfin, le troisièmeif statement est exécuté, nous avons ici les deux conditions suivantes -

  • La première condition est x > 95

  • La deuxième condition est x < 30

L'ordinateur évalue à la fois les conditions données et ensuite, le résultat global est combiné à l'aide de l'opérateur binaire &&. Si le résultat final est vrai, alors l'instruction conditionnelle sera exécutée, sinon aucune instruction ne sera exécutée.

Ce tutoriel vous donnera une idée de base sur différentes formes de if statements et une introduction à switchinstructions disponibles en langage de programmation C. Différents langages de programmation fournissent différents types d'énoncés de prise de décision, mais le concept de base reste le même que celui expliqué dans ce didacticiel.

instruction if ... else

Un if l'instruction peut être suivie d'une instruction facultative elseinstruction, qui s'exécute lorsque l'expression booléenne est fausse. La syntaxe d'unif...else l'instruction en langage de programmation C est -

if(boolean_expression) {
   
   /* Statement(s) will execute if the boolean expression is true */
} else {
  
  /* Statement(s) will execute if the boolean expression is false */
}

La syntaxe ci-dessus peut être représentée sous la forme d'un organigramme comme indiqué ci-dessous -

Un if...elseLa déclaration est utile lorsque nous devons prendre une décision parmi deux options. Par exemple, si un élève obtient plus de points que 95, alors l'élève est brillant, sinon aucune situation de ce type ne peut être codée, comme suit -

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   } else {
      printf( "Student is not brilliant\n");
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Student is not brilliant

instruction if ... elseif ... else

Un if l'instruction peut être suivie d'une instruction facultative else if...else instruction, qui est très utile pour tester diverses conditions.

Tout en utilisant if, else if, else déclarations, il y a quelques points à garder à l'esprit -

  • Un if peut avoir zéro ou un else's et ça doit venir après un else if.

  • Un if peut avoir zéro à plusieurs else…if's et ils doivent venir avant le else.

  • Une fois else…if réussit, aucun des autres else…if's ou else's sera testé.

La syntaxe d'un if...else if...else l'instruction en langage de programmation C est -

if(boolean_expression 1) {

   /* Executes when the boolean expression 1 is true */
}
else if( boolean_expression 2) {

   /* Executes when the boolean expression 2 is true */
}
else if( boolean_expression 3) {

   /* Executes when the boolean expression 3 is true */
} else {
   
   /* Executes when the none of the above condition is true */
}

Maintenant avec l'aide de if...elseif...else déclaration, le tout premier programme peut être codé comme suit -

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
      printf( "Student is brilliant\n");
   } 
   else if( x < 30) {
      printf( "Student is poor\n");
   } 
   else if( x < 95 && x > 30 ) {
      printf( "Student is average\n");
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Student is average

La déclaration Switch

UNE switch instruction est une alternative de if statementsqui permet à une variable d'être testée pour l'égalité par rapport à une liste de valeurs. Chaque valeur est appelée uncase, et la variable activée est vérifiée pour chaque cas de commutateur. Il a la syntaxe suivante -

switch(expression){
   case ONE :
      statement(s);
      break;
   case TWO:
      statement(s);
      break;
   ......
   
   default :
      statement(s);
}

le expression utilisé dans un switchL'instruction doit donner une valeur entière, qui sera comparée pour l'égalité avec différents cas donnés. Partout où une valeur d'expression correspond à une valeur de cas, le corps de ce cas sera exécuté et finalement, le commutateur sera terminé en utilisant unbreakdéclaration. Si aucune instruction break n'est fournie, l'ordinateur continue d'exécuter les autres instructions disponibles ci-dessous pour le cas correspondant. Si aucun des cas ne correspond, le corps de cas par défaut est exécuté.

La syntaxe ci-dessus peut être représentée sous la forme d'un organigramme comme indiqué ci-dessous -

Maintenant, considérons un autre exemple où nous voulons écrire le mot anglais équivalent pour un nombre donné. Ensuite, il peut être codé comme suit -

#include <stdio.h>

int main() {
   int x = 2;
   
   switch( x ){
      case 1 :
         printf( "One\n");
         break;
      case 2 :
         printf( "Two\n");
         break;
      case 3 :
         printf( "Three\n");
         break;
      case 4 :
         printf( "Four\n");
         break;
      default :
         printf( "None of the above...\n");
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Two

Décisions en Java

Voici le programme équivalent écrit en Java qui prend également en charge if, if...else, if...elseif...else, et switch déclarations.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie, qui doit être identique au résultat généré par l'exemple C ci-dessus.

public class DemoJava {
   public static void main(String []args) {
      int x = 45;
   
      if( x > 95) {
         System.out.println( "Student is brilliant");
      } 
      else if( x < 30) {
         System.out.println( "Student is poor");
      } 
      else if( x < 95 && x > 30 ) {
         System.out.println( "Student is average");
      }
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Student is average

Décisions en Python

Voici le programme équivalent écrit en Python. Python fournitif, if...else, if...elif...else, et switchdéclarations. Ici, vous devez noter que Python n'utilise pas d'accolades pour le corps conditionnel, mais identifie simplement le corps du bloc en utilisant l'indentation des instructions.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie -

x = 45

if x > 95:
   print "Student is brilliant"
elif x < 30:
   print "Student is poor"
elif x < 95 and x > 30:
   print "Student is average"

print "The end"

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Student is average
The end

Prenons une situation où vous souhaitez imprimer Hello, World!cinq fois. Voici un programme C simple pour faire de même -

#include <stdio.h>

int main() {
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

C'était simple, mais encore une fois, considérons une autre situation lorsque vous voulez écrire Hello, World!un millier de fois. Nous ne pouvons certainement pas écrire des instructions printf () mille fois. Presque tous les langages de programmation fournissent un concept appeléloop, qui aide à exécuter une ou plusieurs instructions jusqu'à un nombre de fois souhaité. Tous les langages de programmation de haut niveau fournissent diverses formes de boucles, qui peuvent être utilisées pour exécuter une ou plusieurs instructions à plusieurs reprises.

Écrivons le programme C ci-dessus à l'aide d'un while loop et plus tard, nous discuterons du fonctionnement de cette boucle

#include <stdio.h>

int main() {
   int i = 0;
   
   while ( i < 5 ) {
      printf( "Hello, World!\n");
      i = i + 1;
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

Le programme ci-dessus utilise un while loop, qui est utilisé pour exécuter un ensemble d'instructions de programmation comprises entre {....}. Ici, l'ordinateur vérifie d'abord si la condition donnée, c'est-à-dire la variable "a" est inférieure à 5 ou non et s'il trouve que la condition est vraie, alors le corps de la boucle est entré pour exécuter les instructions données. Ici, nous avons les deux instructions suivantes dans le corps de la boucle -

  • La première instruction est la fonction printf () , qui imprime Hello World!

  • La deuxième instruction est i = i + 1 , qui est utilisée pour augmenter la valeur de la variablei

Après avoir exécuté toutes les instructions données dans le corps de la boucle, l'ordinateur revient à while (i <5) et la condition donnée, (i <5), est à nouveau vérifiée, et la boucle est exécutée à nouveau si la condition est vraie. Ce processus se répète jusqu'à ce que la condition donnée reste vraie, ce qui signifie que la variable «a» a une valeur inférieure à 5.

Pour conclure, une instruction de boucle nous permet d'exécuter une instruction ou un groupe d'instructions plusieurs fois. Vous trouverez ci-dessous la forme générale d'une instruction de boucle dans la plupart des langages de programmation -

Ce didacticiel a été conçu pour présenter les concepts de base de la programmation aux non-programmeurs, nous allons donc discuter des deux boucles les plus importantes disponibles dans le langage de programmation C. Une fois que vous êtes clair sur ces deux boucles, vous pouvez choisir un didacticiel de programmation C ou un livre de référence et vérifier les autres boucles disponibles en C et leur fonctionnement.

La boucle while

UNE while loop disponible en langage de programmation C a la syntaxe suivante -

while ( condition ) {
   /*....while loop body ....*/
}

Le code ci-dessus peut être représenté sous la forme d'un organigramme comme indiqué ci-dessous -

Les points importants suivants doivent être notés à propos d'une boucle while -

  • Une boucle while commence par un mot-clé while suivi d'un condition entre ().

  • Suite à l'instruction while (), vous aurez le corps de la boucle entre accolades {...}.

  • Un corps de boucle while peut avoir une ou plusieurs lignes de code source à exécuter à plusieurs reprises.

  • Si le corps d'une boucle while n'a qu'une seule ligne, il est facultatif d'utiliser des accolades {...}.

  • Une boucle while continue d'exécuter son corps jusqu'à un conditionqui est vrai. Dès que la condition devient fausse, la boucle while sort et continue de s'exécuter à partir de l'instruction suivante immédiate après le corps de la boucle while.

  • Une condition est généralement une déclaration relationnelle, qui est évaluée à vrai ou faux. Une valeur égale à zéro est traitée comme fausse et toute valeur différente de zéro fonctionne comme vrai.

La boucle do ... while

Une boucle while vérifie une condition donnée avant d'exécuter les instructions données dans la partie du corps. La programmation C fournit une autre forme de boucle, appeléedo...whilecela permet d'exécuter un corps de boucle avant de vérifier une condition donnée. Il a la syntaxe suivante -

do {
   /*....do...while loop body ....*/
} 
while ( condition );

Le code ci-dessus peut être représenté sous la forme d'un organigramme comme indiqué ci-dessous -

Si vous allez écrire l'exemple ci-dessus en utilisant do...while boucle, alors Hello, World produira le même résultat -

#include <stdio.h>

int main() {
   int i = 0;
   
   do {
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

L'instruction break

Quand le breakest rencontrée à l'intérieur d'une boucle, la boucle est immédiatement terminée et le contrôle du programme reprend à l'instruction suivante suivant la boucle. La syntaxe d'unbreak la déclaration en C est la suivante -

break;

UNE break instruction peut être représentée sous la forme d'un diagramme de flux comme indiqué ci-dessous -

Voici une variante du programme ci-dessus, mais elle sortira après l'impression de Hello World! seulement trois fois -

#include <stdio.h>

int main() {
   int i = 0;
   do {
      printf( "Hello, World!\n");
      i = i + 1;
      
      if( i == 3 ) {
         break;
      }
   }
   while ( i < 5 );
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Hello, World!
Hello, World!
Hello, World!

La déclaration continue

le continue L'instruction en langage de programmation C fonctionne un peu comme la breakdéclaration. Au lieu de forcer la résiliation,continueforce l'itération suivante de la boucle à avoir lieu, en ignorant tout code intermédiaire. La syntaxe d'uncontinue la déclaration en C est la suivante -

continue;

UNE continue instruction peut être représentée sous la forme d'un diagramme de flux comme indiqué ci-dessous -

Voici une variante du programme ci-dessus, mais il sautera l'impression lorsque la variable a une valeur égale à 3 -

#include <stdio.h>

int main() {
   int i = 0;
   do {
      if( i == 3 ) {
         i = i + 1;
         continue;
      }
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Hello, World!
Hello, World!
Hello, World!
Hello, World!

Boucles en Java

Voici le programme équivalent écrit en Java qui prend également en charge while et do...whileboucles. Le programme suivant imprimeHello, World! cinq fois comme nous l'avons fait dans le cas de la programmation C -

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie, qui doit être identique au résultat généré par l'exemple ci-dessus.

public class DemoJava {
   public static void main(String []args) {
      int i = 0;
   
      while ( i < 5 ) {
         System.out.println("Hello, World!");
         i = i + 1;
      }
   }
}

le break et continue Les instructions de la programmation Java fonctionnent de la même manière que celles de la programmation C.

Boucles en Python

Voici le programme équivalent écrit en Python. Python prend également en chargewhile et do...whileboucles. Le programme suivant imprimeHello, World!cinq fois comme nous l'avons fait dans le cas de la programmation C. Ici, vous devez noter que Python n'utilise pas d'accolades pour le corps de la boucle, mais identifie simplement le corps de la boucle en utilisant l'indentation des instructions.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie. Pour montrer la différence, nous avons utilisé une autre instruction d'impression, qui sera exécutée lorsque la boucle sera terminée.

i = 0

while (i < 5):
   print "Hello, World!"
   i = i + 1
print "Loop ends"

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends

le break et continue Les instructions en Python fonctionnent de la même manière qu'en programmation C.

Chaque langage de programmation prend en charge la manipulation de différents types de nombres tels que des entiers entiers simples et des nombres à virgule flottante. C, Java et Python classent ces nombres en plusieurs catégories en fonction de leur nature.

Revenons en arrière et vérifions le chapitre sur les types de données, où nous avons répertorié les types de données de base liés aux nombres -

Type Mot-clé Plage de valeurs pouvant être représentée par ce type de données
Nombre int -32.768 à 32.767 ou -2.147.483.648 à 2.147.483.647
Petit nombre court -32 768 à 32 767
Nombre long longue -2 147 483 648 à 2 147 483 647
Nombre décimal flotte 1,2E-38 à 3,4E + 38 à 6 décimales

Ces types de données sont appelés types de données primitifs et vous pouvez utiliser ces types de données pour créer davantage de types de données, appelés types de données définis par l'utilisateur.

Nous avons vu diverses opérations mathématiques et logiques sur les nombres lors d'une discussion sur les opérateurs. Nous savons donc comment additionner des nombres, soustraire des nombres, diviser des nombres, etc.

Voyons d'abord comment imprimer différents types de nombres disponibles dans le langage de programmation C -

#include <stdio.h>

int main() {
   short  s;
   int    i;
   long   l;
   float  f;
   double d;

   s = 10;
   i = 1000;
   l = 1000000;
   f = 230.47;
   d = 30949.374;

   printf( "s: %d\n", s);
   printf( "i: %d\n", i);
   printf( "l: %ld\n", l);
   printf( "f: %.3f\n", f);
   printf( "d: %.3f\n", d);
}

Le reste du codage est très évident, mais nous avons utilisé %.3fpour imprimer float et double, qui indique le nombre de chiffres après la virgule à imprimer. Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

s: 10
i: 1000
l: 1000000
f: 230.470
d: 30949.374

Opérations mathématiques sur les nombres

Le tableau suivant répertorie divers outils mathématiques intégrés utiles functions disponible en langage de programmation C qui peut être utilisé pour divers calculs mathématiques importants.

Par exemple, si vous souhaitez calculer la racine carrée d'un nombre, par exemple 2304, vous disposez d'une fonction intégrée disponible pour calculer la racine carrée.

Sr.No. Fonction et objectif
1

double cos(double);

Cette fonction prend un angle (comme un double) et renvoie le cosinus.

2

double sin(double);

Cette fonction prend un angle (comme un double) et renvoie le sinus.

3

bronzage double (double);

Cette fonction prend un angle (comme un double) et renvoie la tangente.

4

double log(double);

Cette fonction prend un nombre et renvoie le journal naturel de ce nombre.

5

double pow(double, double);

Le premier est un nombre que vous souhaitez augmenter et le second est la puissance à laquelle vous souhaitez augmenter.

6

double hypot(double, double);

Si vous passez à cette fonction la longueur de deux côtés d'un triangle rectangle, elle renverra la longueur de l'hypoténuse.

sept

double sqrt(double);

Vous passez un nombre à cette fonction et elle renvoie sa racine carrée.

8

int abs(int);

Cette fonction renvoie la valeur absolue d'un entier qui lui est passé.

9

double fabs(double);

Cette fonction renvoie la valeur absolue de tout nombre décimal qui lui est passé.

dix

double floor(double);

Recherche l'entier qui est inférieur ou égal à l'argument qui lui est passé.

Voici un exemple simple pour montrer quelques opérations mathématiques. Pour utiliser ces fonctions, vous devez inclure le fichier d'en-tête mathématique<math.h> dans votre programme de la même manière que vous avez inclus stdio.h -

#include <stdio.h>
#include <math.h>

int main() {
   short  s;
   int    i;
   long   l;
   float  f;
   double d;

   printf( "sin(s): %f\n", sin(10));
   printf( "abs(i): %f\n", abs(1000));
   printf( "floor(f): %f\n", floor(230.47));
   printf( "sqrt(l): %f\n", sqrt(1000000));
   printf( "pow(d, 2): %f\n", pow(2.374, 2));
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

sin(s): -0.544021
abs(i): -0.544021
floor(f): 230.000000
sqrt(l): 1000.000000
pow(d, 2): 5.635876

Outre l'utilisation ci-dessus, vous utiliserez des nombres dans le comptage de boucles, la représentation des drapeaux, des valeurs vraies ou fausses en programmation C.

Nombres en Java

Voici le programme équivalent écrit en Java. Java fournit presque tous les types de données numériques disponibles en programmation C.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie, qui est identique au résultat généré par l'exemple C ci-dessus.

public class DemoJava {
   public static void main(String []args) {
      short  s;
      int    i;
      long   l;
      float  f;
      double d;

      s = 10;
      i = 1000;
      l = 1000000L;
      f = 230.47f;
      d = 30949.374;

      System.out.format( "s: %d\n", s);
      System.out.format( "i: %d\n", i);
      System.out.format( "l: %d\n", l);
      System.out.format( "f: %f\n", f);
      System.out.format( "d: %f\n", d);
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

s: 10
i: 1000
l: 1000000
f: 230.470001
d: 30949.374000

Java fournit également une gamme complète de fonctions intégrées pour le calcul mathématique et vous pouvez les utiliser de la même manière que vous l'avez fait en programmation C.

Nombres en Python

Python est un peu différent de C et Java; il catégorise les nombres dansint, long, float et complex. Voici quelques exemples de nombres en Python -

int longue flotte complexe
dix 51924361L 0,0 3.14j
100 -0x19323L 15,20 45.j
-786 0122L -21,9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32,3 + e18 .876j
-0490 535633629843L -90. -.6545 + 0J
-0x260 -052318172735L -32,54e100 3e + 26J
0x69 -4721885298529L 70.2-E12 4.53e-7j

Voici le programme équivalent écrit en Python -

s = 10
i = 1000
l = 1000000
f = 230.47
d = 30949.374

print "s: ", s
print "i: ", i
print "l: ", l
print "f: ", f
print "d: ", d

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

s:  10
i:  1000
l:  1000000
f:  230.47
d:  30949.374

Python fournit également une gamme complète de fonctions intégrées pour les calculs mathématiques et vous pouvez les utiliser de la même manière que vous les avez utilisées dans la programmation C.

S'il était facile de travailler avec des nombres dans la programmation informatique, il serait encore plus facile de travailler avec des caractères. Les caractères sont des alphabets simples comme a, b, c, d ...., A, B, C, D, ....., mais avec une exception. Dans la programmation informatique, tout numéro à un chiffre comme 0, 1, 2, .... et les caractères spéciaux comme $,%, +, -.... etc., sont également traités comme des caractères et pour les attribuer dans un type de caractère variable, il vous suffit de les mettre à l'intérieursingle quotes. Par exemple, l'instruction suivante définit une variable de type caractèrech et nous lui attribuons une valeur 'a' -

char ch = 'a';

Ici, ch est une variable de type caractère qui peut contenir un caractère du jeu de caractères de l'implémentation et 'a' s'appelle un character literalou une constante de caractère. Non seulement a, b, c, .... mais quand tout nombre comme 1, 2, 3 .... ou tout caractère spécial comme!, @, #, #, $, .... est conservé entre guillemets simples , ils seront alors traités comme un littéral de caractère et peuvent être affectés à une variable de type caractère, donc ce qui suit est une instruction valide -

char ch = '1';

Un type de données caractère consomme 8 bits de mémoire, ce qui signifie que vous pouvez stocker n'importe quoi dans un caractère dont la valeur ASCII se situe entre -127 et 127, de sorte qu'il peut contenir n'importe laquelle des 256 valeurs différentes. Un type de données caractère peut stocker n'importe lequel des caractères disponibles sur votre clavier, y compris les caractères spéciaux tels que!, @, #, #, $,%, ^, &, *, (,), _, +, {,}, Etc.

Notez que vous ne pouvez conserver qu'un seul alphabet ou un numéro à un chiffre entre guillemets simples et que plusieurs alphabets ou chiffres ne sont pas autorisés entre guillemets simples. Ainsi, les instructions suivantes ne sont pas valides en programmation C -

char ch1 = 'ab';
char ch2 = '10';

Vous trouverez ci-dessous un exemple simple, qui montre comment définir, affecter et imprimer des caractères en langage de programmation C -

#include <stdio.h>

int main() {
   char  ch1;
   char  ch2;
   char  ch3;
   char  ch4;
   
   ch1 = 'a';      
   ch2 = '1';
   ch3 = '$';
   ch4 = '+';  

   printf( "ch1: %c\n", ch1);
   printf( "ch2: %c\n", ch2);
   printf( "ch3: %c\n", ch3);
   printf( "ch4: %c\n", ch4);
}

Ici, nous avons utilisé% c pour imprimer un type de données caractère. Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

ch1: a
ch2: 1
ch3: $
ch4: +

Séquences d'échappement

De nombreux langages de programmation prennent en charge un concept appelé Escape Sequence. Lorsqu'un caractère est précédé d'une barre oblique inverse (\), il est appelé une séquence d'échappement et il a une signification particulière pour le compilateur. Par exemple, \ n dans l'instruction suivante est un caractère valide et il est appelé un caractère de nouvelle ligne -

char ch = '\n';

Ici, personnage na été précédé d'une barre oblique inverse (\), il a une signification spéciale qui est une nouvelle ligne, mais gardez à l'esprit que la barre oblique inverse (\) a une signification spéciale avec seulement quelques caractères. L'instruction suivante ne transmettra aucune signification en programmation C et elle sera considérée comme une instruction invalide -

char ch = '\1';

Le tableau suivant répertorie les séquences d'échappement disponibles en langage de programmation C -

Séquence d'échappement La description
\ t Insère une tabulation dans le texte à ce stade.
\ b Insère un retour arrière dans le texte à ce stade.
\ n Insère une nouvelle ligne dans le texte à ce stade.
\ r Insère un retour chariot dans le texte à ce stade.
\F Insère un flux de formulaire dans le texte à ce stade.
\ ' Insère un caractère guillemet simple dans le texte à ce stade.
\ " Insère un caractère de guillemet double dans le texte à ce stade.
\\ Insère une barre oblique inverse dans le texte à ce stade.

L'exemple suivant montre comment le compilateur interprète une séquence d'échappement dans une instruction d'impression -

#include <stdio.h>

int main() {
   char  ch1;
   char  ch2;
   char  ch3;
   char  ch4;
   
   ch1 = '\t';      
   ch2 = '\n';

   printf( "Test for tabspace %c and a newline %c will start here", ch1, ch2);
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Test for tabspace     and a newline 
will start here

Caractères en Java

Voici le programme équivalent écrit en Java. Java gère les types de données de caractères de la même manière que nous l'avons vu en programmation C. Cependant, Java fournit un support supplémentaire pour la manipulation de caractères.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie, qui doit être identique au résultat généré par l'exemple C ci-dessus.

public class DemoJava {
   public static void main(String []args) {
      char  ch1;
      char  ch2;
      char  ch3;
      char  ch4;
   
      ch1 = 'a';      
      ch2 = '1';
      ch3 = '$';
      ch4 = '+';  

      System.out.format( "ch1: %c\n", ch1);
      System.out.format( "ch2: %c\n", ch2);
      System.out.format( "ch3: %c\n", ch3);
      System.out.format( "ch4: %c\n", ch4);
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

ch1:  a
ch2:  1
ch3:  $
ch4:  +

Java prend également en charge les séquences d'échappement de la même manière que vous les avez utilisées dans la programmation C.

Caractères en Python

Python ne prend en charge aucun type de données caractère mais tous les caractères sont traités comme une chaîne, qui est une séquence de caractères. Nous étudierons les chaînes dans un chapitre séparé. Vous n'avez pas besoin d'avoir une disposition particulière lors de l'utilisation d'un seul caractère en Python.

Voici le programme équivalent écrit en Python -

ch1 = 'a';      
ch2 = '1';
ch3 = '$';
ch4 = '+'; 

print "ch1: ", ch1
print "ch2: ", ch2
print "ch3: ", ch3
print "ch4: ", ch4

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

ch1:  a
ch2:  1
ch3:  $
ch4:  +

Python prend en charge les séquences d'échappement de la même manière que vous les avez utilisées dans la programmation C.

Prenons une situation où nous devons stocker cinq nombres entiers. Si nous utilisons les concepts de variables simples et de types de données de programmation, nous avons besoin de cinq variables deint type de données et le programme sera comme suit -

#include <stdio.h>

int main() {
   int number1;
   int number2;
   int number3;
   int number4;
   int number5;
   
   number1 = 10;      
   number2 = 20;   
   number3 = 30;   
   number4 = 40; 
   number5 = 50;     

   printf( "number1: %d\n", number1);
   printf( "number2: %d\n", number2);
   printf( "number3: %d\n", number3);
   printf( "number4: %d\n", number4);
   printf( "number5: %d\n", number5);
}

C'était simple, car nous devions stocker seulement cinq nombres entiers. Supposons maintenant que nous devions stocker 5000 nombres entiers. Allons-nous utiliser 5000 variables?

Pour gérer de telles situations, presque tous les langages de programmation fournissent un concept appelé array. Un tableau est une structure de données, qui peut stocker une collection d'éléments de taille fixe du même type de données. Un tableau est utilisé pour stocker une collection de données, mais il est souvent plus utile de considérer un tableau comme une collection de variables du même type.

Au lieu de déclarer des variables individuelles, telles que nombre1, nombre2, ..., nombre99, vous déclarez simplement une variable de tableau numberde type entier et utilisez number1 [0], number1 [1] et ..., number1 [99] pour représenter des variables individuelles. Ici, 0, 1, 2, ..... 99 sontindex associé à var variable et ils sont utilisés pour représenter les éléments individuels disponibles dans le tableau.

Tous les tableaux sont constitués d'emplacements de mémoire contigus. L'adresse la plus basse correspond au premier élément et l'adresse la plus élevée au dernier élément.

Créer des tableaux

Pour créer une variable tableau en C, un programmeur spécifie le type des éléments et le nombre d'éléments à stocker dans ce tableau. Vous trouverez ci-dessous une syntaxe simple pour créer un tableau en programmation C -

type arrayName [ arraySize ];

C'est ce qu'on appelle un tableau unidimensionnel . learraySize doit être une constante entière supérieure à zéro et typepeut être n'importe quel type de données C valide. Par exemple, maintenant pour déclarer un tableau de 10 éléments appelénumber de type int, utilisez cette déclaration -

int number[10];

Ici, nombre est un tableau de variables, qui est suffisant pour contenir jusqu'à 10 nombres entiers.

Initialisation des tableaux

Vous pouvez initialiser un tableau en C un par un ou en utilisant une seule instruction comme suit -

int number[5] = {10, 20, 30, 40, 50};

Le nombre de valeurs entre accolades {} ne peut pas être supérieur au nombre d'éléments que nous déclarons pour le tableau entre crochets [].

Si vous omettez la taille du tableau, un tableau juste assez grand pour contenir l'initialisation est créé. Par conséquent, si vous écrivez -

int number[] = {10, 20, 30, 40, 50};

Vous allez créer exactement le même tableau que vous l'avez fait dans l'exemple précédent. Voici un exemple pour affecter un seul élément du tableau -

number[4] = 50;

L'instruction ci-dessus attribue au numéro d'élément 5e dans le tableau une valeur de 50. Tous les tableaux ont 0 comme index de leur premier élément qui est également appelé l'index de base et le dernier index d'un tableau sera la taille totale du tableau moins 1. L'image suivante montre la représentation picturale du tableau dont nous avons discuté ci-dessus -

Accès aux éléments de la baie

Un élément est accessible en indexant le nom du tableau. Cela se fait en plaçant l'index de l'élément entre crochets après le nom du tableau. Par exemple -

int var = number[9];

L'instruction ci-dessus prendra le 10e élément du tableau et attribuera la valeur à varvariable. L'exemple suivant utilise tous les trois concepts mentionnés ci-dessus, à savoir. création, affectation et accès aux tableaux -

#include <stdio.h>
 
int main () {
   int number[10]; /* number is an array of 10 integers */
   int i = 0;
 
   /* Initialize elements of array n to 0 */         
   while( i < 10 ) {
	
      /* Set element at location i to i + 100 */
      number[ i ] = i + 100;
      i = i + 1;
   }
   
   /* Output each array element's value */
   i = 0;
   while( i < 10 ) {
	
      printf("number[%d] = %d\n", i, number[i] );
      i = i + 1;
   }
   
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109

Tableaux en Java

Voici le programme équivalent écrit en Java. Java prend en charge les tableaux, mais il y a une petite différence dans la façon dont ils sont créés en Java à l'aide denew opérateur.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie, qui doit être identique au résultat généré par l'exemple C ci-dessus.

public class DemoJava {
   public static void main(String []args) {
      int[] number = new int[10];
      int i = 0;
      
      while( i < 10 ) {
		
         number[ i ] = i + 100;
         i = i + 1;
      }

      i = 0;
      while( i < 10 ) {
         System.out.format( "number[%d] = %d\n", i, number[i] );
         i = i + 1;
      }
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109

Tableaux (listes) en Python

Python n'a pas de concept de Array, à la place Python fournit une autre structure de données appelée list, qui fournit des fonctionnalités similaires à celles des tableaux dans n'importe quel autre langage.

Voici le programme équivalent écrit en Python -

# Following defines an empty list.
number = []
i = 0

while i < 10:
   # Appending elements in the list
   number.append(i + 100)
   i = i + 1

i = 0
while i < 10:
   # Accessing elements from the list
   print "number[", i,  "] = ", number[ i ]
   i = i + 1

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

number[ 0 ] =  100
number[ 1 ] =  101
number[ 2 ] =  102
number[ 3 ] =  103
number[ 4 ] =  104
number[ 5 ] =  105
number[ 6 ] =  106
number[ 7 ] =  107
number[ 8 ] =  108
number[ 9 ] =  109

Lors de notre discussion sur characters, nous avons appris que le type de données caractère traite d'un seul caractère et que vous pouvez attribuer n'importe quel caractère de votre clavier à une variable de type caractère.

Maintenant, avançons un peu et considérons une situation où nous devons stocker plus d'un caractère dans une variable. Nous avons vu que la programmation C ne permet pas de stocker plus d'un caractère dans une variable de type caractère. Ainsi, les instructions suivantes ne sont pas valides en programmation C et produisent des erreurs de syntaxe -

char ch1 = 'ab';
char ch2 = '10';

Nous avons également vu comment utiliser le concept de arrayspour stocker plus d'une valeur de type de données similaire dans une variable. Voici la syntaxe pour stocker et imprimer cinq nombres dans un tableau de type int -

#include <stdio.h>

main() {
   int number[5] = {10, 20, 30, 40, 50};
   int i = 0;
        
   while( i < 5 ) {
      printf("number[%d] = %d\n", i, number[i] );
      i = i + 1;
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

number[0] = 10
number[1] = 20
number[2] = 30
number[3] = 40
number[4] = 50

Maintenant, définissons un tableau de cinq caractères de la même manière que nous l'avons fait pour les nombres et essayons de les imprimer -

#include <stdio.h>

main() {
   char ch[5] = {'H', 'e', 'l', 'l', 'o'};
   int i = 0;
        
   while( i < 5 ) {
      printf("ch[%d] = %c\n", i, ch[i] );
      i = i + 1;
   }
}

Ici, nous avons utilisé% c pour afficher la valeur du caractère. Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o

Si vous en avez terminé avec l'exemple ci-dessus, alors je pense que vous avez compris comment les chaînes fonctionnent en programmation C, car strings in C are represented as arrays of characters. La programmation en C a simplifié l'affectation et l'impression des chaînes. Reprenons le même exemple avec une syntaxe simplifiée -

#include <stdio.h>

main() {
   char ch[5] = "Hello";
   int i = 0;
    
   /* Print as a complete string */
   printf("String = %s\n", ch);  

   /* Print character by character */
   while( i < 5 ) {
      printf("ch[%d] = %c\n", i, ch[i] );
      i = i + 1;
   }
}

Ici, nous avons utilisé% s pour afficher la valeur de la chaîne complète en utilisant le nom du tableau ch, qui est en fait le début de la gestion de l'adresse mémoire ch variable comme indiqué ci-dessous -

Bien que cela ne soit pas visible dans les exemples ci-dessus, un programme C attribue en interne un caractère nul '\0'comme dernier caractère de chaque chaîne. Cela indique la fin de la chaîne et cela signifie que si vous souhaitez stocker une chaîne de 5 caractères dans un tableau, vous devez définir une taille de tableau de 6 comme une bonne pratique, bien que C ne s'en plaint pas.

Si le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

String = Hello
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o

Concepts de base des chaînes

Sur la base de la discussion ci-dessus, nous pouvons conclure les points importants suivants sur les chaînes en langage de programmation C -

  • Les chaînes en C sont représentées sous forme de tableaux de caractères.

  • On peut constituer une chaîne en programmation C en affectant caractère par caractère dans un tableau de caractères.

  • Nous pouvons constituer une chaîne en programmation C en attribuant une chaîne complète entre guillemets.

  • Nous pouvons imprimer une chaîne caractère par caractère en utilisant un indice de tableau ou une chaîne complète en utilisant un nom de tableau sans indice.

  • Le dernier caractère de chaque chaîne est un caractère nul, c'est-à-dire ‘\0’.

  • La plupart des langages de programmation fournissent des fonctions intégrées pour manipuler des chaînes, c'est-à-dire que vous pouvez concaténer des chaînes, vous pouvez rechercher à partir d'une chaîne, vous pouvez extraire des sous-chaînes d'une chaîne, etc. Pour en savoir plus, vous pouvez consulter notre tutoriel détaillé sur Programmation C ou tout autre langage de programmation.

Chaînes en Java

Bien que vous puissiez utiliser des tableaux de caractères pour stocker des chaînes, Java est un langage de programmation avancé et ses concepteurs ont essayé de fournir des fonctionnalités supplémentaires. Java fournit des chaînes en tant que type de données intégré comme tout autre type de données. Cela signifie que vous pouvez définir des chaînes directement au lieu de les définir comme un tableau de caractères.

Voici le programme équivalent écrit en Java. Java utilise lenew opérateur pour créer des variables de chaîne comme indiqué dans le programme suivant.

Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie -

public class DemoJava {
   public static void main(String []args) {
      String str = new String("Hello");  
      System.out.println( "String = " + str );
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

String = Hello

Chaînes en Python

Créer des chaînes en Python est aussi simple que d'assigner une chaîne dans une variable Python à l'aide de guillemets simples ou doubles.

Vous trouverez ci-dessous un programme simple qui crée deux chaînes et les imprime à l'aide de la fonction print () -

var1 = 'Hello World!'
var2 = "Python Programming"

print "var1 = ", var1
print "var2 = ", var2

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

var1 =  Hello World!
var2 =  Python Programming

Python ne prend pas en charge le type de caractère; celles-ci sont traitées comme des chaînes de longueur un, donc également considérées comme une sous-chaîne.

Pour accéder aux sous-chaînes, utilisez les crochets pour le découpage avec l'index ou les index pour obtenir votre sous-chaîne. Jetez un œil au segment de code suivant -

var1 = 'Hello World!'
var2 = "Python Programming"

print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

var1[0]:  H
var2[1:5]:  ytho

Une fonction est un bloc de code organisé et réutilisable utilisé pour effectuer une seule action associée. Les fonctions offrent une meilleure modularité pour votre application et un degré élevé de réutilisation du code. Vous avez déjà vu diverses fonctions commeprintf() et main(). Celles-ci sont appelées fonctions intégrées fournies par le langage lui-même, mais nous pouvons également écrire nos propres fonctions et ce didacticiel vous apprendra comment écrire et utiliser ces fonctions dans le langage de programmation C.

La bonne chose à propos des fonctions est qu'elles sont connues sous plusieurs noms. Différents langages de programmation les nomment différemment, par exemple, fonctions, méthodes, sous-routines, procédures, etc. Si vous rencontrez une telle terminologie, imaginez simplement le même concept, que nous allons discuter dans ce tutoriel.

Commençons par un programme où nous définirons deux tableaux de nombres puis à partir de chaque tableau, nous trouverons le plus grand nombre. Ci-dessous sont les étapes pour trouver le nombre maximum à partir d'un ensemble donné de nombres -

1. Get a list of numbers L1, L2, L3....LN
2. Assume L1 is the largest, Set max = L1
3. Take next number Li from the list and do the following
4.    If max is less than Li
5.       Set max = Li
6.    If Li is last number from the list then
7.       Print value stored in max and come out
8. Else prepeat same process starting from step 3

Traduisons le programme ci-dessus en langage de programmation C -

#include <stdio.h>

int main() {
   int set1[5] = {10, 20, 30, 40, 50};
   int set2[5] = {101, 201, 301, 401, 501};
   int i, max;
   
   /* Process first set of numbers available in set1[] */
   max = set1[0];
   i = 1;    
   while( i < 5 ) {
      if( max <  set1[i] ) {
         max = set1[i];
      }
      i = i + 1;
   }
   
   printf("Max in first set = %d\n", max );
    
   /* Now process second set of numbers available in set2[] */
   max = set2[0];
   i = 1;    
   while( i < 5 ) {
      if( max <  set2[i] ) {
         max = set2[i];
      }
      i = i + 1;
   }
   printf("Max in second set = %d\n", max );
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Max in first set = 50
Max in second set = 501

Si vous êtes clair sur l'exemple ci-dessus, alors il deviendra facile de comprendre pourquoi nous avons besoin d'une fonction. Dans l'exemple ci-dessus, il n'y a que deux ensembles de nombres, ensemble1 et ensemble2, mais considérons une situation où nous avons 10 ensembles de nombres similaires ou plus pour connaître les nombres maximum de chaque ensemble. Dans une telle situation, nous devrons répéter, traiter 10 fois ou plus et finalement, le programme deviendra trop volumineux avec du code répété. Pour gérer une telle situation, nous écrivons nos fonctions où nous essayons de garder le code source qui sera utilisé encore et encore dans notre programmation.

Voyons maintenant comment définir une fonction en langage de programmation C, puis dans les sections suivantes, nous expliquerons comment les utiliser.

Définition d'une fonction

La forme générale d'une définition de fonction dans le langage de programmation C est la suivante -

return_type function_name( parameter list ) {
   body of the function
   
   return [expression];
}

Une définition de fonction en programmation C se compose d'un en- tête de fonction et d'un corps de fonction . Voici toutes les parties d'une fonction -

  • Return Type- Une fonction peut renvoyer une valeur. lereturn_typeest le type de données de la valeur renvoyée par la fonction. Certaines fonctions exécutent les opérations souhaitées sans renvoyer de valeur. Dans ce cas, le return_type est le mot-clévoid.

  • Function Name- Ceci est le nom réel de la fonction. Le nom de la fonction et la liste des paramètres constituent ensemble la signature de la fonction.

  • Parameter List- Un paramètre est comme un espace réservé. Lorsqu'une fonction est appelée, vous transmettez une valeur en tant que paramètre. Cette valeur est appelée paramètre ou argument réel. La liste des paramètres fait référence au type, à l'ordre et au nombre de paramètres d'une fonction. Les paramètres sont facultatifs; autrement dit, une fonction peut ne contenir aucun paramètre.

  • Function Body - Le corps de la fonction contient une collection d'instructions qui définit ce que fait la fonction.

Appeler une fonction

Lors de la création d'une fonction C, vous donnez une définition de ce que la fonction doit faire. Pour utiliser une fonction, vous devrez appeler cette fonction pour effectuer une tâche définie.

Maintenant, écrivons l'exemple ci-dessus à l'aide d'une fonction -

#include <stdio.h>

int getMax( int set[] ) {
   int i, max;
   
   max = set[0];
   i = 1;    
   while( i < 5 ) {
      if( max <  set[i] ) {
         max = set[i];
      }
      i = i + 1;
   }
   return max;
}
main() {
   int set1[5] = {10, 20, 30, 40, 50};
   int set2[5] = {101, 201, 301, 401, 501};
   int max;

   /* Process first set of numbers available in set1[] */
   max = getMax(set1);
   printf("Max in first set = %d\n", max );
    
   /* Now process second set of numbers available in set2[] */
   max = getMax(set2);
   printf("Max in second set = %d\n", max );
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Max in first set = 50
Max in second set = 501

Fonctions en Java

Si vous êtes clair sur les fonctions de la programmation C, il est également facile de les comprendre en Java. La programmation Java les nommemethods, mais le reste des concepts reste plus ou moins les mêmes.

Voici le programme équivalent écrit en Java. Vous pouvez essayer de l'exécuter pour voir la sortie -

public class DemoJava {
   public static void main(String []args) {
      int[] set1 = {10, 20, 30, 40, 50};
      int[] set2 = {101, 201, 301, 401, 501};
      int max;

      /* Process first set of numbers available in set1[] */
      max = getMax(set1);
      System.out.format("Max in first set = %d\n", max );

      /* Now process second set of numbers available in set2[] */
      max = getMax(set2);
      System.out.format("Max in second set = %d\n", max );
   }
   public static int getMax( int set[] ) {
      int i, max;
      max = set[0];
      i = 1;    
      
      while( i < 5 ) {
         if( max <  set[i] ) {
            max = set[i];
         }
         i = i + 1;
      }
      return max;
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

Max in first set = 50
Max in second set = 501

Fonctions en Python

Encore une fois, si vous connaissez le concept de fonctions en programmation C et Java, alors Python n'est pas très différent. Vous trouverez ci-dessous la syntaxe de base pour définir une fonction en Python -

def function_name( parameter list ):
   body of the function
   
   return [expression]

En utilisant cette syntaxe de fonction en Python, l'exemple ci-dessus peut être écrit comme suit -

def getMax( set ):
   max = set[0]
   i = 1   
   
   while( i < 5 ):
      if( max <  set[i] ):
         max = set[i]
      
      i = i + 1
   return max

set1 = [10, 20, 30, 40, 50]
set2 = [101, 201, 301, 401, 501]

# Process first set of numbers available in set1[]
max = getMax(set1)
print "Max in first set = ", max
    
# Now process second set of numbers available in set2[]
max = getMax(set2)
print "Max in second set = ", max

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

Max in first set =  50
Max in second set =  501

Fichiers informatiques

Un fichier informatique est utilisé pour stocker des données au format numérique comme du texte brut, des données d'image ou tout autre contenu. Les fichiers informatiques peuvent être organisés dans différents répertoires. Les fichiers sont utilisés pour conserver les données numériques, tandis que les répertoires sont utilisés pour conserver les fichiers.

Les fichiers informatiques peuvent être considérés comme le pendant numérique des documents papier. Pendant la programmation, vous conservez votre code source dans des fichiers texte avec différentes extensions, par exemple, les fichiers de programmation C se terminent par l'extension.c, Fichiers de programmation Java avec .javaet les fichiers Python avec .py.

Entrée / sortie de fichier

Habituellement, vous créez des fichiers à l'aide d'éditeurs de texte tels que le bloc-notes, MS Word, MS Excel ou MS Powerpoint, etc. Cependant, plusieurs fois, nous devons également créer des fichiers à l'aide de programmes informatiques. Nous pouvons modifier un fichier existant à l'aide d'un programme informatique.

L'entrée de fichier signifie les données qui sont écrites dans un fichier et la sortie de fichier signifie les données qui sont lues à partir d'un fichier. En fait, les termes d'entrée et de sortie sont davantage liés à l'entrée et à la sortie de l'écran. Lorsque nous affichons un résultat à l'écran, il est appelé sortie. De même, si nous fournissons une entrée à notre programme à partir de l'invite de commande, elle est appelée entrée.

Pour l'instant, il suffit de se rappeler que l'écriture dans un fichier est une entrée de fichier et la lecture de quelque chose à partir d'un fichier est une sortie de fichier.

Modes de fonctionnement des fichiers

Avant de commencer à travailler avec un fichier à l'aide d'un programme informatique, nous devons soit créer un nouveau fichier s'il n'existe pas, soit ouvrir un fichier déjà existant. Dans les deux cas, nous pouvons ouvrir un fichier dans les modes suivants -

  • Read-Only Mode- Si vous allez simplement lire un fichier existant et que vous ne souhaitez plus écrire de contenu dans le fichier, vous ouvrirez le fichier en mode lecture seule. Presque tous les langages de programmation fournissent une syntaxe pour ouvrir les fichiers en mode lecture seule.

  • Write-Only Mode- Si vous envisagez d'écrire dans un fichier existant ou dans un fichier nouvellement créé mais que vous ne souhaitez pas lire le contenu écrit de ce fichier, vous ouvrirez le fichier en mode écriture seule. Tous les langages de programmation fournissent une syntaxe pour ouvrir les fichiers en mode écriture seule.

  • Read & Write Mode - Si vous souhaitez lire et écrire dans le même fichier, vous ouvrirez le fichier en mode lecture et écriture.

  • Append Mode- Lorsque vous ouvrez un fichier pour l'écriture, cela vous permet de commencer l'écriture depuis le début du fichier; cependant, il écrasera le contenu existant, le cas échéant. Supposons que nous ne souhaitons pas écraser le contenu existant, puis nous ouvrons le fichier en mode ajout. Le mode Ajouter est en fin de compte un mode d'écriture, qui permet d'ajouter du contenu à la fin du fichier. Presque tous les langages de programmation fournissent une syntaxe pour ouvrir les fichiers en mode ajout.

Dans les sections suivantes, nous apprendrons comment ouvrir un nouveau fichier, comment y écrire et plus tard, comment lire et ajouter plus de contenu dans le même fichier.

Ouvrir des fichiers

Vous pouvez utiliser le fopen()pour créer un nouveau fichier ou ouvrir un fichier existant. Cet appel initialisera un objet du typeFILE, qui contient toutes les informations nécessaires pour contrôler le flux. Voici le prototype, c'est-à-dire la signature de cet appel de fonction -

FILE *fopen( const char * filename, const char * mode );

Ici, filename est une chaîne littérale, que vous utiliserez pour nommer votre fichier et accéder mode peut avoir l'une des valeurs suivantes -

Sr.Non Mode et description
1

r

Ouvre un fichier texte existant à des fins de lecture.

2

w

Ouvre un fichier texte pour l'écriture. S'il n'existe pas, un nouveau fichier est créé. Ici, votre programme commencera à écrire du contenu depuis le début du fichier.

3

a

Ouvre un fichier texte pour l'écriture en mode ajout. S'il n'existe pas, un nouveau fichier est créé. Ici, votre programme commencera à ajouter du contenu dans le contenu du fichier existant.

4

r+

Ouvre un fichier texte pour lire et écrire les deux.

5

w+

Ouvre un fichier texte pour la lecture et l'écriture. Il tronque d'abord le fichier à une longueur nulle, s'il existe; sinon crée le fichier s'il n'existe pas.

6

a+

Ouvre un fichier texte pour la lecture et l'écriture. Il crée un fichier, s'il n'existe pas. La lecture commencera depuis le début, mais l'écriture ne peut être ajoutée que.

Fermer un fichier

Pour fermer un fichier, utilisez le fclose( )fonction. Le prototype de cette fonction est -

int fclose( FILE *fp );

le fclose( ) la fonction renvoie zéro en cas de succès, ou EOF, caractère spécial, s'il y a une erreur lors de la fermeture du fichier. Cette fonction vide en fait toutes les données encore en attente dans la mémoire tampon du fichier, ferme le fichier et libère toute mémoire utilisée pour le fichier. L'EOF est une constante définie dans le fichier d'en-têtestdio.h.

Il existe diverses fonctions fournies par la bibliothèque standard C pour lire et écrire un fichier caractère par caractère ou sous la forme d'une chaîne de longueur fixe. Voyons quelques-uns d'entre eux dans la section suivante.

Ecrire un fichier

Ci-dessous, la fonction la plus simple pour écrire des caractères individuels dans un flux -

int fputc( int c, FILE *fp );

La fonction fputc() écrit la valeur de caractère de l'argument c dans le flux de sortie référencé par fp. Il renvoie le caractère écrit écrit en cas de succès, sinonEOFs'il y a une erreur. Vous pouvez utiliser les fonctions suivantes pour écrire une chaîne terminée par null dans un flux -

int fputs( const char *s, FILE *fp );

La fonction fputs() écrit la chaîne sdans le fichier référencé par fp. Il renvoie une valeur non négative en cas de succès, sinonEOFest renvoyé en cas d'erreur. Vous pouvez également utiliser la fonctionint fprintf(FILE *fp,const char *format, ...)pour écrire une chaîne dans un fichier. Essayez l'exemple suivant -

#include <stdio.h>

int main() {
   FILE *fp;

   fp = fopen("/tmp/test.txt", "w+");
   fprintf(fp, "This is testing for fprintf...\n");
   fputs("This is testing for fputs...\n", fp);
   fclose(fp);
}

Lorsque le code ci-dessus est compilé et exécuté, il crée un nouveau fichier test.txt dans /tmprépertoire et écrit deux lignes en utilisant deux fonctions différentes. Lisons ce fichier dans la section suivante.

Lire un fichier

Voici la fonction la plus simple pour lire un fichier texte caractère par caractère -

int fgetc( FILE * fp );

le fgetc() La fonction lit un caractère dans le fichier d'entrée référencé par fp. La valeur de retour est le caractère lu; ou en cas d'erreur, il renvoieEOF. La fonction suivante vous permet de lire une chaîne à partir d'un flux -

char *fgets( char *buf, int n, FILE *fp );

La fonction fgets() lit jusqu'à n - 1 caractères dans le flux d'entrée référencé par fp. Il copie la chaîne de lecture dans le tamponbuf, en ajoutant un null caractère pour terminer la chaîne.

Si cette fonction rencontre un caractère de nouvelle ligne '\ n' ou EOF avant qu'ils n'aient lu le nombre maximum de caractères, alors elle ne renvoie que les caractères lus jusqu'à ce point, y compris le caractère de nouvelle ligne. Vous pouvez aussi utiliserint fscanf(FILE *fp, const char *format, ...) pour lire les chaînes d'un fichier, mais il arrête la lecture après avoir rencontré le premier caractère d'espace.

#include <stdio.h>

main() {

   FILE *fp;
   char buff[255];

   fp = fopen("/tmp/test.txt", "r");
   fscanf(fp, "%s", buff);
   printf("1 : %s\n", buff );

   fgets(buff, 255, (FILE*)fp);
   printf("2: %s\n", buff );
   
   fgets(buff, 255, (FILE*)fp);
   printf("3: %s\n", buff );
   fclose(fp);
}

Lorsque le code ci-dessus est compilé et exécuté, il lit le fichier créé dans la section précédente et produit le résultat suivant -

1 : This
2 : is testing for fprintf...

3 : This is testing for fputs...

Analysons ce qui s'est passé ici. Premièrement lefscanf() méthode lit Thiscar après cela, il a rencontré un espace. Le deuxième appel est pourfgets(), qui lit la ligne restante jusqu'à ce qu'elle rencontre la fin de la ligne. Enfin, le dernier appelfgets() lit complètement la deuxième ligne.

E / S de fichier en Java

Java fournit un ensemble encore plus riche de fonctions pour gérer les E / S de fichiers. Pour plus d'informations sur ce sujet, nous vous suggérons de consulter nos didacticiels Java.

Ici, nous allons voir un programme Java simple, qui est équivalent au programme C expliqué ci-dessus. Ce programme ouvrira un fichier texte, y inscrira quelques lignes de texte et fermera le fichier. Enfin, le même fichier est ouvert puis lu à partir d'un fichier déjà créé. Vous pouvez essayer d'exécuter le programme suivant pour voir la sortie -

import java.io.*;

public class DemoJava {
   public static void main(String []args) throws IOException {
      File file = new File("/tmp/java.txt");
      
      // Create a File
      file.createNewFile();
      
      //  Creates a FileWriter Object using file object
      FileWriter writer = new FileWriter(file); 
      
      // Writes the content to the file
      writer.write("This is testing for Java write...\n");
      writer.write("This is second line...\n");
      
      // Flush the memory and close the file
      writer.flush();
      writer.close();
      
      // Creates a FileReader Object
      FileReader reader = new FileReader(file); 
      char [] a = new char[100];
      
      // Read file content in the array
      reader.read(a);
      System.out.println( a );
      
      // Close the file
      reader.close();
   }
}

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant -

This is testing for Java write...
This is second line...

E / S de fichier en Python

Le programme suivant montre la même fonctionnalité pour ouvrir un nouveau fichier, y écrire du contenu et enfin lire le même fichier -

# Create a new file
fo = open("/tmp/python.txt", "w")

# Writes the content to the file
fo.write( "This is testing for Python write...\n");
fo.write( "This is second line...\n");

# Close the file
fo.close()

# Open existing file
fo = open("/tmp/python.txt", "r")

# Read file content in a variable
str = fo.read(100);
print str

# Close opened file
fo.close()

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -

This is testing for Python write...
This is second line...

Nous vous remercions de votre patience pour suivre ce didacticiel. Nous avons essayé de rester concis mais comme ce sujet contient plusieurs sujets, nous en avons montré quelques exemples en détail.

Si vous n'avez compris aucun des concepts, nous vous recommandons de recommencer le didacticiel et une fois que vous serez à l'aise avec les concepts expliqués dans ce didacticiel, vous pourrez continuer.

Il existe de nombreux autres sujets liés à la programmation informatique que nous n'avons pas abordés intentionnellement pour éviter toute confusion, mais nous sommes sûrs que ces concepts ne vous seront pas difficiles à comprendre tant que vous vous familiariserez avec les concepts expliqués dans ce tutoriel.

Chez tutorialspoint, nous avons déployé beaucoup d'efforts pour préparer des didacticiels complets sur les langages de programmation C, Java et Python et nous vous recommandons vivement de démarrer l'un ou l'autre après avoir terminé ce didacticiel.

Veuillez partager avec nous votre opinion sur ce didacticiel, en mentionnant le nom du didacticiel dans la ligne d'objet à l'adresse [email protected]. Si vous avez des suggestions pour améliorer davantage ce didacticiel, nous aimerions certainement avoir de vos nouvelles.