Creare sul floppy A: con [Tasto Destro]Nuovo/Cartella una cartella dal nome lab2
Salvare il corrente file in A: con il nome A:Es2
Copiare in A: anche i file tc.gif, compila.gif e esegui.gif
Usare Riduci a icona per mettere da parte la finestra sul floppy senza chiuderla
Aprire il file A:Es2.htm per leggere e seguire il resto dell'esercitazione
Ridurre le dimensioni della finestra su A: che deve restare visibile ma consentire
la visibilità di un'altra nuova finestra
Variabili intere, indirizzo e contenuto; istruzione 'printf'
Aprire l'ambiente TuboC++ con Start/Programmi/Turbo C++ 4.5/Turbo C++
oppure facendo doppio clic sull'icona presente sul Desktop
ridimensionare la finestra in modo che sia visibile anche quella con il resto dell'esercitazione
eventualmente aprire con File/New una finestra di editor
selezionare il testo seguente, catturarlo con Modifica|Copia e poi
trasferirlo nella finestra di editor del Turbo C++ mediante Edit|Paste
int n;
printf("l'indirizzo di della variabile n è %lu e il suo contenuto è %d",&n,n);
n=0;
printf("\nl'indirizzo di della variabile n è %lu e il suo contenuto è %d",&n,n);
completarlo affinché divenga un programma
salvare con File/Save as...,
compilare con Project/Compile,
eventualmente correggere e salvare di nuovo a compilazione corretta
eseguire con Debug/Run
Una variabile ha
un tipo, semplice o strutturato, che ne stabilisce la forma, necessario
affinché sia chiaro quali locazioni di memoria occuperà
un nome simbolico, o identificatore, che deve iniziare con una lettera o
con il trattino underscore '_' ed è consigliabile che ne ricordi il significato
un indirizzo di una prima locazione di memoria a partire dalla quale è memorizzata; in C
questo indirizzo è memorizzato in una cella di memoria rappresentata dal nome della variabile preceduto dal simbolo '&'
un valore che è bene inizializzare
un tempo di vita, durante il quale rimane valida l'associazione
tra il simbolo e l'indirizzo fisico dove è memorizzata
un ambito o campo d'azione (scope), cioè la parte di programma nel quale
essa è visibile ed accessibile
Tutte le variabili devono essere dichiarate prima di essere usate.
La forma di una tale dichiarazione è:
<tipo della variabile> <elenco di identificatori>;
Il simbolo '=' di uguale consente di assegnare un valore a una
variabile.
n=0;
Il valore di una variabile viene visualizzato sulla console con l'istruzione
printf(< stringa per il formato >,<elenco di identificatori o espressioni>);
Nella stringa di formato sono presenti caratteri preceduti dal simbolo '%'. In particolare:
Simbolo Tipo di conversione
d decimale
o ottale senza segno
X esadecimale senza segno
u decimale senza segno
c carattere singolo
s stringa
e reale in forma scientifica
f reale con parte intera seguita da decimi, centesimi, ..
g reale con scelta automatica tra i due precedenti
Sono presenti inoltre altre sequenze di simboli come '\n' che ha la funzione di
andare a capo della riga seguente.
Variabili intere, 'unsigned' e 'long'
Selezionare il testo seguente, catturarlo con Modifica|Copia e poi
trasferirlo nella finestra di editor del Turbo C++ mediante Edit|Paste
int n=2*2*2*2*2*2*2*2*2*2*2*2*2*2*2-1; // 2^15 - 1
unsigned int m=2*(n+1)-1; // 2^16 - 1
long int k=(n+1)*(m+1)-1; // 2^31 - 1
unsigned long int l=2*(k+1)-1; // 2^32 - 1
printf("Una variabile di tipo 'int' occupa %d byte",sizeof(int));
printf("\n e ha valore compreso tra %d e %d",-n-1,n);
printf("\nUna variabile di tipo 'short int' occupa %d byte",sizeof(short int));
printf("\n e ha valore compreso tra %d e %d",-n-1,n);
printf("\nUna variabile di tipo 'unsigned int' occupa %d byte",sizeof(unsigned int));
printf("\n e ha valore compreso tra 0 e %u",m);
printf("\nUna variabile di tipo 'long int' occupa %d byte",sizeof(long int));
printf("\n e ha valore compreso tra %ld e %ld",-k-1,k);
printf("\nUna variabile di tipo 'unsigned long int' occupa %d byte",sizeof(unsigned long int));
printf("\n e ha valore compreso tra 0 e %lu",l);
completarlo affinché divenga un programma; la function predefinita sizeof(<tipo di dati>)
fornisce la dimensione, in byte, del tipo di dati che è indicato come argomento
salvare con File/Save as...,
compilare premendo sull'icona ,
eventualmente correggere e salvare di nuovo a compilazione corretta
eseguire premendo sull'icona
la dimensione dei tipi dipende dalla piattaforma sulla quale viene eseguito il programma.
Questo è un difetto del linguaggio C. Modificare eventualmente il programma.
I simboli 'd', 'u', 'o', 'X' della stringa di formato dell'istruzione printf
possono essere preceduti
da 'l' per specificare che il corrispondente argomento è un long int,
da 'h' per specificare che il corrispondente argomento è uno short int,
mentre i simboli 'e', 'f', 'g' possono essere preceduti da 'l' per indicare un double.
Ripetizione 'for', istruzione 'scanf'
Selezionare il testo seguente, catturarlo con Modifica|Copia e poi
trasferirlo nella finestra di editor del Turbo C++ mediante Edit|Paste
unsigned int n;
unsigned long int somma=0;
printf("Introduci un numero intero positivo: ");
scanf("%u",&n);
for (int i=0; i<= n; i++){
somma = somma + i;
}
printf("\nLa somma dei primi %u numeri interi positivi è %lu",n,somma);
completarlo affinché divenga un programma
salvare e compilare, eventualmente correggere e salvare di nuovo a compilazione corretta
eseguire scegliendo 100 come input
eseguire un passo alla volta
inserire nel programma un'altra variabile per calcolare n*(n+1)/2, visualizzarne il valore
per confrontare con quello della variabile somma
Il valore di una variabile viene letto da console con l'istruzione
scanf(< stringa per il formato >,<elenco di puntatori a variabili>);
Un puntatore a variabile è in questi casi semplicemente l'espressione &<nome varabile> che esprime l'indirizzo della variabile.
La stringa di formato è composta unicamente di caratteri preceduti dal simbolo '%' per interpretare
la sequenza di immissione dei dati. Tali caratteri sono gli stessi già visti
nel caso dell'istruzione printf, dove i simboli 'd', 'u', 'o', 'x' possono essere preceduti
da 'l' per specificare che il corrispondente argomento è un long int,
da 'h' per specificare che il corrispondente argomento è uno short int,
mentre i simboli 'e', 'f', 'g' possono essere preceduti da 'l' per indicare un double.
NOTA: Al termine di ogni sessione di lavoro fare una copia del floppy e poi
spegnere il computer con Start/Chiudi sessione/Arresta il sistema.
pagine di Roberto Ricci
L.S. "A. Righi", Bologna.
Ultima revisione