Programmazione per computer - Guida rapida

Introduzione al programma per computer

Prima di entrare nella programmazione per computer, dobbiamo prima capire i programmi per computer e cosa fanno.

Un programma per computer è una sequenza di istruzioni scritte utilizzando un linguaggio di programmazione per computer per eseguire un'attività specifica dal computer.

I due termini importanti che abbiamo utilizzato nella definizione precedente sono:

  • Sequenza di istruzioni
  • Linguaggio di programmazione per computer

Per comprendere questi termini, considera una situazione in cui qualcuno ti chiede come andare a un KFC nelle vicinanze. Cosa fai esattamente per dirgli la strada per andare a KFC?

Utilizzerai il linguaggio umano per indicare la strada da percorrere per KFC, qualcosa come segue:

Prima vai dritto, dopo mezzo chilometro, prendi a sinistra dal semaforo rosso e poi prosegui per circa un chilometro e troverai KFC sulla destra.

Qui, hai utilizzato la lingua inglese per fornire diversi passaggi da compiere per raggiungere KFC. Se vengono seguiti nella seguente sequenza, raggiungerai KFC -

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

Ora prova a mappare la situazione con un programma per computer. La sequenza di istruzioni sopra è in realtà un fileHuman Program scritto in English Language, che istruisce su come raggiungere KFC da un dato punto di partenza. Questa stessa sequenza avrebbe potuto essere data in spagnolo, hindi, arabo o qualsiasi altra lingua umana, a condizione che la persona che cerca una direzione conosca una di queste lingue.

Ora, torniamo indietro e proviamo a capire un programma per computer, che è una sequenza di istruzioni scritte in un linguaggio per computer per eseguire un'attività specifica dal computer. Di seguito è riportato un semplice programma scritto in formatoPython Linguaggio di programmazione -

print "Hello, World!"

Il programma per computer di cui sopra indica al computer di stampare "Hello, World!" sullo schermo del computer.

  • Un programma per computer è anche chiamato a computer software, che può variare da due righe a milioni di righe di istruzioni.

  • Le istruzioni del programma per computer sono anche chiamate codice sorgente del programma e computer programming è anche chiamato program coding.

  • Un computer senza un programma per computer è solo una discarica; sono programmi che rendono attivi i computer.

Poiché abbiamo sviluppato così tanti linguaggi per comunicare tra di noi, gli informatici hanno sviluppato diversi linguaggi di programmazione per computer per fornire istruzioni al computer (cioè per scrivere programmi per computer). Vedremo diversi linguaggi di programmazione per computer nei capitoli successivi.

Introduzione alla programmazione per computer

Se hai capito cosa a computer programè, allora diremo: l'atto di scrivere programmi per computer è chiamato programmazione per computer.

Come accennato in precedenza, esistono centinaia di linguaggi di programmazione che possono essere utilizzati per scrivere programmi per computer e di seguito sono riportati alcuni di essi:

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

Usi dei programmi per computer

Oggi i programmi per computer vengono utilizzati in quasi tutti i campi, famiglia, agricoltura, medicina, intrattenimento, difesa, comunicazione, ecc. Di seguito sono elencate alcune applicazioni di programmi per computer:

  • MS Word, MS Excel, Adobe Photoshop, Internet Explorer, Chrome, ecc. Sono esempi di programmi per computer.

  • I programmi per computer vengono utilizzati per sviluppare grafica ed effetti speciali nella creazione di filmati.

  • I programmi per computer vengono utilizzati per eseguire ultrasuoni, raggi X e altri esami medici.

  • I programmi per computer vengono utilizzati nei nostri telefoni cellulari per SMS, chat e comunicazioni vocali.

Programmatore di computer

Qualcuno che può scrivere programmi per computer o, in altre parole, qualcuno che può fare programmazione per computer è chiamato programmatore di computer.

Sulla base della competenza nel linguaggio di programmazione del computer, possiamo nominare un programmatore di computer come segue:

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

Algoritmo

Dal punto di vista della programmazione, un algorithmè una procedura passo passo per risolvere qualsiasi problema. Un algoritmo è un metodo efficace espresso come un insieme finito di istruzioni ben definite.

Pertanto, un programmatore di computer elenca tutti i passaggi necessari per risolvere un problema prima di scrivere il codice effettivo. Di seguito è riportato un semplice esempio di algoritmo per scoprire il numero più grande da un dato elenco di numeri:

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'algoritmo di cui sopra è stato scritto in modo grezzo per aiutare i principianti a comprendere il concetto. Ti imbatterai in modi più standardizzati di scrivere algoritmi informatici man mano che passerai a livelli avanzati di programmazione informatica.

Partiamo dal presupposto che tu conosca bene la lingua inglese, che è ben nota Human Interface Language. L'inglese ha una grammatica predefinita, che deve essere seguita per scrivere affermazioni in inglese in modo corretto. Allo stesso modo, la maggior parte delle lingue dell'interfaccia umana (hindi, inglese, spagnolo, francese, ecc.) Sono costituite da diversi elementi come verbi, nomi, aggettivi, avverbi, proposizioni e congiunzioni, ecc.

Simili ai linguaggi dell'interfaccia umana, anche i linguaggi di programmazione per computer sono composti da diversi elementi. Ti guideremo attraverso le basi di questi elementi e ti metteremo a tuo agio nell'usarli in vari linguaggi di programmazione. Questi elementi di base includono:

  • Ambiente di programmazione
  • Sintassi di base
  • Tipi di dati
  • Variables
  • Keywords
  • Operatori di base
  • Il processo decisionale
  • Loops
  • Numbers
  • Characters
  • Arrays
  • Strings
  • Functions
  • File I / O

Spiegheremo tutti questi elementi nei capitoli successivi con esempi che utilizzano diversi linguaggi di programmazione. In primo luogo, proveremo a capire il significato di tutti questi termini in generale e poi vedremo come questi termini possono essere utilizzati in diversi linguaggi di programmazione.

Questo tutorial è stato progettato per darti un'idea dei seguenti linguaggi di programmazione più popolari:

  • Programmazione C.
  • Programmazione Java
  • Programmazione Python

Una parte importante del tutorial è stata spiegata prendendo il C come linguaggio di programmazione e poi abbiamo mostrato come funzionano concetti simili in Java e Python. Quindi, dopo aver completato questo tutorial, avrai abbastanza familiarità con questi popolari linguaggi di programmazione.

Sebbene Environment Setup non sia un elemento di alcun linguaggio di programmazione, è il primo passo da seguire prima di iniziare a scrivere un programma.

Quando diciamo Configurazione dell'ambiente, implica semplicemente una base sulla quale possiamo fare la nostra programmazione. Pertanto, abbiamo bisogno della configurazione del software richiesta, cioè l'installazione sul nostro PC che verrà utilizzata per scrivere programmi per computer, compilarli ed eseguirli. Ad esempio, se è necessario navigare in Internet, è necessaria la seguente configurazione sulla macchina:

  • Una connessione Internet funzionante per connettersi a Internet
  • Un browser Web come Internet Explorer, Chrome, Safari, ecc.

Se sei un utente di PC, riconoscerai la seguente schermata, che abbiamo preso da Internet Explorer durante la navigazione su tutorialspoint.com.

Allo stesso modo, sarà necessaria la seguente configurazione per iniziare a programmare utilizzando qualsiasi linguaggio di programmazione.

  • Un editor di testo per creare programmi per computer.
  • Un compilatore per compilare i programmi in formato binario.
  • Un interprete per eseguire direttamente i programmi.

Nel caso in cui non si abbia una sufficiente esposizione ai computer, non sarà possibile configurare nessuno di questi software. Quindi, ti suggeriamo di prendere l'aiuto di qualsiasi persona tecnica intorno a te per impostare l'ambiente di programmazione sulla tua macchina da cui puoi iniziare. Ma per te è importante capire cosa sono questi elementi.

Editor di testo

Un editor di testo è un software utilizzato per scrivere programmi per computer. La tua macchina Windows deve avere un Blocco note, che può essere utilizzato per digitare i programmi. Puoi avviarlo seguendo questi passaggi:

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

Avvierà Blocco note con la seguente finestra:

È possibile utilizzare questo software per digitare il programma del computer e salvarlo in un file in qualsiasi posizione. Puoi scaricare e installare altri buoni editor comeNotepad++, disponibile gratuitamente.

Se sei un utente Mac, allora avrai TextEdit oppure puoi installare qualche altro editor commerciale come BBEdit iniziare con.

Compilatore?

Scrivi il tuo programma per computer usando il tuo linguaggio di programmazione preferito e lo salvi in ​​un file di testo chiamato file di programma.

Ora proviamo a ottenere un po 'più di dettaglio su come il computer comprende un programma scritto da te utilizzando un linguaggio di programmazione. In realtà, il computer non può capire il tuo programma dato direttamente nel formato di testo, quindi dobbiamo convertire questo programma in un formato binario, che può essere compreso dal computer.

La conversione da programma di testo a file binario viene eseguita da un altro software chiamato Compiler e questo processo di conversione da programma formattato in testo a file in formato binario è chiamato compilazione del programma. Infine, puoi eseguire il file binario per eseguire l'attività programmata.

Non entreremo nei dettagli di un compilatore e delle diverse fasi di compilazione.

Il diagramma di flusso seguente fornisce un'illustrazione del processo:

Quindi, se hai intenzione di scrivere il tuo programma in uno di questi linguaggi, che necessita di compilazioni come C, C ++, Java e Pascal, ecc., Allora dovrai installare i loro compilatori prima di iniziare a programmare.

Interprete

Abbiamo appena discusso dei compilatori e del processo di compilazione. I compilatori sono necessari nel caso in cui scriverai il tuo programma in un linguaggio di programmazione che deve essere compilato in formato binario prima della sua esecuzione.

Esistono altri linguaggi di programmazione come Python, PHP e Perl, che non necessitano di alcuna compilazione in formato binario, ma è possibile utilizzare un interprete per leggere tali programmi riga per riga ed eseguirli direttamente senza ulteriori conversioni.

Quindi, se hai intenzione di scrivere i tuoi programmi in PHP, Python, Perl, Ruby, ecc., Dovrai installare i loro interpreti prima di iniziare a programmare.

Compilazione in linea

Se non sei in grado di configurare alcun editor, compilatore o interprete sulla tua macchina, tutorialspoint.com fornisce una funzione per compilare ed eseguire quasi tutti i programmi online con la facilità di un solo clic.

Quindi non preoccuparti e procediamo oltre per avere un'esperienza elettrizzante per diventare un programmatore di computer in semplici e facili passaggi.

Cominciamo con un po 'di programmazione, che ti renderà davvero un programmatore di computer. Scriveremo un programma per computer a riga singola per scrivereHello, World!sullo schermo. Vediamo come può essere scritto utilizzando diversi linguaggi di programmazione.

Hello World Program in C

Prova il seguente esempio utilizzando la nostra opzione del compilatore online disponibile su www.compileonline.com .

Per la maggior parte degli esempi forniti in questo tutorial, troverai un file Try it opzione nelle sezioni del codice del nostro sito Web nell'angolo in alto a destra che ti porterà al compilatore online.

Prova a cambiare il contenuto all'interno di printf (), cioè digita qualsiasi cosa al posto di Hello World!e poi controlla il suo risultato. Stampa solo quello che tieni tra le due virgolette.

#include <stdio.h>

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

che produce il seguente risultato:

Hello, World!

Questo piccolo programma Hello World ci aiuterà a comprendere vari concetti di base relativi alla programmazione C.

Punto di ingresso del programma

Per ora, dimentica il file #include <stdio.h> dichiarazione, ma tieni presente che devi mettere questa dichiarazione all'inizio di un programma C.

Ogni programma C inizia con main (), che è chiamata funzione principale, e poi è seguito da una parentesi graffa sinistra. Il resto dell'istruzione del programma viene scritta nel mezzo e infine una parentesi graffa destra termina il programma.

La parte di codifica all'interno di queste due parentesi graffe è chiamata corpo del programma. La parentesi graffa sinistra può essere sulla stessa riga di main () {o nella riga successiva come è stata menzionata nel programma precedente.

Funzioni

Le funzioni sono piccole unità di programmi e vengono utilizzate per svolgere un compito specifico. Ad esempio, il programma di cui sopra fa uso di due funzioni:main() e printf(). Qui, la funzione main () fornisce il punto di ingresso per l'esecuzione del programma e l'altra funzione printf () viene utilizzata per stampare un'informazione sullo schermo del computer.

Puoi scrivere le tue funzioni che vedremo in un capitolo a parte, ma la stessa programmazione C fornisce varie funzioni integrate come main (), printf (), ecc., Che possiamo usare nei nostri programmi in base alle nostre esigenze.

Alcuni linguaggi di programmazione usano la parola sub-routine invece di funzione, ma la loro funzionalità è più o meno la stessa.

Commenti

Il programma AC può avere istruzioni racchiuse all'interno /*.....*/. Tali dichiarazioni sono chiamate commenti e questi commenti sono usati per rendere i programmi facili da usare e da capire. La cosa buona dei commenti è che vengono completamente ignorati da compilatori e interpreti. Quindi puoi usare qualsiasi lingua tu voglia scrivere i tuoi commenti.

Spazi bianchi

Quando scriviamo un programma utilizzando qualsiasi linguaggio di programmazione, utilizziamo vari caratteri stampabili per preparare le istruzioni di programmazione. Questi caratteri stampabili sonoa, b, c,......z, A, B, C,.....Z, 1, 2, 3,...... 0, !, @, #, $, %, ^, &, *, (, ), -, _, +, =, \, |, {, }, [, ], :, ;, <, >, ?, /, \, ~. `. ", '. Spero di non perdere nessun carattere stampabile dalla tastiera.

Oltre a questi caratteri, ci sono alcuni caratteri che usiamo molto frequentemente ma sono invisibili nel tuo programma e questi caratteri sono spazi, tabulazioni (\ t), nuove righe (\ n). Questi personaggi sono chiamatiwhitespaces.

Questi tre importanti caratteri di spazio bianco sono comuni in tutti i linguaggi di programmazione e rimangono invisibili nel documento di testo -

Spazio bianco Spiegazione Rappresentazione
Nuova linea Per creare una nuova linea \ n
Tab Per creare una scheda. \ t
Spazio Per creare uno spazio. spazio vuoto

Una riga contenente solo spazi bianchi, possibilmente con un commento, è nota come riga vuota e un compilatore C la ignora completamente. Lo spazio bianco è il termine utilizzato in C per descrivere spazi, tabulazioni, caratteri di nuova riga e commenti. Quindi puoi scrivereprintf("Hello, World!" );come mostrato di seguito. Qui tutti gli spazi creati intorno a "Hello, World!" sono inutili e il compilatore li ignorerà al momento della compilazione.

#include <stdio.h>

int main() {

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

che produce il seguente risultato:

Hello, World!

Se rendiamo visibili tutti questi spazi vuoti, il programma sopra sarà simile a questo e non sarai in grado di compilarlo -

#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

Punto e virgola

Ogni singola istruzione in un programma C deve terminare con un punto e virgola (;), ad esempio, se vuoi scrivere "Hello, World!" due volte, quindi verrà scritto come segue:

#include <stdio.h>

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

Questo programma produrrà il seguente risultato:

Hello, World! 
Hello, World!

Qui stiamo usando un nuovo carattere di linea \nnella prima funzione printf () per creare una nuova riga. Vediamo cosa succede se non usiamo questo nuovo carattere di linea -

#include <stdio.h>

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

Questo programma produrrà il seguente risultato:

Hello, World! Hello, World!

Impareremo identificatori e parole chiave nei prossimi capitoli.

Spiegazione del programma

Cerchiamo di capire come funziona il programma C sopra. Prima di tutto, il programma sopra viene convertito in un formato binario utilizzando il compilatore C. Quindi mettiamo questo codice nel file test.c e compiliamolo come segue -

$gcc test.c -o demo

Se c'è qualche errore grammaticale (errori di sintassi nelle terminologie del computer), lo correggiamo prima di convertirlo in formato binario. Se tutto va bene, allora produce un file binario chiamatodemo. Infine, eseguiamo la demo binaria prodotta come segue:

$./demo

che produce il seguente risultato:

Hello, World!

Qui, quando eseguiamo il binario a.outfile, il computer entra nel programma partendo da main () e incontra un'istruzione printf (). Tenere presente che la riga all'interno di /*....*/ è un commento e viene filtrata al momento della compilazione. Quindi la funzione printf () ordina al computer di stampare la riga data sullo schermo del computer. Infine, incontra una parentesi graffa destra che indica la fine della funzione main () ed esce dal programma.

Errore di sintassi

Se non segui le regole definite dal linguaggio di programmazione, al momento della compilazione otterrai errori di sintassi e il programma non verrà compilato. Dal punto di vista della sintassi, anche un singolo punto o virgola o un singolo punto e virgola sono importanti e dovresti occuparti anche di una sintassi così piccola. Nell'esempio seguente abbiamo saltato il punto e virgola, proviamo a compilare il programma -

#include <stdio.h>

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

Questo programma produrrà il seguente risultato:

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

Quindi la conclusione è che se non stai seguendo la sintassi corretta definita dal linguaggio di programmazione nel tuo programma, allora otterrai errori di sintassi. Prima di tentare un'altra compilazione, sarà necessario correggerli e quindi procedere.

Hello World Program in Java

Di seguito è riportato il programma equivalente scritto in Java. Anche questo programma produrrà lo stesso risultatoHello, World!.

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

che produce il seguente risultato:

Hello, World!

Hello World Program in Python

Di seguito è riportato il programma equivalente scritto in Python. Anche questo programma produrrà lo stesso risultatoHello, World!.

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

che produce il seguente risultato:

Hello, World!

Spero che tu abbia notato che per gli esempi C e Java, prima stiamo compilando i programmi e poi eseguendo i binari prodotti, ma nel programma Python, lo stiamo eseguendo direttamente. Come abbiamo spiegato nel capitolo precedente, Python è un linguaggio interpretato e non necessita di un passaggio intermedio chiamato compilazione.

Python non richiede un punto e virgola (;) per terminare un'istruzione, piuttosto una nuova riga significa sempre la fine dell'istruzione.

Parliamo di un concetto molto semplice ma molto importante disponibile in quasi tutti i linguaggi di programmazione che viene chiamato data types. Come indica il nome, un tipo di dati rappresenta un tipo di dati che puoi elaborare utilizzando il tuo programma per computer. Può essere numerico, alfanumerico, decimale, ecc.

Teniamo da parte la programmazione del computer per un po 'e facciamo un semplice esempio di aggiunta di due numeri interi 10 e 20, che possono essere eseguiti semplicemente come segue:

10 + 20

Prendiamo un altro problema in cui vogliamo aggiungere due numeri decimali 10,50 e 20,50, che verranno scritti come segue:

10.50 + 20.50

I due esempi sono semplici. Ora prendiamo un altro esempio in cui vogliamo registrare le informazioni sugli studenti in un taccuino. Qui vorremmo registrare le seguenti informazioni:

Name:
Class:
Section:
Age:
Sex:

Ora, mettiamo un record dello studente secondo il requisito dato -

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

Il primo esempio ha affrontato i numeri interi, il secondo ha aggiunto due numeri decimali, mentre il terzo esempio ha a che fare con un mix di dati diversi. Mettiamolo come segue:

  • Il nome dello studente "Zara Ali" è una sequenza di caratteri chiamata anche stringa.

  • La classe studentesca "6a" è stata rappresentata da una combinazione di numeri interi e una stringa di due caratteri. Un tale mix è chiamato alfanumerico.

  • La sezione Studente è stata rappresentata da un singolo carattere che è "J".

  • L'età degli studenti è stata rappresentata da un numero intero che è 13.

  • Il sesso studentesco è stato rappresentato da un singolo carattere che è "F".

In questo modo, ci siamo resi conto che nella nostra vita quotidiana abbiamo a che fare con diversi tipi di dati come stringhe, caratteri, numeri interi (interi) e numeri decimali (numeri in virgola mobile).

Allo stesso modo, quando scriviamo un programma per computer per elaborare diversi tipi di dati, dobbiamo specificarne chiaramente il tipo; altrimenti il ​​computer non capisce come possono essere eseguite diverse operazioni su quel dato dato. Diversi linguaggi di programmazione utilizzano parole chiave diverse per specificare diversi tipi di dati. Ad esempio, i linguaggi di programmazione C e Java utilizzanoint per specificare dati interi, mentre char specifica un tipo di dati carattere.

I capitoli successivi mostreranno come utilizzare diversi tipi di dati in diverse situazioni. Per ora, controlliamo i tipi di dati importanti disponibili in C, Java e Python e le parole chiave che useremo per specificare quei tipi di dati.

Tipi di dati C e Java

C e Java supportano quasi lo stesso set di tipi di dati, sebbene Java supporti tipi di dati aggiuntivi. Per ora, stiamo prendendo alcuni tipi di dati comuni supportati da entrambi i linguaggi di programmazione:

genere Parola chiave Intervallo di valori che può essere rappresentato da questo tipo di dati
Personaggio char Da -128 a 127 o da 0 a 255
Numero int Da -32.768 a 32.767 o da -2.147.483.648 a 2.147.483.647
Numero piccolo corto Da -32.768 a 32.767
Numero lungo lungo -2.147.483.648 a 2.147.483.647
Numero decimale galleggiante Da 1.2E-38 a 3.4E + 38 fino a 6 cifre decimali

Questi tipi di dati sono chiamati tipi di dati primitivi ed è possibile utilizzare questi tipi di dati per creare tipi di dati più complessi, che sono chiamati tipi di dati definiti dall'utente, ad esempio una stringa sarà una sequenza di caratteri.

Tipi di dati Python

Python ha cinque tipi di dati standard, ma questo linguaggio di programmazione non utilizza alcuna parola chiave per specificare un particolare tipo di dati, piuttosto Python è abbastanza intelligente da comprendere automaticamente un determinato tipo di dati.

  • Numbers
  • String
  • List
  • Tuple
  • Dictionary

Qui, Numero specifica tutti i tipi di numeri inclusi i numeri decimali e la stringa rappresenta una sequenza di caratteri con una lunghezza di 1 o più caratteri. Per ora, procediamo con questi due tipi di dati e salta List, Tuple e Dictionary, che sono tipi di dati avanzati in Python.

Le variabili sono i nomi che dai alle posizioni di memoria del computer che vengono utilizzate per memorizzare i valori in un programma per computer.

Ad esempio, supponi di voler memorizzare due valori 10 e 20 nel tuo programma e in una fase successiva, desideri utilizzare questi due valori. Vediamo come lo farai. Ecco i seguenti tre semplici passaggi:

  • Crea variabili con nomi appropriati.
  • Memorizza i tuoi valori in queste due variabili.
  • Recuperare e utilizzare i valori memorizzati dalle variabili.

Creazione di variabili

Viene anche chiamata la creazione di variabili declaring variablesnella programmazione C. Linguaggi di programmazione diversi hanno modi diversi di creare variabili all'interno di un programma. Ad esempio, la programmazione C ha il seguente semplice modo di creare variabili:

#include <stdio.h>

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

Il programma precedente crea due variabili per riservare due posizioni di memoria con nomi a e b. Abbiamo creato queste variabili usandoint parola chiave per specificare la variabile data typeil che significa che vogliamo memorizzare valori interi in queste due variabili. Allo stesso modo, puoi creare variabili da memorizzarelong, float, charo qualsiasi altro tipo di dati. Ad esempio:

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

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

È possibile creare variabili di tipo simile inserendole in una singola riga ma separate da virgola come segue:

#include <stdio.h>

int main() {
   int a, b;
}

Di seguito sono elencati i punti chiave sulle variabili che è necessario tenere a mente:

  • Un nome di variabile può contenere un singolo tipo di valore. Ad esempio, se variabilea è stata definita int type, quindi può memorizzare solo interi.

  • Il linguaggio di programmazione C richiede una creazione di variabili, cioè una dichiarazione prima del suo utilizzo nel programma. Non puoi usare un nome di variabile nel tuo programma senza crearlo, sebbene un linguaggio di programmazione come Python ti permetta di usare un nome di variabile senza crearlo.

  • È possibile utilizzare un nome di variabile solo una volta all'interno del programma. Ad esempio, se una variabilea è stato definito per memorizzare un valore intero, quindi non è possibile definirlo a di nuovo per memorizzare qualsiasi altro tipo di valore.

  • Esistono linguaggi di programmazione come Python, PHP, Perl, ecc., Che non vogliono che tu specifichi il tipo di dati al momento della creazione delle variabili. Quindi puoi memorizzare integer, float o long senza specificare il loro tipo di dati.

  • Puoi dare qualsiasi nome a una variabile come age, sex, salary, year1990o qualsiasi altra cosa tu voglia dare, ma la maggior parte dei linguaggi di programmazione consente di utilizzare solo caratteri limitati nei nomi delle variabili. Per ora, ti suggeriamo di utilizzare soloa....z, A....Z, 0....9 nei nomi delle variabili e iniziare i loro nomi utilizzando solo alfabeti invece di cifre.

  • Quasi nessuno dei linguaggi di programmazione consente di iniziare i nomi delle variabili con una cifra, quindi 1990year non sarà un nome di variabile valido mentre year1990 o ye1990ar sono nomi di variabili validi.

Ogni linguaggio di programmazione fornisce più regole relative alle variabili e le imparerai quando andrai più nel dettaglio di quel linguaggio di programmazione.

Memorizza i valori nelle variabili

Hai visto come abbiamo creato le variabili nella sezione precedente. Ora, memorizziamo alcuni valori in quelle variabili -

#include <stdio.h>

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

Il programma precedente ha due istruzioni aggiuntive in cui memorizziamo 10 in variabile a e 20 viene memorizzato nella variabile b. Quasi tutti i linguaggi di programmazione hanno un modo simile di memorizzare i valori nella variabile in cui manteniamo il nome della variabile sul lato sinistro di un segno di uguale = e qualunque valore vogliamo memorizzare nella variabile, manteniamo quel valore sul lato destro.

Ora, abbiamo completato due passaggi, prima abbiamo creato due variabili e poi abbiamo memorizzato i valori richiesti in quelle variabili. Ora variabilea ha valore 10 e variabile b ha valore 20. In altre parole possiamo dire, quando viene eseguito il programma di cui sopra, la locazione di memoria denominata a manterrà 10 e la posizione di memoria b ne terrà 20.

Accedi ai valori memorizzati nelle variabili

Se non usiamo i valori memorizzati nelle variabili, non ha senso creare variabili e memorizzare valori in esse. Sappiamo che il programma precedente ha due variabilia e be memorizzano rispettivamente i valori 10 e 20. Quindi proviamo a stampare i valori memorizzati in queste due variabili. Di seguito è riportato un programma C, che stampa i valori memorizzati nelle sue variabili:

#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 );
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Value of a = 10
Value of b = 20

Devi aver visto printf()funzione nel capitolo precedente in cui l'avevamo usata per stampare "Hello, World!". Questa volta lo utilizziamo per stampare i valori delle variabili. Stiamo facendo uso di%d, che verrà sostituito con i valori della variabile data nelle istruzioni printf (). Possiamo stampare entrambi i valori usando una singola istruzione printf () come segue:

#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 );
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Value of a = 10 and value of b = 20

Se vuoi usare float variabile nella programmazione C, quindi dovrai usare %f invece di %de se vuoi stampare un valore di carattere, dovrai usare %c. Allo stesso modo, è possibile stampare diversi tipi di dati utilizzando% e caratteri diversi.

Variabili in Java

Di seguito è riportato il programma equivalente scritto in linguaggio di programmazione Java. Questo programma creerà due variabilia e b e molto simile alla programmazione C, assegnerà 10 e 20 a queste variabili e infine stamperà i valori delle due variabili in due modi:

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);     
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Variabili in Python

Di seguito è riportato il programma equivalente scritto in Python. Questo programma creerà due variabilia e b e allo stesso tempo, assegna 10 e 20 a quelle variabili.

Python non vuole che tu specifichi il tipo di dati al momento della creazione della variabile e non è necessario creare variabili in anticipo.

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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

È possibile utilizzare la seguente sintassi nella programmazione C e Java per dichiarare variabili e assegnare valori allo stesso tempo:

#include <stdio.h>

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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Value of a = 10 and value of b = 20

Finora abbiamo coperto due concetti importanti chiamati variabili e i loro tipi di dati. Abbiamo discusso su come utilizzareint, long, e floatper specificare diversi tipi di dati. Abbiamo anche imparato come denominare le variabili per memorizzare valori diversi.

Sebbene questo capitolo non sia richiesto separatamente perché le parole chiave riservate fanno parte della sintassi di programmazione di base, lo abbiamo tenuto separato per spiegarlo subito dopo i tipi di dati e le variabili per renderlo facile da capire.

Come int, long e float, ci sono molte altre parole chiave supportate dal linguaggio di programmazione C che useremo per scopi diversi. Diversi linguaggi di programmazione forniscono diversi set di parole chiave riservate, ma c'è una regola importante e comune in tutti i linguaggi di programmazione che non possiamo usare una parola chiave riservata per nominare le nostre variabili, il che significa che non possiamo nominare la nostra variabile comeint o float piuttosto queste parole chiave possono essere utilizzate solo per specificare un tipo di dati variabile.

Ad esempio, se si tenta di utilizzare qualsiasi parola chiave riservata allo scopo di nome variabile, verrà visualizzato un errore di sintassi.

#include <stdio.h>

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

Quando si compila il programma sopra, viene prodotto il seguente errore:

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

Diamo ora un nome appropriato alla nostra variabile intera, quindi il programma sopra dovrebbe essere compilato ed eseguito con successo -

#include <stdio.h>

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

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

Parole chiave riservate di programmazione C.

Ecco una tabella con quasi tutte le parole chiave supportate dal linguaggio di programmazione C -

auto altro lungo interruttore
rompere enum Registrati typedef
Astuccio esterno ritorno unione
char galleggiante corto non firmato
const per firmato vuoto
Continua vai a taglia di volatile
predefinito Se statico mentre
fare int struct _Confezionato
Doppio

Parole chiave riservate di programmazione Java

Ecco una tabella con quasi tutte le parole chiave supportate dal linguaggio di programmazione Java:

astratto asserire booleano rompere
byte Astuccio catturare char
classe const Continua predefinito
fare Doppio altro enum
si estende finale finalmente galleggiante
per vai a Se attrezzi
importare istanza di int interfaccia
lungo nativo nuovo pacchetto
privato protetto pubblico ritorno
corto statico strictfp super
interruttore sincronizzato Questo gettare
lanci transitorio provare vuoto
volatile mentre

Parole chiave riservate di programmazione Python

Ecco una tabella con quasi tutte le parole chiave supportate dal linguaggio di programmazione Python:

e exec non
asserire finalmente o
rompere per passaggio
classe a partire dal Stampa
Continua globale aumentare
def Se ritorno
del importare provare
elif in mentre
altro è con
tranne lambda dare la precedenza

Sappiamo che non puoi memorizzare tutte queste parole chiave, ma le abbiamo elencate per il tuo scopo di riferimento e per spiegare il concetto di reserved keywords. Quindi fai solo attenzione quando dai un nome alla tua variabile, non dovresti usare nessuna parola chiave riservata per quel linguaggio di programmazione.

Un operatore in un linguaggio di programmazione è un simbolo che dice al compilatore o all'interprete di eseguire specifiche operazioni matematiche, relazionali o logiche e produrre il risultato finale. Questo capitolo spiegherà il concetto dioperators e ti guiderà attraverso gli importanti operatori aritmetici e relazionali disponibili in C, Java e Python.

Operatori aritmetici

I programmi per computer sono ampiamente utilizzati per i calcoli matematici. Possiamo scrivere un programma per computer che può eseguire calcoli semplici come l'aggiunta di due numeri (2 + 3) e possiamo anche scrivere un programma, che può risolvere un'equazione complessa come P (x) = x 4 + 7x 3 - 5x + 9. Se sei stato anche un povero studente, devi essere consapevole che nella prima espressione 2 e 3 sono operandi e + è un operatore. Concetti simili esistono nella programmazione di computer.

Dai un'occhiata ai seguenti due esempi:

2 + 3

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

Queste due istruzioni sono chiamate espressioni aritmetiche in un linguaggio di programmazione e plus, minusutilizzati in queste espressioni sono chiamati operatori aritmetici ei valori utilizzati in queste espressioni come 2, 3 e x, ecc., sono chiamati operandi. Nella loro forma più semplice, tali espressioni producono risultati numerici.

Allo stesso modo, un linguaggio di programmazione fornisce vari operatori aritmetici. La tabella seguente elenca alcuni degli importanti operatori aritmetici disponibili nel linguaggio di programmazione C. Supponiamo che la variabile A contenga 10 e la variabile B ne contenga 20, quindi -

Operatore Descrizione Esempio
+ Aggiunge due operandi A + B darà 30
- Sottrae il secondo operando dal primo A - B darà -10
* Moltiplica entrambi gli operandi A * B darà 200
/ Divide il numeratore per il de-numeratore B / A darà 2
% Questo dà il resto di una divisione intera B% A darà 0

Di seguito è riportato un semplice esempio di programmazione C per comprendere gli operatori matematici di cui sopra:

#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);
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Operatori relazionali

Considera una situazione in cui creiamo due variabili e assegniamo loro alcuni valori come segue:

A = 20
B = 10

Qui, è ovvio che la variabile A è maggiore di B nei valori. Quindi, abbiamo bisogno dell'aiuto di alcuni simboli per scrivere tali espressioni che sono chiamate espressioni relazionali. Se usiamo il linguaggio di programmazione C, verrà scritto come segue:

(A > B)

Qui, abbiamo usato un simbolo> ed è chiamato un operatore relazionale e nella loro forma più semplice, producono risultati booleani che significa che il risultato sarà vero o falso. Allo stesso modo, un linguaggio di programmazione fornisce vari operatori relazionali. La tabella seguente elenca alcuni degli importanti operatori relazionali disponibili nel linguaggio di programmazione C. Assumi variabileA detiene 10 e variabile B detiene 20, quindi -

Operatore Descrizione Esempio
== Controlla se i valori di due operandi sono uguali o meno, in caso affermativo la condizione diventa vera. (A == B) non è vero.
! = Controlla se i valori di due operandi sono uguali o meno, se i valori non sono uguali la condizione diventa vera. (A! = B) è vero.
> Controlla se il valore dell'operando sinistro è maggiore del valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> B) non è vero.
< Controlla se il valore dell'operando sinistro è inferiore al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <B) è vero.
> = Controlla se il valore dell'operando sinistro è maggiore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> = B) non è vero.
<= Controlla se il valore dell'operando sinistro è minore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <= B) è vero.

Qui, ti mostreremo un esempio di programmazione in C che fa uso di if conditional statement. Sebbene questa affermazione sarà discussa più avanti in un capitolo separato, ma in breve, usiamoif statement per verificare una condizione e se la condizione è vera, il corpo di if statement viene eseguito, altrimenti il ​​corpo di if statement è saltato.

#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");
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Operatori logici

Gli operatori logici sono molto importanti in qualsiasi linguaggio di programmazione e ci aiutano a prendere decisioni in base a determinate condizioni. Supponiamo di voler combinare il risultato di due condizioni, quindi gli operatori logici AND e OR ci aiutano a produrre il risultato finale.

La tabella seguente mostra tutti gli operatori logici supportati dal linguaggio C. Assumi variabileA detiene 1 e variabile B contiene 0, quindi -

Operatore Descrizione Esempio
&& Chiamato operatore AND logico. Se entrambi gli operandi sono diversi da zero, la condizione diventa vera. (A && B) è falso.
|| Chiamato Operatore OR logico. Se uno dei due operandi è diverso da zero, la condizione diventa vera. (A || B) è vero.
! Chiamato operatore NOT logico. Utilizzare per invertire lo stato logico del suo operando. Se una condizione è vera, l'operatore NOT logico la renderà falsa. ! (A && B) è vero.

Prova il seguente esempio per comprendere tutti gli operatori logici disponibili nel linguaggio di programmazione 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" );
   }
}

Quando compili ed esegui il programma sopra, produce il seguente risultato:

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

Operatori in Java

Di seguito è riportato il programma equivalente scritto in Java. La programmazione C e Java forniscono un insieme quasi identico di operatori e istruzioni condizionali. Questo programma creerà due variabilia e b, molto simile alla programmazione C, quindi assegniamo 10 e 20 in queste variabili e, infine, useremo diversi operatori aritmetici e relazionali -

Puoi provare ad eseguire il seguente programma per vedere l'output, che deve essere identico al risultato generato dall'esempio precedente.

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" );
      }
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Operatori in Python

Di seguito è riportato il programma equivalente scritto in Python. Questo programma creerà due variabilia e be allo stesso tempo, assegna 10 e 20 a quelle variabili. Fortunatamente, i linguaggi di programmazione C e Python forniscono un insieme quasi identico di operatori. Questo programma creerà due variabilia e b, molto simile alla programmazione C, quindi assegniamo 10 e 20 in queste variabili e, infine, utilizzeremo diversi operatori aritmetici e relazionali.

Puoi provare ad eseguire il seguente programma per vedere l'output, che deve essere identico al risultato generato dall'esempio precedente.

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"

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Il processo decisionale è fondamentale per la programmazione del computer. Ci saranno molte situazioni in cui ti verranno fornite due o più opzioni e dovrai selezionare un'opzione in base alle condizioni date. Ad esempio, vogliamo stampare un commento su uno studente in base ai suoi voti garantiti. La seguente è la situazione:

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

Ora, la domanda è come scrivere un codice di programmazione per gestire tali situazioni. Quasi tutti i linguaggi di programmazione forniscono istruzioni condizionali che funzionano in base al seguente diagramma di flusso:

Scriviamo un programma C con l'aiuto di if conditional statements per convertire la situazione di cui sopra in un codice di programmazione -

#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");
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Student is average

Il programma sopra utilizza if conditional statements. Ecco, il primoif statementcontrolla se la condizione data, cioè la variabile x è maggiore di 95 o meno e se trova che la condizione è vera, allora il corpo condizionale viene inserito per eseguire le istruzioni date. Qui abbiamo solo un'istruzione printf () per stampare un commento sullo studente.

Allo stesso modo, il secondo if statementlavori. Infine, il terzoif statement viene eseguito, qui abbiamo le seguenti due condizioni:

  • La prima condizione è x > 95

  • La seconda condizione è x < 30

Il computer valuta entrambe le condizioni date e quindi il risultato complessivo viene combinato con l'aiuto dell'operatore binario &&. Se il risultato finale è vero, verrà eseguita l'istruzione condizionale, altrimenti non verrà eseguita nessuna istruzione.

Questo tutorial ti darà un'idea di base su varie forme di if statements e un'introduzione a switchistruzioni disponibili nel linguaggio di programmazione C. Diversi linguaggi di programmazione forniscono diversi tipi di dichiarazioni decisionali, ma il concetto di base rimane lo stesso spiegato in questo tutorial.

if ... else dichiarazione

Un if L'istruzione può essere seguita da un opzionale elseistruzione, che viene eseguita quando l'espressione booleana è falsa. La sintassi di un fileif...else dichiarazione nel linguaggio di programmazione C è -

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 sintassi sopra può essere rappresentata sotto forma di un diagramma di flusso come mostrato di seguito -

Un if...elseè utile quando dobbiamo prendere una decisione tra due opzioni. Ad esempio, se uno studente ottiene più voti di 95, lo studente è brillante, altrimenti nessuna situazione del genere può essere codificata, come segue:

#include <stdio.h>

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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Student is not brilliant

if ... elseif ... else dichiarazione

Un if L'istruzione può essere seguita da un opzionale else if...else dichiarazione, che è molto utile per testare varie condizioni.

Durante l'utilizzo if, else if, else dichiarazioni, ci sono alcuni punti da tenere a mente:

  • Un if può avere zero o uno else's e deve venire dopo un else if.

  • Un if può avere da zero a molti else…if's e devono venire prima del else.

  • Una volta un file else…if riesce, nessuno dei restanti else…if's o else's sarà testato.

La sintassi di un file if...else if...else dichiarazione nel linguaggio di programmazione C è -

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 */
}

Ora con l'aiuto di if...elseif...else dichiarazione, il primo programma può essere codificato come segue:

#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");
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Student is average

La dichiarazione Switch

UN switch L'istruzione è un'alternativa a if statementsche consente di verificare l'uguaglianza di una variabile rispetto a un elenco di valori. Ogni valore è chiamato acasee la variabile da attivare viene controllata per ogni caso di interruttore. Ha la seguente sintassi:

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

Il expression utilizzato in a switchL'istruzione deve fornire un valore intero, che verrà confrontato per l'uguaglianza con i diversi casi forniti. Ogni volta che il valore di un'espressione corrisponde a un valore di case, il corpo di quel case verrà eseguito e, infine, lo switch verrà terminato utilizzando unbreakdichiarazione. Se non vengono fornite istruzioni break, il computer continua a eseguire altre istruzioni disponibili di seguito per il caso corrispondente. Se nessuno dei casi corrisponde, viene eseguito il corpo del caso predefinito.

La sintassi sopra può essere rappresentata sotto forma di un diagramma di flusso come mostrato di seguito -

Consideriamo ora un altro esempio in cui vogliamo scrivere la parola inglese equivalente per un dato numero. Quindi, può essere codificato come segue:

#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");
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Two

Decisioni in Java

Di seguito è riportato il programma equivalente scritto in Java che anch'esso supporta if, if...else, if...elseif...else, e switch dichiarazioni.

Puoi provare ad eseguire il seguente programma per vedere l'output, che deve essere identico al risultato generato dall'esempio C sopra.

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");
      }
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Student is average

Decisioni in Python

Di seguito è riportato il programma equivalente scritto in Python. Python fornisceif, if...else, if...elif...else, e switchdichiarazioni. Qui, devi notare che Python non fa uso di parentesi graffe per il corpo condizionale, invece identifica semplicemente il corpo del blocco usando l'indentazione delle istruzioni.

Puoi provare a eseguire il seguente programma per vedere l'output:

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"

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Student is average
The end

Consideriamo una situazione in cui desideri stampare Hello, World!cinque volte. Ecco un semplice programma in C per fare lo stesso:

#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");
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Era semplice, ma ancora una volta, consideriamo un'altra situazione in cui vuoi scrivere Hello, World!migliaia di volte. Non possiamo certamente scrivere mille volte istruzioni printf (). Quasi tutti i linguaggi di programmazione forniscono un concetto chiamatoloop, che aiuta a eseguire una o più istruzioni fino a un numero di volte desiderato. Tutti i linguaggi di programmazione di alto livello forniscono varie forme di cicli, che possono essere utilizzati per eseguire ripetutamente una o più istruzioni.

Scriviamo il programma C sopra con l'aiuto di un file while loop e più tardi discuteremo di come funziona questo ciclo

#include <stdio.h>

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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Il programma di cui sopra fa uso di un file while loop, che viene utilizzato per eseguire una serie di istruzioni di programmazione racchiuse tra {....}. Qui, il computer controlla prima se la condizione data, cioè la variabile "a" è minore di 5 o meno e se trova che la condizione è vera, allora il corpo del ciclo viene inserito per eseguire le istruzioni date. Qui, abbiamo le seguenti due dichiarazioni nel corpo del ciclo:

  • La prima istruzione è la funzione printf () , che stampa Hello World!

  • La seconda istruzione è i = i + 1 , che viene utilizzata per aumentare il valore della variabilei

Dopo aver eseguito tutte le istruzioni fornite nel corpo del ciclo, il computer torna a while (i <5) e la condizione data, (i <5), viene nuovamente verificata e il ciclo viene eseguito di nuovo se la condizione è vera. Questo processo si ripete fino a quando la condizione data rimane vera, il che significa che la variabile "a" ha un valore inferiore a 5.

Per concludere, un'istruzione loop ci consente di eseguire un'istruzione o un gruppo di istruzioni più volte. Di seguito è riportata la forma generale di un'istruzione loop nella maggior parte dei linguaggi di programmazione:

Questo tutorial è stato progettato per presentare i concetti di base della programmazione ai non programmatori, quindi discutiamo i due cicli più importanti disponibili nel linguaggio di programmazione C. Una volta che hai chiarito questi due loop, puoi prendere un tutorial sulla programmazione in C o un libro di riferimento e controllare altri loop disponibili in C e il modo in cui funzionano.

Il ciclo while

UN while loop disponibile in linguaggio di programmazione C ha la seguente sintassi:

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

Il codice sopra può essere rappresentato sotto forma di un diagramma di flusso come mostrato di seguito -

I seguenti punti importanti devono essere notati riguardo a un ciclo while:

  • Un ciclo while inizia con una parola chiave while seguito da a condition racchiuso tra ().

  • Oltre all'istruzione while (), il corpo del ciclo sarà racchiuso tra parentesi graffe {...}.

  • Il corpo di un ciclo while può avere una o più righe di codice sorgente da eseguire ripetutamente.

  • Se il corpo di un ciclo while ha una sola riga, è facoltativo utilizzare le parentesi graffe {...}.

  • Un ciclo while continua a eseguire il proprio corpo fino a un dato momento conditionè vero. Non appena la condizione diventa falsa, il ciclo while esce e continua l'esecuzione dall'istruzione immediatamente successiva dopo il corpo del ciclo while.

  • Una condizione è generalmente un'affermazione relazionale, che viene valutata come vera o falsa. Un valore uguale a zero viene considerato falso e qualsiasi valore diverso da zero funziona come vero.

Il ciclo do ... while

Un ciclo while controlla una data condizione prima di eseguire qualsiasi istruzione data nella parte del corpo. La programmazione C fornisce un'altra forma di loop, chiamatado...whileche permette di eseguire un corpo del ciclo prima di controllare una data condizione. Ha la seguente sintassi:

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

Il codice sopra può essere rappresentato sotto forma di un diagramma di flusso come mostrato di seguito -

Se scriverai l'esempio sopra usando do...while loop, quindi Hello, World produrrà lo stesso risultato -

#include <stdio.h>

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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

La dichiarazione di rottura

Quando il breakviene incontrato all'interno di un ciclo, il ciclo viene immediatamente terminato e il controllo del programma riprende dall'istruzione successiva che segue il ciclo. La sintassi per abreak l'affermazione in C è la seguente:

break;

UN break può essere rappresentata sotto forma di un diagramma di flusso come mostrato di seguito -

Di seguito è riportata una variante del programma precedente, ma uscirà dopo aver stampato Hello World! solo tre volte -

#include <stdio.h>

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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

L'istruzione continue

Il continue L'istruzione nel linguaggio di programmazione C funziona in qualche modo come l'istruzione breakdichiarazione. Invece di forzare la risoluzione,continueforza l'esecuzione della successiva iterazione del ciclo, saltando qualsiasi codice intermedio. La sintassi per acontinue l'affermazione in C è la seguente:

continue;

UN continue può essere rappresentata sotto forma di un diagramma di flusso come mostrato di seguito -

Di seguito è riportata una variante del programma precedente, ma salterà la stampa quando la variabile ha un valore uguale a 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 );
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Cicli in Java

Di seguito è riportato il programma equivalente scritto in Java che anch'esso supporta while e do...whileloop. Viene stampato il seguente programmaHello, World! cinque volte come abbiamo fatto nel caso della programmazione C -

Puoi provare ad eseguire il seguente programma per vedere l'output, che deve essere identico al risultato generato dall'esempio precedente.

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

Il break e continue le istruzioni nella programmazione Java funzionano allo stesso modo in cui funzionano nella programmazione C.

Cicli in Python

Di seguito è riportato il programma equivalente scritto in Python. Anche Python supportawhile e do...whileloop. Viene stampato il seguente programmaHello, World!cinque volte come abbiamo fatto nel caso della programmazione C. Qui devi notare che Python non fa uso di parentesi graffe per il corpo del ciclo, invece identifica semplicemente il corpo del ciclo usando l'indentazione delle istruzioni.

Puoi provare ad eseguire il seguente programma per vedere l'output. Per mostrare la differenza, abbiamo usato un'altra istruzione print, che verrà eseguita quando il ciclo sarà finito.

i = 0

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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Il break e continue le istruzioni in Python funzionano allo stesso modo della programmazione C.

Ogni linguaggio di programmazione fornisce supporto per la manipolazione di diversi tipi di numeri come interi semplici e numeri in virgola mobile. C, Java e Python classificano questi numeri in diverse categorie in base alla loro natura.

Torniamo indietro e controlliamo il capitolo sui tipi di dati, dove abbiamo elencato i principali tipi di dati relativi ai numeri -

genere Parola chiave Intervallo di valori che può essere rappresentato da questo tipo di dati
Numero int Da -32.768 a 32.767 o da -2.147.483.648 a 2.147.483.647
Numero piccolo corto Da -32.768 a 32.767
Numero lungo lungo -2.147.483.648 a 2.147.483.647
Numero decimale galleggiante Da 1.2E-38 a 3.4E + 38 fino a 6 cifre decimali

Questi tipi di dati sono chiamati tipi di dati primitivi ed è possibile utilizzare questi tipi di dati per creare più tipi di dati, chiamati tipi di dati definiti dall'utente.

Abbiamo visto varie operazioni matematiche e logiche sui numeri durante una discussione sugli operatori. Quindi sappiamo come aggiungere numeri, sottrarre numeri, dividere numeri, ecc.

Per prima cosa vediamo come stampare vari tipi di numeri disponibili nel linguaggio di programmazione 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);
}

Il resto della codifica è molto ovvio, ma abbiamo usato %.3fper stampare float e double, che indica il numero di cifre dopo il decimale da stampare. Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Operazioni matematiche sui numeri

La tabella seguente elenca vari utili matematici incorporati functions disponibile in linguaggio di programmazione C che può essere utilizzato per vari importanti calcoli matematici.

Ad esempio, se si desidera calcolare la radice quadrata di un numero, ad esempio 2304, è disponibile una funzione incorporata per calcolare la radice quadrata.

Sr.No. Funzione e scopo
1

double cos(double);

Questa funzione prende un angolo (come un doppio) e restituisce il coseno.

2

double sin(double);

Questa funzione prende un angolo (come un doppio) e restituisce il seno.

3

doppia abbronzatura (doppia);

Questa funzione prende un angolo (come un doppio) e restituisce la tangente.

4

double log(double);

Questa funzione accetta un numero e restituisce il logaritmo naturale di quel numero.

5

double pow(double, double);

Il primo è un numero che desideri aumentare e il secondo è il potere a cui desideri aumentarlo.

6

double hypot(double, double);

Se passi a questa funzione la lunghezza di due lati di un triangolo rettangolo, restituirà la lunghezza dell'ipotenusa.

7

double sqrt(double);

Si passa a questa funzione un numero e viene restituita la sua radice quadrata.

8

int abs(int);

Questa funzione restituisce il valore assoluto di un numero intero che le viene passato.

9

double fabs(double);

Questa funzione restituisce il valore assoluto di qualsiasi numero decimale passato ad essa.

10

double floor(double);

Trova il numero intero minore o uguale all'argomento che gli è stato passato.

Di seguito è riportato un semplice esempio per mostrare alcune operazioni matematiche. Per utilizzare queste funzioni, è necessario includere il file di intestazione matematica<math.h> nel tuo programma nello stesso modo in cui hai incluso 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));
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Oltre all'utilizzo di cui sopra, userete numeri nel conteggio dei cicli, rappresentazione flag, valori veri o falsi nella programmazione C.

Numeri in Java

Di seguito è riportato il programma equivalente scritto in Java. Java fornisce quasi tutti i tipi di dati numerici disponibili nella programmazione C.

Puoi provare a eseguire il seguente programma per vedere l'output, che è identico al risultato generato dall'esempio C sopra.

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);
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Java fornisce anche una gamma completa di funzioni integrate per il calcolo matematico e puoi usarle allo stesso modo della programmazione C.

Numeri in Python

Python è leggermente diverso da C e Java; classifica i numeri inint, long, float e complex. Ecco alcuni esempi di numeri in Python:

int lungo galleggiante complesso
10 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

Di seguito è riportato il programma equivalente scritto in 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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Python fornisce anche una gamma completa di funzioni integrate per calcoli matematici e puoi usarle nello stesso modo in cui le hai usate nella programmazione C.

Se fosse facile lavorare con i numeri nella programmazione del computer, sarebbe ancora più facile lavorare con i personaggi. I caratteri sono alfabeti semplici come a, b, c, d ...., A, B, C, D, ....., ma con un'eccezione. Nella programmazione di computer, anche qualsiasi numero a una cifra come 0, 1, 2, ... e caratteri speciali come $,%, +, -.... ecc. Vengono trattati come caratteri e vengono assegnati in un tipo di carattere variabile, devi semplicemente inserirle all'internosingle quotes. Ad esempio, la seguente istruzione definisce una variabile del tipo di caratterech e gli assegniamo un valore 'a' -

char ch = 'a';

Qui, ch è una variabile di tipo di carattere che può contenere un carattere del set di caratteri dell'implementazione e 'a' si chiama a character literalo una costante di carattere. Non solo a, b, c, .... ma quando qualsiasi numero come 1, 2, 3 .... o qualsiasi carattere speciale come!, @, #, #, $, .... è contenuto tra virgolette singole , quindi saranno trattati come un carattere letterale e possono essere assegnati a una variabile di tipo carattere, quindi la seguente è un'affermazione valida:

char ch = '1';

Un tipo di dati carattere consuma 8 bit di memoria, il che significa che puoi memorizzare qualsiasi cosa in un carattere il cui valore ASCII è compreso tra -127 e 127, quindi può contenere uno qualsiasi dei 256 valori diversi. Un tipo di dati carattere può memorizzare qualsiasi carattere disponibile sulla tastiera, inclusi caratteri speciali come!, @, #, #, $,%, ^, &, *, (,), _, +, {,}, Ecc.

Tieni presente che puoi mantenere solo un singolo alfabeto o un numero a una cifra all'interno di virgolette singole e non sono consentiti più alfabeti o cifre all'interno di virgolette singole. Quindi le seguenti affermazioni non sono valide nella programmazione C -

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

Di seguito è riportato un semplice esempio, che mostra come definire, assegnare e stampare i caratteri nel linguaggio di programmazione 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);
}

Qui, abbiamo usato% c per stampare un tipo di dati carattere. Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Sequenze di escape

Molti linguaggi di programmazione supportano un concetto chiamato Escape Sequence. Quando un carattere è preceduto da una barra rovesciata (\), viene chiamata sequenza di escape e ha un significato speciale per il compilatore. Ad esempio, \ n nella seguente dichiarazione è un carattere valido ed è chiamato carattere di nuova riga -

char ch = '\n';

Ecco, personaggio nè stato preceduto da una barra rovesciata (\), ha un significato speciale che è una nuova riga, ma tieni presente che la barra rovesciata (\) ha un significato speciale solo con pochi caratteri. La seguente dichiarazione non trasmetterà alcun significato nella programmazione C e verrà considerata come un'istruzione non valida:

char ch = '\1';

La tabella seguente elenca le sequenze di escape disponibili nel linguaggio di programmazione C:

Sequenza di fuga Descrizione
\ t Inserisce una tabulazione nel testo a questo punto.
\ b Inserisce un backspace nel testo a questo punto.
\ n Inserisce una nuova riga nel testo a questo punto.
\ r Inserisce un ritorno a capo nel testo a questo punto.
\ f Inserisce un avanzamento modulo nel testo a questo punto.
\ ' Inserisce un singolo carattere di virgoletta nel testo a questo punto.
\ " Inserisce un carattere di virgolette doppie nel testo a questo punto.
\\ Inserisce una barra rovesciata nel testo a questo punto.

L'esempio seguente mostra come il compilatore interpreta una sequenza di escape in un'istruzione print:

#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);
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

Test for tabspace     and a newline 
will start here

Personaggi in Java

Di seguito è riportato il programma equivalente scritto in Java. Java gestisce i tipi di dati carattere molto nello stesso modo che abbiamo visto nella programmazione C. Tuttavia, Java fornisce supporto aggiuntivo per la manipolazione dei caratteri.

Puoi provare ad eseguire il seguente programma per vedere l'output, che deve essere identico al risultato generato dall'esempio C sopra.

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);
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Java supporta anche la sequenza di escape nello stesso modo in cui li hai usati nella programmazione C.

Personaggi in Python

Python non supporta alcun tipo di dati carattere ma tutti i caratteri sono trattati come una stringa, che è una sequenza di caratteri. Studieremo le stringhe in un capitolo separato. Non è necessario disporre di alcuna disposizione speciale durante l'utilizzo di un singolo carattere in Python.

Di seguito è riportato il programma equivalente scritto in Python -

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

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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Python supporta le sequenze di escape nello stesso modo in cui le hai usate nella programmazione C.

Considera una situazione in cui dobbiamo memorizzare cinque numeri interi. Se usiamo i concetti di variabile semplice e tipo di dati di programmazione, allora abbiamo bisogno di cinque variabili diint tipo di dati e il programma sarà il seguente:

#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);
}

Era semplice, perché dovevamo memorizzare solo cinque numeri interi. Supponiamo ora di dover memorizzare 5000 numeri interi. Useremo 5000 variabili?

Per gestire tali situazioni, quasi tutti i linguaggi di programmazione forniscono un concetto chiamato array. Un array è una struttura di dati che può memorizzare una raccolta di dimensioni fisse di elementi dello stesso tipo di dati. Un array viene utilizzato per memorizzare una raccolta di dati, ma spesso è più utile pensare a un array come una raccolta di variabili dello stesso tipo.

Invece di dichiarare singole variabili, come numero1, numero2, ..., numero99, devi solo dichiarare una variabile di matrice numberdi tipo intero e utilizzare numero1 [0], numero1 [1] e ..., numero1 [99] per rappresentare le singole variabili. Qui, 0, 1, 2, ..... 99 sonoindex Associato a var variabile e vengono utilizzati per rappresentare i singoli elementi disponibili nell'array.

Tutti gli array sono costituiti da posizioni di memoria contigue. L'indirizzo più basso corrisponde al primo elemento e l'indirizzo più alto all'ultimo elemento.

Crea array

Per creare una variabile di matrice in C, un programmatore specifica il tipo di elementi e il numero di elementi da memorizzare in tale matrice. Di seguito è riportata una semplice sintassi per creare un array nella programmazione C -

type arrayName [ arraySize ];

Questo è chiamato array unidimensionale . IlarraySize deve essere una costante intera maggiore di zero e typepuò essere qualsiasi tipo di dati C valido. Ad esempio, ora per dichiarare un array di 10 elementi chiamatonumber di tipo int, usa questa dichiarazione -

int number[10];

In questo caso, numero è un array di variabili, sufficiente a contenere fino a 10 numeri interi.

Inizializzazione degli array

È possibile inizializzare un array in C uno per uno o utilizzando una singola istruzione come segue:

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

Il numero di valori tra parentesi graffe {} non può essere maggiore del numero di elementi dichiarati per l'array tra parentesi quadre [].

Se ometti la dimensione dell'array, viene creato un array abbastanza grande da contenere l'inizializzazione. Pertanto, se scrivi -

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

Creerai esattamente lo stesso array che hai fatto nell'esempio precedente. Di seguito è riportato un esempio per assegnare un singolo elemento dell'array:

number[4] = 50;

L'istruzione sopra assegna all'elemento numero 5 nell'array un valore di 50. Tutti gli array hanno 0 come indice del loro primo elemento che è anche chiamato indice di base e l'ultimo indice di un array sarà la dimensione totale dell'array meno 1. L'immagine seguente mostra la rappresentazione pittorica della matrice di cui abbiamo discusso sopra:

Accesso agli elementi dell'array

Si accede a un elemento indicizzando il nome dell'array. Questo viene fatto inserendo l'indice dell'elemento tra parentesi quadre dopo il nome dell'array. Ad esempio:

int var = number[9];

L'istruzione precedente prenderà il decimo elemento dall'array e assegnerà il valore a varvariabile. L'esempio seguente utilizza tutti i tre concetti sopra menzionati, vale a dire. creazione, assegnazione e accesso agli array -

#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;
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

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

Array in Java

Di seguito è riportato il programma equivalente scritto in Java. Java supporta gli array, ma c'è una piccola differenza nel modo in cui vengono creati in Java utilizzando l'estensionenew operatore.

Puoi provare ad eseguire il seguente programma per vedere l'output, che deve essere identico al risultato generato dall'esempio C sopra.

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;
      }
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Arrays (elenchi) in Python

Python non ha un concetto di Array, invece Python fornisce un'altra struttura dati chiamata list, che fornisce funzionalità simili a quelle degli array in qualsiasi altra lingua.

Di seguito è riportato il programma equivalente scritto in 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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Durante la nostra discussione su characters, abbiamo appreso che il tipo di dati carattere si occupa di un singolo carattere e puoi assegnare qualsiasi carattere dalla tastiera a una variabile del tipo di carattere.

Ora andiamo un po 'avanti e consideriamo una situazione in cui dobbiamo memorizzare più di un carattere in una variabile. Abbiamo visto che la programmazione in C non consente di memorizzare più di un carattere in una variabile di tipo carattere. Quindi le seguenti istruzioni non sono valide nella programmazione C e producono errori di sintassi:

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

Abbiamo anche visto come utilizzare il concetto di arraysper memorizzare più di un valore di tipo di dati simile in una variabile. Ecco la sintassi per memorizzare e stampare cinque numeri in un array di tipo 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;
   }
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

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

Ora, definiamo un array di cinque caratteri nello stesso modo in cui abbiamo fatto per i numeri e proviamo a stamparli -

#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;
   }
}

Qui, abbiamo usato% c per stampare il valore del carattere. Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

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

Se hai finito con l'esempio sopra, penso che tu abbia capito come funzionano le stringhe nella programmazione C, perché strings in C are represented as arrays of characters. La programmazione in C ha semplificato l'assegnazione e la stampa delle stringhe. Controlliamo ancora una volta lo stesso esempio con una sintassi semplificata:

#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;
   }
}

Qui abbiamo usato% s per stampare l'intero valore della stringa usando il nome dell'array ch, che in realtà è l'inizio dell'indirizzo di memoria che contiene ch variabile come mostrato di seguito -

Sebbene non sia visibile dagli esempi precedenti, un programma C assegna internamente un carattere nullo '\0'come ultimo carattere di ogni stringa. Indica la fine della stringa e significa che se si desidera memorizzare una stringa di 5 caratteri in un array, è necessario definire una dimensione dell'array di 6 come buona pratica, anche se C non se ne lamenta.

Se il codice precedente viene compilato ed eseguito, produce il seguente risultato:

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

Concetti di base sulle stringhe

Sulla base della discussione precedente, possiamo concludere i seguenti punti importanti sulle stringhe nel linguaggio di programmazione C:

  • Le stringhe in C sono rappresentate come matrici di caratteri.

  • Possiamo costituire una stringa nella programmazione C assegnando carattere per carattere a una matrice di caratteri.

  • Possiamo costituire una stringa nella programmazione C assegnando una stringa completa racchiusa tra virgolette doppie.

  • Possiamo stampare una stringa carattere per carattere utilizzando un indice di matrice o una stringa completa utilizzando un nome di matrice senza pedice.

  • L'ultimo carattere di ogni stringa è un carattere nullo, ovvero ‘\0’.

  • La maggior parte dei linguaggi di programmazione fornisce funzioni incorporate per manipolare le stringhe, cioè puoi concatenare stringhe, puoi cercare da una stringa, puoi estrarre sottostringhe da una stringa, ecc. Per ulteriori informazioni, puoi controllare il nostro tutorial dettagliato su Programmazione C o qualsiasi altro linguaggio di programmazione.

Stringhe in Java

Sebbene sia possibile utilizzare array di caratteri per memorizzare le stringhe, Java è un linguaggio di programmazione avanzato ei suoi progettisti hanno cercato di fornire funzionalità aggiuntive. Java fornisce stringhe come tipo di dati integrato come qualsiasi altro tipo di dati. Significa che puoi definire le stringhe direttamente invece di definirle come array di caratteri.

Di seguito è riportato il programma equivalente scritto in Java. Java utilizza l'estensionenew operatore per creare variabili stringa come mostrato nel programma seguente.

Puoi provare a eseguire il seguente programma per vedere l'output:

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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

String = Hello

Stringhe in Python

Creare stringhe in Python è semplice come assegnare una stringa in una variabile Python usando virgolette singole o doppie.

Di seguito è riportato un semplice programma che crea due stringhe e le stampa utilizzando la funzione print () -

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

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

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

var1 =  Hello World!
var2 =  Python Programming

Python non supporta il tipo di carattere; queste sono trattate come stringhe di lunghezza uno, quindi considerate anche una sottostringa.

Per accedere alle sottostringhe, utilizza le parentesi quadre per affettare insieme all'indice o agli indici per ottenere la sottostringa. Dai un'occhiata al seguente segmento di codice:

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

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

Quando il codice sopra viene eseguito, produce il seguente risultato:

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

Una funzione è un blocco di codice organizzato e riutilizzabile che viene utilizzato per eseguire una singola azione correlata. Le funzioni forniscono una migliore modularità per la tua applicazione e un elevato grado di riutilizzo del codice. Hai già visto varie funzioni comeprintf() e main(). Queste sono chiamate funzioni integrate fornite dal linguaggio stesso, ma possiamo scrivere anche le nostre funzioni e questo tutorial ti insegnerà come scrivere e utilizzare quelle funzioni nel linguaggio di programmazione C.

La cosa buona delle funzioni è che sono famose con diversi nomi. Diversi linguaggi di programmazione li denominano in modo diverso, ad esempio funzioni, metodi, sub-routine, procedure, ecc. Se ti imbatti in una terminologia di questo tipo, immagina semplicemente lo stesso concetto, che discuteremo in questo tutorial.

Cominciamo con un programma in cui definiremo due array di numeri e poi da ogni array troveremo il numero più grande. Di seguito sono riportati i passaggi per scoprire il numero massimo da un determinato insieme di numeri:

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

Traduciamo il programma sopra in linguaggio di programmazione 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 );
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

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

Se sei chiaro sull'esempio precedente, diventerà facile capire perché abbiamo bisogno di una funzione. Nell'esempio sopra, ci sono solo due serie di numeri, serie1 e serie2, ma considera una situazione in cui abbiamo 10 o più serie di numeri simili per scoprire i numeri massimi di ciascuna serie. In una tale situazione, dovremo ripetere l'elaborazione 10 o più volte e alla fine il programma diventerà troppo grande con codice ripetuto. Per gestire tale situazione, scriviamo le nostre funzioni in cui cerchiamo di mantenere il codice sorgente che verrà utilizzato ancora e ancora nella nostra programmazione.

Vediamo ora come definire una funzione in linguaggio di programmazione C e poi nelle sezioni successive spiegheremo come usarle.

Definizione di una funzione

La forma generale di una definizione di funzione nel linguaggio di programmazione C è la seguente:

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

Una definizione di funzione nella programmazione C consiste in un'intestazione di funzione e un corpo di funzione . Ecco tutte le parti di una funzione:

  • Return Type- Una funzione può restituire un valore. Ilreturn_typeè il tipo di dati del valore restituito dalla funzione. Alcune funzioni eseguono le operazioni desiderate senza restituire un valore. In questo caso, return_type è la parola chiavevoid.

  • Function Name- Questo è il nome effettivo della funzione. Il nome della funzione e l'elenco dei parametri insieme costituiscono la firma della funzione.

  • Parameter List- Un parametro è come un segnaposto. Quando viene richiamata una funzione, si passa un valore come parametro. Questo valore viene definito parametro o argomento effettivo. L'elenco dei parametri si riferisce al tipo, all'ordine e al numero dei parametri di una funzione. I parametri sono opzionali; ovvero, una funzione non può contenere parametri.

  • Function Body - Il corpo della funzione contiene una raccolta di istruzioni che definisce cosa fa la funzione.

Chiamare una funzione

Durante la creazione di una funzione C, dai una definizione di ciò che la funzione deve fare. Per utilizzare una funzione, dovrai chiamare quella funzione per eseguire un'attività definita.

Ora, scriviamo l'esempio sopra con l'aiuto di una funzione:

#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 );
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

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

Funzioni in Java

Se hai le idee chiare sulle funzioni nella programmazione C, è facile comprenderle anche in Java. La programmazione Java li denomina comemethods, ma il resto dei concetti rimane più o meno lo stesso.

Di seguito è riportato il programma equivalente scritto in Java. Puoi provare ad eseguirlo per vedere l'output -

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;
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

Funzioni in Python

Ancora una volta, se conosci il concetto di funzioni nella programmazione C e Java, Python non è molto diverso. Di seguito è riportata la sintassi di base per definire una funzione in Python:

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

Usando questa sintassi della funzione in Python, l'esempio sopra può essere scritto come segue:

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

Quando il codice sopra viene eseguito, produce il seguente risultato:

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

File di computer

Un file di computer viene utilizzato per memorizzare i dati in formato digitale come testo normale, dati di immagine o qualsiasi altro contenuto. I file del computer possono essere organizzati in diverse directory. I file vengono utilizzati per conservare i dati digitali, mentre le directory vengono utilizzate per conservare i file.

I file del computer possono essere considerati la controparte digitale dei documenti cartacei. Durante la programmazione, mantieni il codice sorgente in file di testo con estensioni diverse, ad esempio, i file di programmazione C terminano con l'estensione.c, File di programmazione Java con estensione .javae file Python con .py.

Input / output file

Di solito, crei file utilizzando editor di testo come Blocco note, MS Word, MS Excel o MS Powerpoint, ecc. Tuttavia, molte volte, è necessario creare file anche utilizzando programmi per computer. Possiamo modificare un file esistente utilizzando un programma per computer.

Input di file significa dati scritti in un file e output di file significa dati letti da un file. In realtà, i termini di input e output sono più correlati all'input e all'output dello schermo. Quando visualizziamo un risultato sullo schermo, viene chiamato output. Allo stesso modo, se forniamo un input al nostro programma dal prompt dei comandi, viene chiamato input.

Per ora, è sufficiente ricordare che la scrittura in un file è un input di file e la lettura di qualcosa da un file è un output di file.

Modalità di funzionamento dei file

Prima di iniziare a lavorare con qualsiasi file utilizzando un programma per computer, dobbiamo creare un nuovo file se non esiste o aprire un file già esistente. In entrambi i casi, possiamo aprire un file nelle seguenti modalità:

  • Read-Only Mode- Se stai per leggere solo un file esistente e non vuoi scrivere altro contenuto nel file, aprirai il file in modalità di sola lettura. Quasi tutti i linguaggi di programmazione forniscono la sintassi per aprire i file in modalità di sola lettura.

  • Write-Only Mode- Se stai per scrivere in un file esistente o in un file appena creato ma non vuoi leggere alcun contenuto scritto da quel file, allora aprirai il file in modalità di sola scrittura. Tutti i linguaggi di programmazione forniscono la sintassi per aprire i file in modalità di sola scrittura.

  • Read & Write Mode - Se hai intenzione di leggere e scrivere nello stesso file, aprirai il file in modalità di lettura e scrittura.

  • Append Mode- Quando apri un file per la scrittura, ti permette di iniziare a scrivere dall'inizio del file; tuttavia sovrascriverà il contenuto esistente, se presente. Supponiamo di non voler sovrascrivere alcun contenuto esistente, quindi apriamo il file in modalità di aggiunta. La modalità di aggiunta è in definitiva una modalità di scrittura, che consente di aggiungere il contenuto alla fine del file. Quasi tutti i linguaggi di programmazione forniscono la sintassi per aprire i file in modalità di aggiunta.

Nelle sezioni seguenti, impareremo come aprire un nuovo file nuovo, come scrivere in esso e, successivamente, come leggere e aggiungere più contenuto nello stesso file.

Apertura di file

Puoi usare il file fopen()funzione per creare un nuovo file o per aprire un file esistente. Questa chiamata inizializzerà un oggetto del tipoFILE, che contiene tutte le informazioni necessarie per controllare il flusso. Ecco il prototipo, ovvero la firma di questa chiamata di funzione:

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

Qui, filename è una stringa letterale, che verrà utilizzata per denominare il file e accedere mode può avere uno dei seguenti valori:

Suor n Modalità e descrizione
1

r

Apre un file di testo esistente a scopo di lettura.

2

w

Apre un file di testo per la scrittura. Se non esiste, viene creato un nuovo file. Qui, il tuo programma inizierà a scrivere il contenuto dall'inizio del file.

3

a

Apre un file di testo per la scrittura in modalità di aggiunta. Se non esiste, viene creato un nuovo file. Qui, il tuo programma inizierà ad aggiungere contenuto al contenuto del file esistente.

4

r+

Apre un file di testo per leggere e scrivere entrambi.

5

w+

Apre un file di testo sia per la lettura che per la scrittura. Prima tronca il file a lunghezza zero, se esiste; altrimenti crea il file se non esiste.

6

a+

Apre un file di testo sia per la lettura che per la scrittura. Crea un file, se non esiste. La lettura inizierà dall'inizio, ma la scrittura può essere solo aggiunta.

Chiusura di un file

Per chiudere un file, usa il fclose( )funzione. Il prototipo di questa funzione è:

int fclose( FILE *fp );

Il fclose( ) la funzione restituisce zero in caso di successo, o EOF, carattere speciale, se si verifica un errore nella chiusura del file. Questa funzione scarica effettivamente tutti i dati ancora in sospeso nel buffer nel file, chiude il file e rilascia tutta la memoria utilizzata per il file. L'EOF è una costante definita nel file di intestazionestdio.h.

Ci sono varie funzioni fornite dalla libreria standard C per leggere e scrivere un file carattere per carattere o sotto forma di una stringa di lunghezza fissa. Vediamone alcuni nella prossima sezione.

Scrivere un file

Di seguito è riportata la funzione più semplice per scrivere singoli caratteri in un flusso:

int fputc( int c, FILE *fp );

La funzione fputc() scrive il valore del carattere dell'argomento c nel flusso di output a cui fa riferimento fp. Restituisce il carattere scritto scritto con successo, altrimentiEOFse c'è un errore. È possibile utilizzare le seguenti funzioni per scrivere una stringa con terminazione null in un flusso:

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

La funzione fputs() scrive la stringa snel file a cui fa riferimento fp. Restituisce un valore non negativo in caso di successo, altrimentiEOFviene restituito in caso di errore. Puoi anche usare la funzioneint fprintf(FILE *fp,const char *format, ...)per scrivere una stringa in un file. Prova il seguente esempio:

#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);
}

Quando il codice precedente viene compilato ed eseguito, crea un nuovo file test.txt in /tmpdirectory e scrive due righe utilizzando due diverse funzioni. Leggiamo questo file nella prossima sezione.

Leggere un file

Di seguito è riportata la funzione più semplice per leggere un file di testo carattere per carattere:

int fgetc( FILE * fp );

Il fgetc() la funzione legge un carattere dal file di input a cui fa riferimento fp. Il valore restituito è il carattere letto; o in caso di errore, ritornaEOF. La seguente funzione consente di leggere una stringa da un flusso:

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

La funzione fgets() legge fino a n - 1 caratteri dal flusso di input a cui fa riferimento fp. Copia la stringa letta nel bufferbuf, aggiungendo un file null carattere per terminare la stringa.

Se questa funzione incontra un carattere di nuova riga '\ n' o EOF prima di aver letto il numero massimo di caratteri, restituisce solo i caratteri letti fino a quel punto, incluso il carattere di nuova riga. Puoi anche usareint fscanf(FILE *fp, const char *format, ...) per leggere le stringhe da un file, ma smette di leggere dopo aver incontrato il primo carattere di spazio.

#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);
}

Quando il codice sopra viene compilato ed eseguito, legge il file creato nella sezione precedente e produce il seguente risultato:

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

3 : This is testing for fputs...

Analizziamo cosa è successo qui. Prima ilfscanf() metodo legge Thisperché dopo di che ha incontrato uno spazio. La seconda chiamata è perfgets(), che legge la riga rimanente finché non incontra la fine della riga. Infine, l'ultima chiamatafgets() legge completamente la seconda riga.

File I / O in Java

Java fornisce una serie ancora più ricca di funzioni per gestire l'I / O di file. Per ulteriori informazioni su questo argomento, ti suggeriamo di controllare i nostri tutorial Java.

Qui vedremo un semplice programma Java, che è equivalente al programma C spiegato sopra. Questo programma aprirà un file di testo, vi scriverà alcune righe di testo e chiuderà il file. Infine, lo stesso file viene aperto e quindi letto da un file già creato. Puoi provare a eseguire il seguente programma per vedere l'output:

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();
   }
}

Quando il programma di cui sopra viene eseguito, produce il seguente risultato:

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

File I / O in Python

Il seguente programma mostra la stessa funzionalità per aprire un nuovo file, scrivere del contenuto in esso e, infine, leggere lo stesso file -

# 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()

Quando il codice sopra viene eseguito, produce il seguente risultato:

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

Apprezziamo la tua pazienza per aver seguito questo tutorial. Abbiamo cercato di mantenerlo conciso ma poiché questo argomento contiene diversi argomenti, abbiamo mostrato alcuni esempi in dettaglio.

Se non hai compreso nessuno dei concetti, ti consigliamo di rivedere il tutorial e una volta che avrai acquisito familiarità con i concetti spiegati in questo tutorial, potrai procedere oltre.

Ci sono molti altri argomenti relativi alla programmazione del computer che non abbiamo trattato intenzionalmente per evitare confusione, ma siamo sicuri che quei concetti non saranno difficili da capire fintanto che ti sentirai a tuo agio con i concetti spiegati in questo tutorial.

A tutorialspoint, ci siamo impegnati molto per preparare tutorial completi sui linguaggi di programmazione C, Java e Python e ti consigliamo vivamente di avviarli uno di essi, dopo aver completato questo tutorial.

Condividete gentilmente con noi le vostre opinioni su questo tutorial, menzionando il nome del tutorial nella riga dell'oggetto all'indirizzo [email protected]. Se hai qualche suggerimento per migliorare ulteriormente questo tutorial, ci piacerebbe sicuramente sentirti.