20/12/2022
Introduzione
linguaggio di sistema, adatto a:
Variabili
contenitori che permettono di memorizzare un valore di un certo tipo
più formalmente: simboli che puntano ad un indirizzo fisico all'interno della memoria RAM
dichiarazione vs inizializzazione
// Es. dichiarazione
int n; // ho riservato uno spazio di memoria nella RAM
// ma non ho ancora inserito alcun valore in quello spazio
// Es. inizializzazione
int n = 10; // riservo uno spazio di memoria e assegno subito un
// valore iniziale
Tipi di dato
int -> numeri interi (positivi e negativi)
stringhe -> sequenze di caratteri (es: una parola è formata da più lettere)
// Struttura if-else
if (CONDIZIONE) {
...istruzioni...
}
else {
...istruzioni...
}
// Negazione
if (!CONDIZIONE) { // -> se CONDIZIONE è falsa
...istruzioni...
}
operatori di confronto:
a == b
a != b --> diverso
a > b , a >= b
a < b , a <= b
dove:
Input/Output
funzioni
// Es
printf("%d", 10); // 10 --> int
printf("%f", 8.5); // 8.5 --> float
printf("Numero %d", 10); // Numero 10
scanf("formato", variabili);
// Es
int n;
scanf("%d", &n); // Se inserisco "10" --> n=10
Esercizi
1. Si scriva un programma che legga due numeri interi e stampi la loro somma.
#include <stdio.h>
int main() {
int n1, n2;
int somma;
printf("Inserire numeri interi\n");
scanf("%d %d\n", &n1, &n2);
somma= n1+n2;
printf("Somma %d\n");
return 0;
}
#include <stdio.h>
int main(){
int n1;
printf("Inserire un numero");
scanf("%d\n", &n1);
if(n1%2 != 0){
printf("Il numero è dispari");
}
else {
printf("Il numero è pari");
}
return 0;
}
3. Verificare se un numero intero inserito da tastiera è primo e lo comunichi all'esterno.
#include <stdio.h>
int main()
{
int n, i;
int isPrimo = 1; // Utile per capire se ho trovato un numero primo o no
// 1 --> true (il numero è primo)
// 0 --> false (il numero non è primo)
// all'inizio assumo che il numero sia primo
// all'interno del ciclo for cerco eventuali altri divisori
printf("Inserire un numero \n");
scanf("%d", &n);