Introduzione a. Funzioni di Ingresso e Uscita. Compilazione
|
|
- Gennara Testa
- 7 anni fa
- Visualizzazioni
Transcript
1 Introduzione a Funzioni di Ingresso e Uscita Compilazione
2 2 Come si termina un programma in esecuzione (processo)? Ctrl + C In UNIX ci si basa sul concetto di terminale Anche da GUI, quello che si apre è un terminale (Terminal, Konsole, xterm,...) In seguito a determinate combinazioni di caratteri il terminale spedisce speciali segnali ai processi
3 3 Ingresso e uscita Input/Output Ingresso di informazioni (da elaborare) all'interno di un processo Uscita di informazioni (elaborate) da un processo Esempio: stampa di informazioni sullo schermo, lettura di valori da tastiera
4 4 Ingresso e Uscita in C In senso stretto, il linguaggio C non prevede istruzioni per l'ingresso uscita E' implementato mediante funzioni di libreria printf: : output formattato scanf: : input formattato Le funzioni di libreria adottano il seguente modello:...
5 5 Flussi Flusso di caratteri: successione di righe, ciascuna costituita da zero o più caratteri, e terminata dal carattere speciale newline '\n' \n'
6 6 stdin, stdout, stderr 1/2 Quando un programma inizia la propria esecuzione ci sono tre flussi di caratteri già aperti stdin: flusso standard di ingresso stdout: flusso standard di uscita stderr: flusso standard di uscita per comunicare messaggi di errore
7 7 stdin, stdout, stderr 2/2 Se il programma è invocato da una shell Unix senza redirezionamenti Lettura da stdin: Lettura dei caratteri immessi da tastiera Scrittura su stdout o su stderr: Visualizzazione sulla finestra in cui gira la shell
8 8 Scrittura formattata su stdout Forma più semplice printf(stringa) ; printf 1/2 ove stringa è una sequenza di caratteri delimitata da doppi apici esempio di stringa
9 9 stdio.h Ogni sorgente che contenga riferimenti a funzioni della libreria di ingresso/uscita deve contenere la direttiva #include <stdio.h> Deve precedere il primo punto in cui viene invocata una funzione di ingresso/uscita
10 10 Primo esercizio 1/4 Scrivere un programma che stampi Ciao mondo sullo schermo e termini Sulle tastiere italiane: { Alt sul tastierino numerico } Alt sul tastierino numerico { Alt Gr + Shift + è } Alt Gr + Shift + +
11 11 Primo esercizio 2/4 #include <stdio.h> main() { } printf("ciao mondo!") ;
12 12 Compilazione File sorgente: file di testo che contiene il programma scritto nel linguaggio (di alto livello) di partenza Per ottenere un programma eseguibile a partire dal nostro sorgente possiamo utilizzare un compilatore per il linguaggio C Schema: Sorgente->Compilazione->Eseguibile
13 13 Compilatore gcc 1/2 gcc: GNU Compiler Collection Tutte le informazioni sul compilatore: man gcc Progetto GNU:
14 Compilatore gcc 2/2 Sintassi più semplice per generare un programma eseguibile da un file sorgente: gcc nome_sorgente.c Assegna un nome predefinito al programma eseguibile gcc -o nome_eseguibile nome_sorgente.c Permette di scegliere il nome del programma eseguibile 14
15 15 Proviamo a compilare ed eseguire il nostro programma...
16 16 Messaggi di errore 1/2 Può darsi che la compilazione non sia andata a buon fine In questo caso il compilatore ci ha sicuramente dato dei messaggi
17 17 Messaggi di errore 2/2 Se ci sono problemi, il compilatore può comunicare Warnings (avvisi): c'è qualcosa di 'sospetto' nel codice, ma si può comunque generare un eseguibile Errors: : ci sono errori che impediscono la conclusione della compilazione
18 18 Se tutto ha funzionato... Forse il prompt appare appiccicato al nostro messaggio... Non siamo andati a capo! Bisognerebbe poter stampare il carattere a capo (newline)
19 19 Sequenze di controllo I caratteri non visualizzabili (caratteri speciali) possono essere rappresentati mediante sequenze di controllo (escape( sequence) \n newline \t tabulazione \\ barra inversa \' apice \ virgolette
20 20 Primo esercizio 3/4 Modificare il programma affinché vada anche a capo
21 21 Primo esercizio 4/4 #include <stdio.h> main() { } printf("ciao mondo!\n") ;
22 22 Stampa di valori 1/2 E se volessimo stampare il valore di una variabile? La printf può avere più di un argomento Il primo è la stringa di formattazione (format) I successivi argomenti sono valori da stampare in base alle regole stabilite nella stringa di formattazione
23 23 Stampa di valori 1/2 La stringa format può contenere due tipi di oggetti: Caratteri ordinari (incluso quelli speciali), copiati sullo stdout Specifiche di conversione,, che controllano la visualizzazione del valore successivi argomenti Una per ogni successivo argomento da stampare
24 24 Stampa di valori 2/2 Per ora consideriamo solo la seguente specifica di conversione: %d L'argomento a cui si riferisce è un intero e va stampato come numero in notazione decimale
25 25 Esercizio 2 1/2 Scrivere un programma in cui si definisce una costante intera e se ne stampa il valore sullo schermo
26 26 Esercizio 2 1/2 #include <stdio.h> main() { } const int i = 10 ; printf("%d", i) ;
27 27 Andare a capo... Nella stringa format posso anche inserire caratteri ordinari, quindi, per andare a capo: #include <stdio.h> main() { } const int i = 10 ; printf("%d\n", i) ;
28 28 Esercizio 3 1/2 Scrivere un programma in cui si definisce una costante intera e se ne stampa il valore sullo schermo col seguente formato: Il valore della variabile è 10. E si va a capo
29 29 Esercizio 3 2/2 #include <stdio.h> main() { } const int i = 10 ; printf("il valore della variabile è %d.\n", i) ;
30 30 Una soluzione alternativa #include <stdio.h> main() { } const int i = 10 ; printf("il valore della variabile è %d", i) ; printf(".\n");
31 31 Ritorno valore finale Un processo ritorna un valore quando termina Può essere letto ed utilizzato dal programma che lo ha invocato La funzione main può essere dichiarata ritornare un valore di tipo intero Il valore di ritorno della funzione main è il valore ritornato dal programma stesso
32 32 Esempio #include <stdio.h> int main() { } const int i = 10 ; printf("il valore della variabile è %d", i) ; printf(".\n"); return 0 ;
33 33 Lettura dallo stdin Per ora utilizzeremo solo una forma semplificata della funzione scanf scanf( %d, &nome_variabile) ; Legge i caratteri in ingresso dallo stdin Li interpreta come cifre di un numero intero in notazione decimale Assegna il valore letto alla variabile di nome nome_variabile
34 34 Esercizio 4 1/2 Scrivere un programma che legge un valore intero da tastiera e lo stampa a video
35 35 Esercizio 4 2/2 #include <stdio.h> main() { } int i ; scanf("%d", &i) ; printf("il valore inserito è %d.\n", i) ;
36 36 Ingresso inconsistente Cosa accade se la sequenza di caratteri letta non rappresenta alcun numero in notazione decimale? Il valore del secondo argomento rimane invariato (non avviene alcuna memorizzazione)
37 37 Esercizio 5 1/2 Miglioriamo l'esercizio precedente Vogliamo anche stampare un messaggio di richiesta del numero da inserire: Inserisci un valore intero: 13 Il valore inserito è: 13
38 38 scanf La scanf non scrive sullo stdout
39 39 Esercizio 5 2/2 #include <stdio.h> main() { } int i ; printf("inserisci un valore intero ") ; scanf("%d", &i) ; printf("il valore inserito è %d.\n", i) ;
40 40 Esercizio 6 1/3 Scrivere un programma che legge in ingresso due valori interi e stampa il risultato della moltiplicazione tra i due numeri Inserisci il primo numero: 10 Inserisci il secondo numero: * 20 = 200
41 41 Esercizio 6 2/3 #include <stdio.h> main() { int i, j, ris ; printf("inserisci il primo numero ") ; scanf("%d", &i) ; printf("inserisci il secondo numero ") ; scanf("%d", &j) ; ris = i * j ; printf("%d * %d = %d", i, j, ris) ; }
42 Esercizio 6 3/3 #include <stdio.h> /* Soluzione alternativa: */ /* senza variabile di */ main() /* appoggio */ { int i, j ; printf("inserisci il primo numero ") ; scanf("%d", &i) ; printf("inserisci il secondo numero ") ; scanf("%d", &j) ; printf("%d * %d = %d", i, j, i*j) ; printf("%d * %d = %d", i, j, i*j) ; } 42
43 43 Esercizio 7 1/3 Scrivere un programma che legge in ingresso due valori interi e stampa sia il risultato della divisione intero tra i due numeri che il resto della divisione stessa Inserisci il primo numero: 5 Inserisci il secondo numero: 2 5 / 2 = 2 con resto 1
44 44 Esercizio 7 2/3 #include <stdio.h> main() { int i, j, div, resto ; printf("inserisci il primo numero ") ; scanf("%d", &i) ; printf("inserisci il secondo numero ") ; scanf("%d", &j) ; div = i / j ; resto = i % j ; printf("%d / %d = %d con resto %d", i, j, div, resto) ; }
45 45 Esercizio 7 3/3 #include <stdio.h> main() { int i, j ; /* Soluzione alternativa */ /* senza variabili di */ /* appoggio */ printf("inserisci il primo numero ") ; scanf("%d", &i) ; printf("inserisci il secondo numero ") ; scanf("%d", &j) ; printf("%d / %d = %d con resto %d", i, j, i/j, i%j) ; printf("%d / %d = %d con resto %d", i, j, i/j, i%j) ; }
46 46 Esercizio 8 1/4 Scrivere un programma che legge in ingresso due valori interi e li memorizza in due variabili, quindi scambia il contenuto delle variabili e lo stampa sullo schermo Inserisci il valore di i: 2 Inserisci il valore di j: 3 Dopo lo scambio: i = 3, j = 2
47 47 Esercizio 8 2/4 Pensare prima all'algoritmo Forse ci serve una variabile d'appoggio...
48 48 Esercizio 8 3/4 #include <stdio.h> int main() { int i, j ; int appoggio ; printf("inserisci il valore di i ") ; scanf("%d", &i) ; printf("inserisci il valore di j ") ; scanf("%d", &j) ;
49 49 Esercizio 8 4/4 appoggio = i ; i = j ; j = appoggio ; printf("dopo lo scambio: i = %d, j = %d", i, j) ; return 0 ; }
50 50 Esercizio 9 Scrivere un programma che legge in ingresso due valori interi e li memorizza in due variabili, quindi scambia il contenuto delle variabili e lo stampa sullo schermo Ma senza utilizzare nessuna variabile d'appoggio!
51 51 Compiti per casa 1/9 Scrivere i seguenti programmi senza utilizzare istruzioni di controllo di flusso (niente istruzioni condiuzionali ed iterative, ma solo esecuzione sequenziale) facendo uso solo di variabili di tipo int e dei relativi operatori +, -, *, /, %, ++, abs()
52 52 Compiti per casa 2/9 Scrivere un programma che legge in ingresso un numero intero, lo interpreta come un tempo espresso in secondi, e lo stampa in minuti e secondi Tempo in secondi? 67 Equivalgono a 1 min, 7 sec
53 53 Compiti per casa 3/9 Scrivere un programma che legge in ingresso due numeri, li interpreta come un tempo espresso in minuti e secondi, e lo stampa in secondi Attenzione: : assumiamo come valido anche un ingresso in cui il secondo numero sia maggiore di 59 Minuti? 3 Secondi? 78 Equivalgono a 258 secondi
54 54 Compiti per casa 4/9 Scrivere un programma che legge in ingresso un numero intero e stampa 0 se il numero è pari, 1 altrimenti Inserisci un numero intero: 23 1 Scrivere un programma che legge in ingresso un numero intero e stampa 1 se il numero è pari, 0 altrimenti
55 55 Compiti per casa 5/9 Scrivere un programma che legge in ingresso due numeri interi positivi, poi stampa 0 se il primo è multiplo dell'altro, 1 altrimenti Inserisci il primo numero intero positivo: 32 Inserisci il secondo numero intero positivo: 11 1
56 56 Compiti per casa 6/9 Scrivere un programma che legge in ingresso due numeri interi positivi, poi stampa 0 se il primo è multiplo dell'altro, 1 altrimenti Inserisci il primo numero intero positivo: 32 Inserisci il secondo numero intero positivo: 11 0
57 57 Compiti per casa 7/9 Scrivere un programma che legge in ingresso un numero intero diverso da 0, e stampa -1 se è negativo, 1 se è positivo Inserisci un numero intero: -3-1
58 58 Compiti per casa 8/9 Scrivere un programma che legge in ingresso un numero intero diverso da 0, e stampa 0 se è negativo, 1 se è positivo Inserisci un numero intero: -3 0
59 59 Compiti per casa 9/9 Scrivere un programma che legge in ingresso un numero intero diverso da 0, e stampa 1 se è negativo, 0 se è positivo Inserisci un numero intero: -3 1
60 60 Altri dettagli sui processi Ad ogni processo è associato un identificatore numerico: pid Per elencare i propri processi: ps x Per elencare tutti i processi: ps ax
61 Ancora sui segnali Ctrl + C manda il segnale SIGINTR (interruzione) al processo in esecuzione A volte tale segnale può non bastare per interrompere il processo Comando kill: : spedisce segnali ai processi kill -signal pid Eventualmente invocato da un altro terminale 61
Introduzione a Ingresso e Uscita. Scrittura di un programma C++ Compilazione Esecuzione
Introduzione a Ingresso e Uscita Scrittura di un programma C++ Compilazione Esecuzione 2 Sistema operativo 1/2 Il sistema operativo di riferimento per le esercitazioni di questo corso è GNU/Linux Perché?
DettagliInput/Output di numeri
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
DettagliStruttura 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
DettagliIl 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
DettagliInput/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari
Input/Output Lettura e scrittura Caratteri e Stringhe: Terminale e file Input/output console file caratteri stringhe formattato ascii binari Linguaggio ANSI C Input/Output - 1 La libreria standard del
DettagliGESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009
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
DettagliLe 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
DettagliFunzioni. 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 salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliIntroduzione 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
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII
DettagliLinguaggio 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
DettagliInformatica Applicata Laboratorio 1. Ing. Antonella Dimasi
Laboratorio 1 Ing. Antonella Dimasi Ambiente di sviluppo L ambiente di sviluppo utilizzato in questo corso è DEV- C++. Dev-C++ è un ambiente di sviluppo integrato (IDE) per la programmazione C/C++. Utilizza
DettagliUnità 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
DettagliLinguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C strutture di controllo: strutture iterative Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Strutture iterative
DettagliIL 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
DettagliEspressione 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 è
DettagliFile binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
DettagliESECUZIONE 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
DettagliC O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O
Il linguaggio C C O P Y R I G H T ( C ) 2 0 0 8 W W W. F O N D A M E N T I. I N F O P E R M I S S I O N I S G R A N T E D T O C O P Y, D I S T R I B U T E A N D / O R M O D I F Y T H I S D O C U M E N
DettagliElementi di informatica
Elementi di informatica Programmare in C 1 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ int base; int altezza; int area; Conosciamo base = 3; altezza = 7; area = base*altezza; printf("%d",
DettagliLinguaggio C Struttura dei programmi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struttura dei programmi 2001 Pier Luca Montessoro - Davide
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE
INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni
DettagliScrittura 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
DettagliVariabili 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
DettagliIl linguaggio C - Introduzione
Il linguaggio C - Introduzione Il C è un linguaggio imperativo legato a Unix, adatto all implementazione di compilatori e sistemi operativi. È stato progettato da D. Ritchie per il PDP-11 (all inizio degli
DettagliTipi di dato semplici
Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma
DettagliIntroduzione 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
DettagliEsercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf
Riassunto Esercitazione 3 Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Sono state introdotte anche le seguenti relazioni: uguaglianza:
DettagliLe librerie standard. ! La libreria standard del C è in realtà un insieme di librerie
! La libreria standard del C è in realtà un insieme di librerie! Per usare una libreria, non occorre inse -rirla esplicitamente nel progetto: ogni ambiente di sviluppo sa già dove cercarle! Ogni file sorgente
DettagliPrimi 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
DettagliLIBRERIE 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
Dettagliprova.c #include <stdio.h> char funzione(char); codice oggetto del main()
prova.c #include char funzione(char); {char c= a ; printf( Ecco il carattere: %c\n,c); c=funzione(c); printf( Ecco il carattere modificato: %c\n,c); char funzione(char tmp) {if(tmp
DettagliIntroduzione al linguaggio C
INFORMATICA B Ingegneria Elettrica Introduzione al linguaggio C Introduzione Linguaggio di programmazione ad alto livello Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro
DettagliProgrammazione I Paolo Valente /2015. Lezione 18. Compendio C/C++
Lezione 18 Compendio C/C++ 2 Contenuto lezione Libreria standard C e C++ Input/Output in C Macro e costanti Dichiarazioni e typedef Gestione memoria dinamica in C 3 Librerie 1/2 Il solo insieme di istruzioni
DettagliEsercitazione 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
DettagliCompendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica)
Compendio sottoinsieme del C++ a comune col C (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica) Librerie 1/2 Il solo insieme di istruzioni di un linguaggio di programmazione
DettagliFunzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti
Funzioni di I/O per numeri 2 Input e output di valori numerici Ver. 2.4.2 2012 - Claudio Fornaro - Corso di programmazione in C Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione
DettagliProgrammazione di base
Fondamenti di Informatica Testo A Secondo Appello 016-17 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene
DettagliLettura 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
Dettagli- Dispensa III - PROGRAMMAZIONE C (Parte I)
Elementi di Informatica e Programmazione - Dispensa III - PROGRAMMAZIONE C (Parte I) Alessandro Saetti (email: alessandro.saetti@unibs.it) Università degli Studi di Brescia 1 Linguaggi di Programmazione
DettagliInput/Output. Console e File.
Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili
DettagliIntroduzione 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
DettagliLa programmazione in linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliFile e puntatori a file
File e puntatori a file Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di
DettagliCAPITOLO2 PROGRAMMA: PRINTING UN GIOCO DI PAROLE FONDAMENTI DI C. COMPILAZIONE E LINKING USANDO gcc COMPILAZIONE E LINKING. % gcc pun.
PROGRAMMA: PRINTING UN GIOCO DI PAROLE CAPITOLO2 FONDAMENTI DI C #include printf("to C, or not to C: that is the question.\n"); return 0; Scrivere questo programma e chiamarlo pun.c. Usare l
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010
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
DettagliFormattazione 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
DettagliIndovina la lettera...
Indovina la lettera... La lezione di oggi consiste nel preparare un programma che chiede all'utente di indovinare quale sia il carattere generato dal programma stesso in modo casuale. Il numero totale
DettagliCorso di Informatica B - Sezione D. Esercitazioni Linguaggio C
Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Corso di Informatica B - Sezione D Esercitazioni Linguaggio C Esercitazione del 2012-10-11 Davide Chicco davide.chicco@elet.polimi.it
DettagliI files in C. A cura del prof. Ghezzi
I files in C A cura del prof. Ghezzi 1 Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali 2 Files e S.O. I files
DettagliPerché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
DettagliPrimo passo: il preprocessor. Il preprocessore. Esempi di direttive al preprocessore: #include. Esempi di direttive al preprocessore: #define
Primo passo: il preprocessor Source code Preprocessor Pre-processed source code Compiler Libraries Linker Executable code 1 Il preprocessore Il preprocessore compie delle manipolazioni sul codice del programma.
DettagliVariabili. Unità 2. 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 salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliInformatica (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
DettagliI/O INTERATTIVO. scanf: quello che è indispensabile sapere printf: quello che è utile sapere
I/O INTERATTIVO scanf: quello che è indispensabile sapere printf: quello che è utile sapere Input da tastiera Funzioni disponibili (tra le altre): scanf getchar Schema di funzionamento Tastiera Sistema
DettagliLa 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
DettagliLe direttive del Preprocessore
Le direttive del Preprocessore Prof. Orazio Mirabella Direttive Un compilatore traduce le istruzioni di un programma sorgente in linguaggio macchina Talvolta è conveniente prendere coscienza dell esistenza
DettagliLinguaggio C. Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati. Stefano Aguzzoli
Linguaggio C Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati Stefano Aguzzoli Alcune note introduttive Orario lezioni: Lunedì: 11:40 13:10, Giovedì: 10:40-11:25 sempre in Aula V3, Via
DettagliBREVISSIMA GUIDA AL SISTEMA UNIX / LINUX
BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX 1. DEFINIZIONI sistema operativo (SO): Software che gestisce le risorse del computer (filesystem e periferiche) filesystem: Insieme dei supporti di memorizzazione.
DettagliLinguaggio 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
DettagliIl Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati
Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi
DettagliLinguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili
DettagliPROGRAMMAZIONE: ESERCITAZIONE N. 6
PROGRAMMAZIONE: ESERCITAZIONE N. 6 Esercizi su stru+ure condizionali e itera1ve Conoscenze richieste: LC1+LC2+LC3+LC4+LC5+LC6 Esercizio 1 Acquisire un numero positivo N e calcolarne la radice quadrata
DettagliLaboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:
Corso di Ingegneria Biomedica Corso di Ingegneria Elettronica Insegnamento di Informatica I a.a. 2007-08 Laboratorio 1 Durante le esercitazioni verra utilizzato il compilatore a riga di comando DJGPP,,
DettagliAlgoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
DettagliCAPITOLO2 PROGRAMMA: PRINTING UN GIOCO DI PAROLE FONDAMENTI DI C FORMA DI UN SEMPLICE PROGRAMMA COMPILAZIONE E LINKING. directive
PROGRAMMA: PRINTING UN GIOCO DI PAROLE CAPITOLO2 FONDAMENTI DI C printf( C, o non C: Questo è il problema.\n"); Scrivere questo programma e chiamarlo pun.c Usare l estensione.c per i programmi C. 1 2 COMPILAZIONE
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono
DettagliIntroduzione al C. Esercitazione 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria Clinica
Corso di Fondamenti di Informatica Ingegneria Clinica Domenico Daniele Bloisi Informazioni Generali ing. Domenico Daniele Bloisi Dipartimento di Informatica e Sistemistica Stanza B213, secondo piano Via
DettagliImpianti di Elaborazione (allievi Gestionali)
Impianti di Elaborazione (allievi Gestionali) Giuseppe Pozzi Impianti di Elaborazione per Allievi Gestionali - Como Facoltà di Ingegneria dell Informazione Politecnico di Milano giuseppe.pozzi@polimi.it
DettagliLaboratorio di informatica Ingegneria Clinica. Esercitazione 2 10 Ottobre 2011
Laboratorio di informatica Ingegneria Clinica Esercitazione 2 10 Ottobre 2011 Istruzioni Istruzioni di Input/Output Istruzioni di assegnamento Istruzioni di controllo Permettono di modificare il flusso
DettagliLaboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013
Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013 Damiano Macedonio Giochi d Azzardo Note Iniziali Per generare un numero casuale basta includere la libreria stdlib.h e utilizzare
DettagliI 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
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 1 - Variabili, costanti, strutture di controllo e input/output Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
Dettagliperror: individuare l errore quando una system call restituisce -1
perror: individuare l errore quando una system call restituisce -1 Quando una system call (o una funzione di libreria) non va a buon fine, restituisce come valore -1 Come si fa a sapere più precisamente
DettagliUn file è un astrazione di memorizzazione di dimensione potenzialmente illimitata (ma non infinita), ad accesso sequenziale.
IL CONCETTO DI FILE Un file è una astrazione fornita dal sistema operativo, il cui scopo è consentire la memorizzazione di informazioni su memoria di massa. Concettualmente, un file è una sequenza di registrazioni
DettagliProgrammazione di base
Fondamenti di Informatica Primo Appello 01-17 8 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011
Laboratorio di Informatica Ingegneria Clinica Lezione 30/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I/O in C Il sistema di I/O del C è una interfaccia uniforme
DettagliLABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 18.III.2015 VINCENZO MARRA Indice Parte 1. L algoritmo euclideo 3 Esercizio 1 3 L algoritmo euclideo
DettagliIndice. La gestione dei file in C e gli stream. Apertura e chiusura di un file. Operazioni sui file. Accesso sequenziale e non sequenziale
File in C Indice La gestione dei file in C e gli stream Apertura e chiusura di un file Operazioni sui file Accesso sequenziale e non sequenziale Gestione dei file in C In C all interno della standard library
DettagliInformatica! Appunti dal laboratorio 1!
Informatica! Appunti dal laboratorio 1! Sistema Operativo! Windows 7, Windows 8, Mac OS X, Linux, Debian, Red Hat, etc etc! Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti
DettagliStringhe in C. Alessandra Giordani Lunedì 23 aprile 2012
Stringhe in C Alessandra Giordani agiordani@disi.unitn.it Lunedì 23 aprile 2012 http://disi.unitn.it/~agiordani/ Stringhe Sono particolari array: Ogni elemento del vettore è di tipo char La stringa è terminata
DettagliTipi e Valori. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Tipi e Valori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C - Tipi e Valori 2 Ringraziamenti prof. Mirko Viroli,
DettagliAlfabeto 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 - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n
DettagliInput/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
DettagliUna stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0
STRINGHE: ARRAY DI CARATTERI Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1
DettagliCorso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche.
Corso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche. APPUNTI SUL LINGUAGGIO C I computer elaborano i dati sotto il controllo
Dettagli$QDOLVLGHOSURJUDPPDTXDGUDWR
$QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =
DettagliGli array, le stringhe e le strutture
INFORMATICA B Ingegneria Elettrica Gli array, le stringhe e le strutture Limiti dei tipi di dato semplici Utilizzare solo i tipi di dato semplici può essere limitante e rendere il programma poco flessibile
Dettagli# include<stdio.h> int main() { // Dichiarazioni int n; int i;
/* CALCOLIAMO I DIVISORI DI UN NUMERO. INSERIAMO UN CONTROLLO CHE IL NUMERO SIA EFFETTIVAMENTE POSITIVO UTILIZZIAMO IL DO...WHILE PER SEMPLIFICARE IL CODICE # include int main() // Dichiarazioni
DettagliLinguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin
Linguaggio C Tipi predefiniti Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Il concetto di tipo (reprise) Nome che indica
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
DettagliProgrammazione a blocchi. Algobuild Prof. Sergio Roselli
Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere
DettagliIntroduzione. L elaborazione dei files in C. Elaborazione dei files (1) Elaborazione dei files (2) D.D. cap. 11+ pp K.P. pp.
Introduzione L elaborazione dei files in C D.D. cap. 11+ pp. 569-572 K.P. pp. 581-583 La memorizzazione dei dati nelle variabili e nei vettori è temporanea: tutti quei dati andranno persi quando il programma
DettagliUn 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
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliFoglio 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
Dettagli1 PANORAMICA SUL LINGUAGGIO C
1 PANORAMICA SUL LINGUAGGIO C 1.1 Le origini del linguaggio C Il C fu inventato e implementato da Dennis Ritchie negli anni 70 su una macchina che impiegava il sistema operativo Unix. Il C è il risultato
DettagliLinguaggio C. Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati. Stefano Aguzzoli
Linguaggio C Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati Stefano Aguzzoli Alcune note introduttive Orario lezioni: Mercoledì: 9:45-12:00 Variazioni: Venerdì 26-10 e Lunedì 26-11,
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Dipartimento di Informatica Università di Pisa Corso Informatica I - 2012/2013 Outline Introduzione alla compilazione C 1 Introduzione alla compilazione C 2 Ricapitolando...
Dettagli