Input/Output di numeri
|
|
|
- Donata Fedele
- 9 anni fa
- Visualizzazioni
Transcript
1 Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include <stdio.h> stdio.h contiene i prototipi delle funzioni (descritti in seguito nel corso) e costanti simboliche. I prototipi servono al compilatore per controllare che le funzioni siano utilizzate con la sintassi corretta 1
2 Per l input la funzione più utilizzata e più completa è la scanf (scan formatted, scansione con formato) La sintassi è scanf(stringa di formato, lista di variabili) Legge dallo standard input (di solito la tastiera) le variabili indicate nella lista di variabili Per ogni variabile bisogna indicare nella stringa di formato lo specificatore di formato adatto Ad es. scanf("%d%d", &x, &y); La lista di variabili comprende le variabili, separate da virgole, che verranno assegnate nell ordine in cui sono elencate Ogni variabile è preceduta dal simbolo di & (che serve per ricavarne l indirizzo, come vedremo dopo) La stringa di formato contiene, tra doppi apici, degli specificatori di formato che specificano qual è il tipo di dato atteso per le variabili in lista di variabili 2
3 Principali specificatori di formato per numeri: %d int %u unsigned int %ld long %lu unsigned long %f, %e, %g float %lf double La scanf legge dalla tastiera un carattere per volta e, seguendo le indicazioni degli specificatori di formato, ricava una sequenza di caratteri che si chiama token scanf interrompe la lettura di un token quando incontra un carattere white space (cioè lo spazio, il tab o l a capo ) (eventuali white space iniziali vengono scartati) : Se si scrive da tastiera 23 42[Invio], l istruzione scanf("%d%d", &x, &y); legge i caratteri 2 e 3, li converte nel numero 23 e assegna a x tale valore; lo spazio segnala alla scanf la fine del primo token. Poi scanf legge i caratteri 4 e 2, li converte nell intero 42, e lo assegna a y 3
4 Eventuali caratteri rimanenti rimangono a disposizione per letture successive : Se si scrive da tastiera 23 42[Invio], l istruzione scanf("%d", &x); legge i caratteri 2 e 3 e lascia 42[Invio] nel buffer a disposizione di eventuali letture successive Se la scanf incontra un carattere non compatibile con lo specificatore di formato, termina la lettura senza modificare il valore della variabile corrispondente (e lascia il carattere nel buffer) Se si scrive da tastiera 42 pippo 55[Invio], scanf("%d%d%d", &x, &y, &z); legge 42, che assegna a x. Poi incontra pippo, che non è un valore numerico, e termina la lettura senza assegnare valori a y e a z (e lasciando pippo 55[Invio] nel buffer) 4
5 scanf restituisce il numero di variabili a cui è riuscita ad assegnare un valore oppure la costante simbolica EOF (end of file) int n = scanf("%d%d", &x, &y); Se n==2, la scanf ha letto entrambi i valori Se n==1, la scanf ha letto solo x e non ha modificato y Se n==0, la scanf non ha assegnato nessun valore né a x né a y ma ci sono ancora caratteri nel buffer che possono essere letti Se n==eof, la scanf non ha letto nessun valore e non ci sono caratteri nel buffer. Per introdurre EOF da tastiera si premono Ctrl+D su Unix (o Ctrl+Z su Windows) La stringa di formato può contenere anche caratteri diversi dagli specificatori di formato. In questo caso la scanf si aspetta di ritrovare nell input esattamente quei caratteri nell ordine indicato. I caratteri vengono letti e scartati. Se la scanf trova una discrepanza tra i caratteri nella stringa di formato e i caratteri di input, termina la lettura scanf("%d/%d/%d", &giorno, &mese, &anno); permette di leggere date come 19/01/2015[Invio] 5
6 Se la stringa di formato contiene un white space, la scanf legge zero o più white space, che verranno scartati, fino al primo carattere non white space scanf("%d %d", &x, &y); permette di leggere input come 19 23[Invio] scanf("%d\n", &x); legge input come 19[Invio]23[Invio] lasciando nel buffer 23[Invio] (il primo [Invio] viene atteso e scartato per via del \n ; dopo scanf attende fino al secondo Invio prima di restituire il controllo al chiamante) Per l output la funzione più utilizzata e più completa è la printf (print formatted, stampa con formato) La sintassi è printf(stringa di formato, lista di espressioni) Stampa nello standard output (di solito la finestra del terminale) le espressioni indicate nella lista di espressioni Per ogni espressione bisogna indicare nella stringa di formato lo specificatore di formato adatto, che verrà sostituito dall espressione Ad es. printf("la somma di %d e %d è \n", x, y, x+y); 6
7 Principali specificatori di formato per numeri: %d int %u unsigned int %ld long %f double o float in formato decimale con 6 cifre dopo il punto decimale %e double o float in formato esponenziale %g double o float in formato decimale o esponenziale (viene scelto il più adatto a seconda del valore) La stringa di formato può contenere sequenze di escape: \n (newline) \t (tab) \b (backspace) \\ (carattere di escape per \), \" (carattere di escape per ", doppi apici), Per la stampa del carattere % si usa: %% 7
8 Indentazione: Tipi interi: Tra specificatore di formato e % si può indicare un valore n n specifica il numero (minimo) di caratteri con cui stampare il numero Ad es. se voglio scrivere il contenuto della variabile x su 6 caratteri e x vale 234, nella stringa di controllo scriverò "%6d" Il risultato a video sarà 234, dove 234 è preceduto da tre spazi vuoti (blank) Indentazione: Tipi in virgola mobile: Tra specificatore di formato e % si indicano due valori n.m n specifica il numero (minimo) di caratteri con cui stampare il numero compreso il punto decimale m specifica la sua precisione (cioè quante cifre dopo il punto decimale) printf("%7.2f", ) à %.3f stampa tre decimali e non pone nessuna richiesta sul numero di cifre prima del punto 8
9 Anche se spesso non è utile, è bene sapere che la funzione printf, come molte funzioni del C, restituisce un valore In particolare, printf restituisce il numero di caratteri stampati o un numero negativo in caso di errore Quindi l istruzione printf("ciao Mondo!") restituisce il numero 11 (conta anche lo spazio) 9
Struttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
Variabili e Istruzioni
Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome
LIBRERIE STANDARD in C. LIBRERIE STANDARD in C
LIBRERIE STANDARD in C La libreria standard del C è in realtà un insieme di librerie Per usare una libreria, non occorre inserirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle
Caratteri e stringhe
Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un
IL PRIMO PROGRAMMA IN C
IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE
Espressione di chiamata di funzione
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori
Formattazione avanzata Modificatori di o in output Modificatori di o in input Stream predefiniti I/O Avanzato e File 2 Formattazione dell output Formattazione avanzata L output (su schermo o su file) viene
Linguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
Le funzioni, e le istruzioni di input/output
Linguaggio C Le funzioni, e le istruzioni di input/output 1 Funzioni! Sono sottoprogrammi per svolgere un particolare compito! Sequenze di istruzioni (raggruppate tramite le parentesi graffe) alle quali
Scrittura formattata - printf
Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( , ) La funzione restituisce un valore intero uguale ai caratteri
Primi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
<programma> ::= {<unità-di-traduzione>} <main> {<unità-di-traduzione>}
STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita nel modo seguente: ::= {} {} Intuitivamente un programma
Introduzione al linguaggio C
Introduzione al linguaggio C Abbiamo già visto come un programma non sia altro che un algoritmo codificato in un linguaggio di programmazione. Problema: quale linguaggio scegliere per la codifica di un
Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.
Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. #include Esercizio 1 - Soluzione int main() int num1, num2, num3, somma; float
Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi
MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme
Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.
Sistema C e organizzazione del codice Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Un programma C è costituito da un insieme
Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C
Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali
ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
Informatica (A-K) 7. Linguaggio C - 1
Storia del linguaggio C Informatica (A-K) 7. Linguaggio C - 1 Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Linguaggio C 1972, nato come evoluzione
Linguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
Il linguaggio C Istruzione di assegnamento e operatori
Il linguaggio C Istruzione di assegnamento e operatori { /*definizioni variabili: */ char y= a ; /*codice(a)=97*/ int x,x,y; unsigned int Z; float SUM; double r; /* parte istruzioni: */ X=27; Y=4; Z =
Funzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza [email protected] http://www.dis.uniroma1.it/~salza/fondamenti.htm
La programmazione nel linguaggio C
3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi
Alfabeto ed elementi lessicali del linguaggio C
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - [email protected] s t a t i c s h o r t l e g s ; i n
Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
Linguaggio C Informatica Grafica
Linguaggio C Informatica Grafica Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione [email protected] Linguaggio C Breve storia Struttura di un programma Variabili
Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
Stringhe e allocazione dinamica della memoria
Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per
Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
Input/Output. Console e File.
Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ [email protected] Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili
Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica
Corso di Fondamenti di Informatica Ingegneria Clinica Esercitazione 6 Raffaele Nicolussi Esercizio 1 Si scriva una funzione in linguaggio C che riceve in ingresso un numero intero A letto da tastiera,
I puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore
I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p
Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente
Foglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
Aggregati di dati eterogenei: il tipo struct. Esercizi risolti
Esercizi risolti 1 Esercizio Si vuole realizzare un tipo utilizzato per informazioni su operazioni di vendita, avente i seguenti campi: codice: numero intero indicante il codice di riferimento dell articolo
Lettura da tastiera e scrittura su monitor
Lettura da tastiera e scrittura su monitor Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar (void) (per
- Dispensa III - PROGRAMMAZIONE C (Parte I)
Elementi di Informatica e Programmazione - Dispensa III - PROGRAMMAZIONE C (Parte I) Alessandro Saetti (email: [email protected]) Università degli Studi di Brescia 1 Linguaggi di Programmazione
Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C
Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che
Lezione 10. L arte della programmazione
Lezione 10 Linguaggi di programmazione: il C Le variabili e le costanti L assegnazione Gli operatori La documentazione L input/output L arte della programmazione La soluzione di un problema tramite un
Esercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
Processore Danilo Dessì. Architettura degli Elaboratori.
Processore 8088 Architettura degli Elaboratori Danilo Dessì [email protected] Subroutine Anche nel linguaggio assemblativo è possibile suddividere un programma in subroutine Per invocare una subroutine
Alcune regole di base per scrivere un programma in linguaggio C
Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza
Input/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
Algoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio [email protected] Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
Alcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli
Alcuni esercizi 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Stampa di voti Esempio 1 (switch) Realizzare un programma che legge da input un voto (carattere tra A ed E ) e ne
