Linguaggio C: introduzione

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

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

Linguaggio C - sezione dichiarativa: costanti e variabili

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

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

Introduzione alla programmazione. Alice Pavarani

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Il linguaggio C. Danilo Ardagna Politecnico di Milano

Linguaggio C Informatica Grafica

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

Linguaggio C: le funzioni. Introduzione e sintassi

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

IL PRIMO PROGRAMMA IN C

Struttura dei programmi C

Le funzioni, e le istruzioni di input/output

2 Operatori matematici e costrutto if

Corso sul linguaggio C

Input/Output di numeri

La programmazione in linguaggio C

Espressione di chiamata di funzione

Elementi di Base. Introduzione a Python.

Le direttive del Preprocessore

Introduzione al linguaggio C

Algoritmi e basi del C Struttura di un programma

Introduzione alla programmazione in linguaggio C

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

Primi passi col linguaggio C

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

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

La programmazione nel linguaggio C

Primo programma in C

Corso di programmazione in C

Transcript:

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

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

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

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

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

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

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

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

Risultato 9

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

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

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

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

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

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

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

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

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