Estratto del documento

Appunti di informatica

Politecnico di Torino

Facoltà di Ingegneria
Corso di laurea: Ingegneria Aerospaziale
Docenti: Marco Mezzalama

Comandi di input e output

printf ("a . formato", variabile);
scanf ("u . formato", & variabile);

Formato dei dati

  • 32bit int %d
  • 32bit float %f
  • 64bit double %lf
  • 64bit long %ld
  • 8bit char %c
  • string %s

Direttive di pre-processore e strutture di controllo

#include
#define N numero

if (condizione)
blocco 1
else
blocco 2

Operatori logici e di confronto

  • AND && (x)
  • OR || (+)
  • NOT ! (^–)
  • Condizione vera 1
  • Falsa 0
  • Maggiore (uguale) > (>=)
  • Minore (uguale) < (<=)
  • Diverso !=
  • Uguale ==

Switch e loop

Variabile numerica
switch (espressione)

  • case (N 1):
    blocco 1;
    break;
  • case (N 2):
    blocco 2;
    break;
  • default:
    blocco default;
    break;

while (<condizione>)
blocco
do
blocco
while (<condizione>);

Ciclo for

for (<istr. iniziali>; <condizione>; <istr. fine ciclo>)
blocco

for (i=0; i<N; i++)
Sentinella ⇒ FLAG0

Vettori e ordinamento

Vettore int/float <nome>[N];

Ordinamento vettore

  • Simple sort
  • Bubble sort

Funzioni e puntatori

int funzione (int a);
int funzione (int a) blocco;
return c;

Ritorno di più valori ⇒ Puntatori
<Tipo> * <Variabile> ⇒ int * p, p = &a;
Indirizzo Variabile (a) Vettore (v ⇒ &v[0])
Operazioni su *p sono svolte su a.

Funzioni e assegnazioni

Funzione int, float...

Assegnazioni Valore restituito Return
✔️ (Indirizzi) ✔️ (i) ✔️
void

Variabile e vettore

Variabile ⇒ Valore
Riferimento
Vettore ⇒ Riferimento

Codice ASCII e caratteri

Codice ASCII intero
Caratteri ( %c )
Controlla

Lettura

  • scanf(" %c ", &c);
  • getchar(c);

Stampa

  • printf(" %c ", c);
  • putchar(c);

isalpha
isdigit
islower
isupper
Se controlla danno (!=0)

to upper
to lower

Conversioni e stringhe

Stringa ( %s )
"stringa"
Serie di caratteri + '\0' terminatore
char [N+1]

Gran numero è caratteri
Indirizzo
gets(str); LEGGE STRINGA
puts(str); STAMPA STRINGA

scanf(" %s ", str);
printf(" %s ", str);

Precede (in senso alfabetico)
strlen(str); LUNGHEZZA

strcpy(str1, str2); COPIA str2 in str1
strncpy(str1, str2, n); COPIA primi n di str2 in str1
strcmp(str1, str2); COMPARA STRINGHE

>0 str1 >0 str2 NULL se non trova

scanf (<stringa>, "fattore conversione", variabile);
strcat (str1, str2); CONCATENA S1 E S2 (S1+S2)

Matrici o vettori multidimensionali

for (i=0; i<R; i++)
for (k=0; k<C; K++)
blocco;

Librerie

#include <>stdio.h I/O
stdlib.h
math.h FUNZ. MATEMATICHE
ctype.h FUNZ. CARATTERI
string.h FUNZ. STRINGHE
limits.h LIMITI (INT.MIN, INT.MAX)

File

Inizializzazione
FILE *fp
fp = fopen("nome", "w");
fclose(fp);

fprintf(nome, "pattern.conv", &variabile);
fscanf(nome, "pat.conv", &variabile);

if (fp == NULL) -> Non funziona

Lettura file con n righe non conosciute => WHILE
i=0
while (!fscanf(fp, "pat.conv", var) == EOF)
i++;

Linea di comando

int main (int argc, char *argv[])
if (argc < n) -> Non funziona

  • argv[0]
  • argv[1]
  • argv[2]
  • argv[3]
  • argv[ - 1]
  • argv[]

Sort decrescente

#define N
main(){
int V[N], temp, i, j, max, posm;
for (i = 0; i < N; i++)
printf(" V[%j] =",i);
scanf("%d", &V[i]);}
for (i = 0; i < N-1; i++){
max = V[i];
for (j = i; j < N; i++){
if (V[j] >= max){
max = V[j];
posm = j;}
temp = V[i];
V[i] = V[posm];
V[posm] = temp;}
for (i = 0; i < N; i++){
printf(" V[%j] = %d ", V[i]);}
return 0;}

Sort crescente

#define N
-main ()
int V[N], temp, i, j, minimo, posnu;
for (i=0; i<N; i++)
printf("V[%d]=", i);
scanf("%d", &v[i]);
for (i=0; i<N-1; i++)
min = v[i];
for (j=i; j<N; j++)
if (v[j] < min)
min = v[j];
posnu = j;
temp = v[i];
v[i] = v[posnu];
v[posnu] = temp;
for (i=0; i<N; i++)
printf("%d ", v[i]);
return 0;

Bubble sorting

for (i = 0; i < N-1; i++)
for (k = 0; k < N-1-i; k++)
if (V[k] >= V[k+1]) crescente
if (V[k] <= V[k+1]) decrescente
temp = V[k];
V[k] = V[k+1];
V[k+1] = temp;
k < N-1-i in quanto questo sistema per ogni operazione sposta il max o min alla fine e questo non va più contato

Anteprima
Vedrai una selezione di 4 pagine su 11
Informatica - appunti Pag. 1 Informatica - appunti Pag. 2
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Informatica - appunti Pag. 6
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Informatica - appunti Pag. 11
1 su 11
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 Nobody_scuola_1990 di informazioni apprese con la frequenza delle lezioni 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 Torino o del prof Mezzalama Marco.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community