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;
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Sistemi operativi - teoria completa
-
Informatica - teoria e programmazione
-
Esame Teoria
-
Teoria delle strutture - Teoria