Linguaggio C: introduzione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Linguaggio C: introduzione"

Transcript

1 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 ai soli fini didattici previa autorizzazione dell autore. E severamente vietata la riproduzione anche parziale e la vendita. 01/10/2008

2 Introduzione 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 Industriali (acquisizione dei dati, controllo dei processi) Informatiche (sw di base (SO Unix), strumenti (CAD), pacchetti applicativi) 2

3 Struttura di un programma C Un programma scritto in C è un file di testo strutturato in modo opportuno Il programma scritto in modo corretto può essere compilato: tradotto in linguaggio macchina Le fasi di compilazione ed esecuzione saranno approfondite durante le ore di laboratorio Imparare a programmare in C significa impararne la sintassi e la semantica per fare in modo che esso: Sia compilabile (verifica sintattica) Si comporti come atteso (verifica semantica) 3

4 Alcune proprietà del C È un linguaggio dichiarativo: L intenzione di utilizzare una variabile o una funzione deve essere dichiarata a priori È un linguaggio strutturato Fornisce i costrutti base per la definizione di sequenza, selezione ed iterazione È un linguaggio case sensitive: Discrimina tra caratteri maiuscoli e minuscole e.g., Main è diverso da main!! 4

5 Hello world! Il codice inizia qui #include <stdio.h> Parte dichiarativa L esecuzione inizia qui int main() { printf( Hello World ); Parte esecutiva } return 0; L esecuzione termina qui (è buona norma, nel main, indicare return 0 come ultima istruzione) 5

6 Direttiva include Le direttive: sono istruzioni particolari rivolte al compilatore iniziano con il carattere # La direttiva include indica l intenzione di utilizzo di una libreria esterna Esempio #include <stdio.h> richiede la libreria di gestione degli input e degli output (e.g., printf() e scanf(), ) #include <math.h> richiede la libreria con le principali funzioni matematiche (e.g., abs(), sin(), ) Una volta inclusa una libreria è possibile utilizzare tutte le funzioni definite al loro interno 6

7 main È una parola chiave e indica l inizio del programma vero e proprio Le istruzioni che seguono saranno quelle effettivamente eseguite dall elaboratore Le istruzioni che compongono il programma principale (il main appunto) sono racchiuse all interno di parentesi graffe { } 7

8 printf( Hello world! ); È una tipica istruzione Come tutte le istruzioni deve terminare con il carattere ; (punto e virgola) Permette la stampa a video dei caratteri racchiusi tra apici e inseriti all interno delle parentesi tonde Dettagli su input e output sono forniti nella lezione successiva 8

9 Risultato 9

10 Esempio #include <stdio.h> int main() { printf( 1 - Overture ); printf( ); } return 0; 10

11 Esempio #include <stdio.h> int main() { } printf( 1 - Overture\n ); printf( \n ); return 0; 11

12 Struttura standard Un programma solitamente ha: Sezione di input iniziale Ricevo i dati da un utente Algoritmo Opero sui dati utilizzando anche le variabili di stato Sezione di output finale Trasmetto le informazioni ottenute all utente Questa è la struttura più semplice: Programma batch In un programma interattivo: Spesso i dati sono richiesti all utente anche durante l esecuzione dell algoritmo Risultati parziali possono anche essere trasmesse durante l esecuzione 12

13 Input e output L input e l output del programma possono essere ottenute: Dall utente finale attraverso tastiera e monitor Da file Al momento analizziamo solo il primo caso: La libreria <stdio.h> fornisce il supporto per la comunicazione con l utente finale Ci concentriamo su due funzioni: scanf (solitamente usato per l input) printf (solitamente usato per l output) 13

14 printf: sintassi printf(stringa di controllo, lista di variabili); stringa di controllo (racchiusa tra ), contiene: caratteri alfanumerici da stampare a video segnaposto: caratteri di conversione e/o di formato (preceduti dal simbolo %): utilizzati per interpretare i valori degli elementi da stampare. Es. d, f, c, caratteri di controllo della stampa: caratteri ASCII a cui non corrisponde alcun simbolo stampabile, hanno effetti di formato di stampa, come linea nuova (\n), tabulazione (\t), ecc lista di variabili è una lista di variabili separate da virgola: in egual numero ai segnaposto inseriti nella stringa di controllo nello stesso ordine in cui compaiono i segnaposto di tipo compatibile con il tipo di segnaposto individuato 14

15 printf: semantica È la chiamata alla funzione, che fa partire l attivazione del sottoprogramma associato Stampa i caratteri alfanumerici tra doppi apici e al posto dei segnaposto stampa il valore dell identificatore corrispondente nella lista da stampare I segnaposto posizionano il cursore nella posizione opportuna 15

16 scanf: sintassi scanf(stringa controllo, lista di variabili) stringa di controllo (racchiusa tra ), contiene: caratteri di conversione e/o di formato (preceduti dal simbolo %): utilizzati per interpretare i valori degli elementi letti da tastiera, che devono essere memorizzati nelle variabili. Es. d, f, c, lista di variabili è la la lista di variabili a cui associare il valore letto è sempre meglio richiedere l inserimento di una variabile per volta le variabili devono essere indicate tramite il loro indirizzo: &nome_var (passaggio per indirizzo) la lista è ordinata rispetto ai caratteri di conversione 16

17 Esempio #include <stdio.h> int main() { int r; float circ; scanf( %d, &r); circ= 2*3.14*r; printf( Circonferenza è %f, circ); } return 0; 17

18 scanf e messaggio di input Una scanf dovrebbe essere sempre accompagnata da una printf che visualizza un messaggio in cui è indicata la natura del dato richiesto Invece di scanf( %d, &r); È più oppurtuno utilizzare printf( Inserire il valore del raggio ); scanf( %d, &r); 18

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C

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

Dettagli

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

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

Dettagli

Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri

Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

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

Dettagli

Introduzione alla programmazione. Alice Pavarani

Introduzione alla programmazione. Alice Pavarani Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello

Dettagli

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi

Dettagli

Il linguaggio C. Danilo Ardagna Politecnico di Milano

Il linguaggio C. Danilo Ardagna Politecnico di Milano Il linguaggio C Danilo Ardagna Politecnico di Milano 14-3-2014 Introduzione! Linguaggio di programmazione ad alto livello (HLL)! Sviluppato negli anni 70 (C standard ANSI)! Molto diffuso e adatto ad un

Dettagli

Linguaggio C Informatica Grafica

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

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

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

Dettagli

Linguaggio C: le funzioni. Introduzione e sintassi

Linguaggio C: le funzioni. Introduzione e sintassi Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Introduzione e sintassi La presente dispensa

Dettagli

#include <stdio.h> main() { - 1 -

#include <stdio.h> main() { - 1 - Un primo esempio di programma Ogni programma C deve contenere una funzione speciale chiamata main che indica il punto in cui inizia l esecuzione del programma. La funzione main è unica all interno di ogni

Dettagli

IL PRIMO PROGRAMMA IN C

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

Dettagli

Struttura dei programmi C

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

Dettagli

Le funzioni, e le istruzioni di input/output

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

Dettagli

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Dettagli

Corso sul linguaggio C

Corso sul linguaggio C Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione

Dettagli

Input/Output di numeri

Input/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

Dettagli

La programmazione in linguaggio C

La 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

Dettagli

Espressione di chiamata di funzione

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 è

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ [email protected] Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Dettagli

Le direttive del Preprocessore

Le 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

Dettagli

Introduzione al linguaggio C

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

Dettagli

Algoritmi e basi del C Struttura di un programma

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

Dettagli

Introduzione alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

Dettagli

Informatica (A-K) 7. Linguaggio C - 1

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

Dettagli

Primi passi col linguaggio C

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

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

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

Dettagli

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

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

Dettagli

La programmazione nel linguaggio C

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

Dettagli

Primo programma in C

Primo programma in C Primo programma in C Struttura minima di un file C Applicazioni C in modo console Struttura del programma Commenti Direttive #include Definizione di variabili Corpo del main 2 Struttura minima di un file

Dettagli

Corso di programmazione in C

Corso di programmazione in C Corso di programmazione in C Lezione 2: fondamenti del linguaggio C Liceo Scientico Teresa Gullace M. Prisco 5 marzo 2019 Liceo Scientico Teresa Gullace Corso di programmazione in C 5 marzo 2019 1 / 17

Dettagli