Estratto del documento

Introduzione al linguaggio C

Struttura base di un programma C

Il codice di un programma in C inizia con la funzione main, che è il punto di ingresso del programma. Di seguito è riportato un esempio di struttura di codice in C:

int main(int argc, char* argv[]) { dichiarazione variabili acquisizione dati elaborazione visualizzazione dati commento /* */ (// no xk BO) variabili float var;  float v, m; int  float  double (doppia precisione)  char (ascii) acquisizione dati, tastiera scanf("%g", &var);  tipo var / nome vari dove lo metto scanf("%lg %lg", &var, &c); %f / %g sul levee float / double  %d int  %c char indentazione .indent → UNIX

Dichiarazione delle variabili

Le variabili devono essere dichiarate prima dell'uso. Ad esempio:

float var; caratterinare; float v, m; int float double (doppia precisione) char (da ascii)

Acquisizione e stampa dati

L'acquisizione dati avviene tramite la funzione scanf, mentre la visualizzazione dei dati utilizza printf:

scanf("%lg", &var); tipo var, nome var (dove lo metto) scanf("%lg%lg", &var, &c);
printf(" ", val);

Esempio di programma

Di seguito è un esempio di programma che converte galloni in litri:

#define GAL-LIT 3.7854
int main(int argc, char *argv[]) {
    float P-D-G, tasso, P-E-L;
    scanf(" %f", &P-D-G);
    scanf(" %f", &tasso);
    P-E-L = P-D-N * tasso / GAL-LIT;
    printf(" ", P-E-L);
    return(0);
}

Calcolo della media

Un altro esempio di programma calcola la media di tre numeri:

#define N 3.0;
int main(int argc, char *argv[]) {
    float a, b, c, ris;
    scanf(" %f, %f, %f", &a, &b, &c);
    ris = (a + b + c) / N;
    printf("l %f", ris);
    return(0);
}

Manipolazione dei numeri

Nel linguaggio C, è possibile convertire tra tipi di dati con un casting. Ad esempio:

media = (float) hack / font

Strutture condizionali

Le condizioni if/else consentono di eseguire codice in base a condizioni specifiche:

if(condizione) { // codice } else { // codifico }

Funzioni matematiche

Per ottenere il valore assoluto di un numero intero:

int main(int argc, char*argv[]) {
    int m;
    scanf("%d", &m);
    if (m - v vale → intero ad esso su viano 0, 0.5v
    int main(int argc, char*argv[]) {
        float m, v;
        int e;
        scanf("%f", &m);
        e = (int) m;
        if ((m - e) > 0.5)
            v = e + 1;
        else
            v = e;
        printf("%f", v);
        return(0);
    }
}

Scambio di valori

Ecco un esempio di scambio di variabili:

int main(int argc, char* argv[]) {
    int a, b;
    scanf("%d", &a);
    scanf("%d", &b);
    if (a >= b) {
        c = a; a = b; b = c;
    }
    printf("%d", a);
    return(0);
}

Controllo dei multipli

Verifica se un numero è multiplo di un altro:

int main(int argc, char* argv[]) {
    int a, b;
    scanf("%d", &a);
    scanf("%d", &b);
    if (a % b == 0 )
        printf(" Il %d è multiplo di %d", b, a);
    else
        printf(" Il non è multiplo di ");
    return(0);
}

Conversione di caratteri

Converte una lettera minuscola in maiuscola:

int main(int argc, char* argv[]) {
    char a, b;
    scanf("%c", &a);
    b = a - 32;
    printf("%c", a, b);
    return(0);
}

Calcolo dei costi

Calcola il costo totale di un ordine tenendo conto degli sconti:

int main(int argc, char* argv[]) {
    int ordine;
    float prezzoF;
    scanf("%d", &ordine);
    prezzoF = 5 * ordine;
    if(ordine > 50)
        prezzoF = prezzoF - prezzoF * .0,15;
    else if(prezzoOrdine > 30 && prezzoOrdine <= 50)
        prezzoF = prezzoF - prezzoF * 0,10;
    printf("Prezzo finale è: %g", prezzoF);
    return(0);
}

Controllo dei valori

Determina se un numero è positivo, negativo o nullo:

int main(int argc, char* argv[]) {
    int m;
    scanf("%d", &m);
    if(m == 0) printf("valore nullo");
    else if( m < 0) printf("valore negativo");
    else printf("valore positivo");
    return(0);
}

Cicli in C

I cicli consentono di eseguire ripetutamente blocchi di codice:

  • WHILE: while(condizione) { /* istruzioni */ }
  • DO WHILE: do { /* istruzioni */ } while(condizione);

Esempio finale

Esegui una sequenza di controlli fini:

#define NFIN 100
int main(int argc, char * argv[]) {
    int m, min, max, i;
    scanf("%d", &m);
    min = m; max = m;
    while (m != NFIN) {
        if (m < min) min = m;
        else if (m > max) max = m;
        scanf("%d", &m);
    }
    if (m == -100)
        printf("Non hai inserito nulla!");
    else
        printf("MIN = %d MAX = %d", min, max);
    return(0);
}

Calcolo della media con cicli

Calcola la media dei primi 15 numeri positivi inseriti:

#define LIMITE 15
int main(int argc, char * argv[]) {
    float media;
Anteprima
Vedrai una selezione di 8 pagine su 32
Teoria Programmazione in C e esercizi Pag. 1 Teoria Programmazione in C e esercizi Pag. 2
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Teoria Programmazione in C e esercizi Pag. 6
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Teoria Programmazione in C e esercizi Pag. 11
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Teoria Programmazione in C e esercizi Pag. 16
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Teoria Programmazione in C e esercizi Pag. 21
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Teoria Programmazione in C e esercizi Pag. 26
Anteprima di 8 pagg. su 32.
Scarica il documento per vederlo tutto.
Teoria Programmazione in C e esercizi Pag. 31
1 su 32
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher domydome di informazioni apprese con la frequenza delle lezioni di Fondamenti di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Bolchini Cristiana.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community