-
locutusdiborg.
User deleted
Allora, prima di tutto serve un editor, quello che vi consiglio io è il turbo c della borland scaricabile da tuttogratis.it, basta cercare turbo c 2 (scusate se non ho msso l link diretto, ma non mi funziona bene internet, e alcuni siti non li apre, TRA CUI TUTTO GRATIS)
Per iniziare spiegherò le variabili, le costanti e le librerie.
Le librerie
Sono dei gruppi di istruzioni che permettono di inserire vari comandi nel programma. Si inseriscono col comando del microprocessore Include (i comandi che agiscono col microprocessore iniziano con #). Quella che useremo noi è la stdio (standard input and output).
Si fa così:CODICE#include <Stdio.h> --->sempre tra virgolette(<>) e con .h finale
Alla fine di ogni istruzione c'è il punto e virgola, tranne alle istruzioni del microprocessore e alle funzioni.
Le variabili
Il nome di ogni variabile deve essere lungo massimo 8 caratteri( quelli in eccesso non si contano ). Per dichiararne una si scrve il tipo e il nome, per assegnarli una valore si scrive l'operatore di assegnazione, =, dopo il nome. Le due operazioni possono essere mischiate.
Ricordarsi che per chiamare la variabile, non per vaolre, ma per cella di memoria, si scrive prima di essa &, come per esempio &variabile.
ESEMPICODICEstatic long int dom = 433555; numero intero con o senza segno, si può usare anche
long, short(interi), float e double(virgola mobile) e unsigned
oppure auto(automatico), static(per tutte le funzioni) etc...
char dem = "sssrgrdgdgtfcfgf"; per le stringhe
char gf[] = 'i', 'e', 'l', 'l', 'o' -------> per gli array
Le costanti
Le costanti si dichiarano come le librerie, col microprocessore, sempre a inzio file.CODICE#define NOME 345 ---->prima #define, poi il nome e il valore
Gli operatori matematici
Ci sono vari operatori. Vediamo quali sono.
+, -, *, /CODICEfloat var1 = 2, var2 = 4;
float var3;
var3 = var1 + var2;<----il risultato è 6
var3 = var1 - var2;<-----qui è -2
var3 = var1 * var2;<-----qui è 8
var3 = var1 / var2;<-----e qui è 1.5
Ricordare sempre che i numeri in virgola mobile si scrivono col punto, ad esempio 1.5.
Se si ha bisogno di creare uno strumento veloce per calcolare, la radice quadrata o il quadrato o simili, è possibile crearsi una libreria, soto forma di file con estensione .h. Vedremo questo argomento nei prossimi capitoli.
+=, -=, *=, /=
Sono degli operatori che abbreviano una espressione. Vediamo come:CODICEfloat var1 = 2, var2 = 3;
var2 += var1;E' l'equivalente di scrivere var2 = var2 + var1, il isultato è 5
var2 -= var1;qui è 1
var2 *= var1;qui è 6
var2 /= var1;e qui è 1.5
In pratica la variabile aggiunge a se stessa il valore scritto dopo l'operatore di assegnazione.
++, --
Questo è semplicissimo: aggiunge o toglie 1 alla variabile. C'è una differenza dalla posizione dell'operatore.CODICEint var1 = 2;
var1++;
var1--;
--var1;
--var1;
La differenza serve solo per i cicli for e Do while, che vedremo dopo
Le potenze
Lepotenze si esprimono in questo modo: base+e+esponente. Esempio:CODICEint var1, var2 = 2, var3 = 3;
var1 = 2e3; due in potenza di 3, ovvero 8
var1 = var2 e var3; due in potenza di tre, cioè 8, ma fatto con variabili
%
Da il resto di una divisioneCODICEint var1 = 4, var2 = 3;
int var3;
var3 = var1 % var2; <----- da il resto della divisione
Funzioni
Le funzioni contengno istruzioni da eseguire, che ritornano un valore alla funzione in cui vingono chiamate.
E' la funzione principale, anche se non viene chiamata tutte le istruzioni all'interno vengono eseguite. Per chiamare una funzione bisogna scriverne il nome e mettere le parentesi con dentro i vari paramtri. Per creare una funzione(si fa fuori dalla MAIN) bisogna scriverne il nome e mettere dentro le isrtuzioni(dentro alle parentesi graffe) e i parametri(dentro alle tonde). I parametri vengono dati alla funzione per elaborali e dare un valore da ritornare.
ESEMPIOCODICEMain()
{
double var1;
var1 = radice(var1); chiamata della funzione radice
}
radice(numero) ----->creazione della funzione radice e (suo paramtero)
{
double numero; dichiarazione della variabile-parametro
numero = (tutte le operazioni per la radice quadrata); contenuto della funzione
return(numero); restituisce il valore modificato e lo assegna alla variabile var1
}
Ci possono essere anche più parametri, a seconda di quanti ne servono per la determinata funzione.
Prossimo argomento: I cicli
IF
E' il più importante ciclo di tutti. Da vare opzioni, e a seconda della condizione che hanno, esse vengono eseguite come nell'esempio:CODICEint var1, var2, var3
if var1 = 3; Se var1 è 3,
{; (nizio ciclo)
var3= 545, var2 = 1;var3 è 545 e var2 è 1
Elseif var1 = 5 then; altrimenti se var è 5
var3 += 1 + var2;var3 è uguale a var3 + 1 + var2
Else; altrimenti(qualunque altra cosa)
var3 = 0; var3 è 0
}; termina il ciclo
A differenza dei prossimo cicli, questo viene eseguito una sola volta e se nessuna della condizioni viene soddisfatta è nullo e si passa all'istruzione successiova. Gli elseif sono illimitati ed Else e elsefi sono opzionali.
For
Il ciclo for svolge una funzione particolare. E' tipo quando si conta partendo da un numero a scelta. Quindi il ciclo si ripete fino a quando non finisce il conteggio. Ogni volta che devi dire il secondo numero aumenti di uno quello precedente. Il conteggio sarà una variabile chimata i.CODICEint var1 = 5
for int i = 0, i = 5, ++i<--------*
{
var1--; le istruzioni da eseguire ogni turno del ciclo
}
*ci sono più parametri, separati dalla virgola: il 1° dichiara la variabile che farà da indice(ovvero la i), il 2° dice la condizione finale, il 3° dice di quanto deve incrementare la variabile i, per poi arrivare, in questo caso a 5.
Notate che ho scritto ++ PRIMA della i, ciò vuol dire che PRIMA di eseguire le istruzioni tra parentesi viene incrementata. Le istruzioni nelle parentesi sono opzionali, se si vuole solo azare l'indice, cioè la i(il che può essere fatto per vari motivi, tipo per non far spegnere il programma all'improvviso quando finiscono le istruzioni in modo da tenerlo attivo per far finire di leggere un eventuale messaggio, questo è un esempio, ma sono tanti i motivi).
While
Il ciclo while non termina finchè non viene soddisfatta una determinata condizione, a differenza dell'IF che si ferma la prima volta.CODICEint var1 = 5, var2 = 3
for int i = 0, i = 10, i++
{
var1--;
}
while var1 = 0 <---finchè var1 non arriva a 0
{<---(inzio)
var2++; <---------aumenta var2 di 1
}<---(fine)
Alla fine var2 arriverà a 8 o a 13? la soluzione è 8, perchè nonostante la i aumenta, nella condizione del ciclo while c'è scritto se è uguale a 0, e non minore(<). Se ci fosse stato scritto < sarebbe arrivato a 13.
Switch
E' uguale a IF solo che si concentra su una sola variabile.CODICEint var1 = 2, var2 = 2
switch (var1): <------var1 è la variabile che considerano i case
case 3: <-------------- nel caso che il valore di var1 è 3
var1 = 0;
var2 = 0;<------------esegui questo blocco di istruzioni
case 2:
var1 = 1;<-----------istruzuione che verrà eseguita
case 4:
var1 = 0;
default: <------------ovvero Altrimenti(qualsiasi altra cosa)
var1 = 232
I puntatori
Sono dei collegamenti a delle variabili, ma n on al valore, alla cella di memoria, quindi se si chiamano, ma si vuole il valore si scrive &punutatore. Si dichiarano come gli array, mettendo le[] dopo la variabile.
Input e output
Le istruzioni base per stampare una riga e riceverla sono printf e scanf.
Poi ci sono put e get per stampare esclusivamente le stringhe.
Printf e Scanf
Serve per stampare e ricevere una riga. Vediamo un esempio:CODICEchar nome[];
printf("Scrivi qui sotto il tuo nome"/n);Stampa la scritta "Scrivi il nome"
scanf("%s", &nome);<-- ho messo & perchè si fa riferimento alla posizione di nome
printf("Ciao %s", nome);<---- dovrebbe uscire Ciao+il nome che è stato inserito prima
Da notare "s%". Per stampare una variabile bisogna scrivere % + l'iniziale del tipo (%s = stringa) in un posto a piacimento nel testo, e poi dopo il testo, basta chiudere le virgolette, mettere la virgola e scrivere la variabile. Se ci sono più variabili, il nome di queste va scritto in ordine secondo la posizione che hanno nel testo.
Ricordo i tipi:%d(int), %l(long), %f(float & double), %s(string), %c(char, un SOLO carattere).
Put e Get
Sono la stessa cosa di Printf e scanf, solo che si scrive la variabile che contiene la stringa, e non la scritta.
Infine vorrei illustrarvi un vecchio metodo, funzionante solo con Unix o col DOS, massimo versione 6. Lo so che non ve ne importa nulla, ma lo scrivo lo stesso.
La redirezione
Serve per creare un file di testo con dentro una stringa e viceversa. Per esempio se volete fare un notepad, vi avrebbe potuto servire, peccato che è inutile.CODICEchar var1[] = (una stringa qualsiasi), var2[]
var1 >> fileditesto <-------da var1 scrivi su fileditesto
var2 << file di testo <-----file di testo salva in var2
Spero che vi sia piaciuta
by Locutusofborg. -
darkfox1990.
User deleted
sofisticato come procedimento ^^ ma decisamente utile grazie mille! . -
locutusdiborg.
User deleted
prego! i migliori metodi, in ttte le cose, sono quelli vecchi . -
mukenin_92.
User deleted
Grazie mille ^^ Credo che mi serviranno a breve -.-
Trovo che nell'ECDL ti insegnino cose che non servono o che si sanno già XD.