Guida al C

l'ho studiata da un libro degli anni '80

« Older   Newer »
 
  Share  
.
  1. 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.
    ESEMPI
    CODICE
    static 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.
    +, -, *, /
    CODICE
    float 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:
    CODICE
    float 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.
    CODICE
    int 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:
    CODICE
    int 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 divisione

    CODICE
    int 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.
    ESEMPIO
    CODICE
    Main()
    {
    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:
    CODICE
    int 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.

    CODICE
    int 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.

    CODICE
    int 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.

    CODICE
    int 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:

    CODICE
    char 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.

    CODICE
    char 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 :D

    by Locutusofborg
     
    Top
    .
  2. darkfox1990
     
    .

    User deleted


    sofisticato come procedimento ^^ ma decisamente utile :) grazie mille!
     
    Top
    .
  3. locutusdiborg
     
    .

    User deleted


    prego! i migliori metodi, in ttte le cose, sono quelli vecchi
     
    Top
    .
  4. 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
     
    Top
    .
3 replies since 16/9/2009, 22:20   144 views
  Share  
.