Corso sul linguaggio C

Похожие документы
Input/output in C e in C++

Alcune regole di base per scrivere un programma in linguaggio C

Alfabeto ed elementi lessicali del linguaggio C

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Introduzione alla programmazione in C

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

Esercizi di programmazione in C

2) FILE BINARI: è una sequenza di byte avente una corrispondenza uno a uno con la sequenza ricevuta dal dispositivo esterno.

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

LINGUAGGI DI PROGRAMMAZIONE

Gestione di files Motivazioni

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp KP Cap. 6 pp

Programmazione Orientata agli Oggetti in Linguaggio Java

Linguaggio C - Funzioni

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Files in C++ Fondamenti di Informatica. R. Basili. a.a

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO V Indice

Primi programmi in C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

puntatori Lab. Calc. AA 2007/08 1

Corso Programmazione 1 Capitolo 01: Concetti Elementari

Introduzione al linguaggio C Gli array

Caratteri e stringhe Esercizi risolti

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Gestione delle stringhe in C

Gestione dei File in C

Linguaggio C. Fondamenti. Struttura di un programma.

IL LINGUAGGIO C++ Configurazione di Dev-C++

Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( )

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 13 Settembre COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio

Introduzione al Linguaggio C

LABORATORIO DI PROGRAMMAZIONE EDIZIONE 1, TURNO B

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Linguaggio C - Stringhe

Richiesta pagina PHP (es: index.php)

Fondamenti di Informatica 2

Corso di Esercitazioni di Programmazione

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 10 Settembre 2013

AE RZT QSO RKPT SQZC

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 9 Settembre 2015

Il calcolatore. Architettura di un calcolatore (Hardware)

Java Native Interface Appunti

INFORMATICA - I puntatori Roberta Gerboni

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

Esercitazione 3. Corso di Fondamenti di Informatica

Gestione dei File. dischi nastri cd

Breve riepilogo della puntata precedente:

Dati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi

SOLUZIONE ESERCIZIO 1

INFORMATICA 1 L. Mezzalira

Codifica: dal diagramma a blocchi al linguaggio C++

Fondamenti di Informatica T. Linguaggio C: i puntatori

FUNZIONI. La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni:

Codifica binaria e algebra di Boole

Sistemi di Numerazione

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Le variabili. Olga Scotti

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

3) Il seguente numerale A1F0 in base 16 a quale numero in base 10 corrisponde?

Appunti di Informatica 1. Gianluca Rossi

Informazione analogica e digitale

Variabili e tipi di dato

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

Appello di Informatica B

Informatica. Rappresentazione dei numeri Numerazione binaria

Struttura di un programma Java

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi

Le system call: fork(), wait(), exit()

Problem solving avanzato

Esercitazione 7. Procedure e Funzioni

Linguaggi di Programmazione

Le stringhe. Le stringhe

MAGAZZINO.CPP January 2, 2008 Page 1

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

FONDAMENTI di INFORMATICA L. Mezzalira

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella

Indice. Introduzione. I tipi aritmetici. Variabili e Tipi Fondamentali in C++ (CAP 2, parte I) Alberto Garfagnini e Marco Mazzocco A.A.

Транскрипт:

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 si vedranno alcuni concetti fondamentali della programmazione in C, utili per scrivere i primi programmmi. Nella prossima Unità si vedrà come provare al computer i programmi realizzati. 3 Informazioni generali Per poter programmare occorre conoscere: l algoritmo risolutivo del problema la struttura del programma gli elementi del programma In carattere grassetto indichiamo le parole chiave del linguaggio, mentre in carattere corsivo si indicano elementi che vengono specificati solo in fase di codifica. Il C è case sentitive ossia distingue tra maiuscolo e minuscolo, quindi bisogna fare attenzione durante la scrittura delle istruzioni. 4 2

Concetti fondamentali Un istruzione è una frase scritta in un determinato linguaggio di programmazione che indica alla macchina un singolo compito da svolgere. Questo compito sarà eseguito quando tutta la sequenza di istruzioni sarà conosciuta dalla macchina. La sequenza di istruzioni costituisce il programma. Eseguire un programma significa svolgere tutte le sue istruzioni in sequenza, partendo dalla prima. 5 Concetti fondamentali I dati su cui il programma opera sono contenuti in: variabili costanti espressioni Il dato contenuto in una variabile può essere modificato al contrario di quello contenuto in una costante. 6 3

Variabili La dichiarazione di una variabile segue la sintassi: tipo ident; dove tipo indica il tipo della variabile, che può essere: int interi char caratteri float numeri reali in semplice precisione double numeri in doppia precisione ident è il nome (identificatore) che il programmatore ha assegnato alla variabile Esempi: int somma; /* Dichiara la variabile di nome somma di tipo int */ int var1, var2; /* Dichiara due variabili, ognuna di tipo int */ Le frasi racchiuse tra /* */ si dicono commenti e sono descritti più avanti 7 Costanti La sintassi per dichiarare le costanti è: dove ident è il nome della costante #define ident espressione espressione può essere un intero, un reale o una stringa costante, #define MESSAGGIO Dato inserito Osservazioni: Con il termine stringa intendiamo una sequenza di caratteri Per convenzione le costanti si indicano con nomi in caratteri MAIUSCOLI 8 4

Espressioni All interno delle istruzioni possono figurare espressioni Una espressione può essere: una costante una variabile una combinazione di espressioni mediante operatori Esempi: 5 è un espressione costante intera 3+6 è un espressione numerica intera X+5 è un espressione variabile a è un espressione costante carattere. Successivamente si vedranno in dettaglio i vari tipi di operatori 9 Struttura di un programma in C #include <stdio.h> int main() { dichiarazioni variabili blocco istruzioni return(0); } Le frasi in corsivo indicano un elemento generico che sarà specificato successivamente nella fase di codifica del programma Questo è il blocco delle dichiarazioni. In questa parte si scrivono alcuni elementi che serviranno in seguito al programma. In questa parte si scrivono in sequenza, le istruzioni che dovranno essere eseguite. 10 5

Istruzioni semplici Iniziamo a considerare le istruzioni semplici: lettura stampa calcolo e assegnazione Un programma formato solo da questi 3 tipi di istruzioni viene sempre eseguito in sequenza dall inizio alla fine. 11 Lettura Lettura dove scanf (formato, ident); formato è una stringa che specifica il tipo del dato della variabile ident ( %d per gli interi, %c per i caratteri, %s per le stringhe, come vedremo tra breve) L istruzione di lettura consente a chi usa il programma di immettere in esso valori mediante la tastiera. Vedremo in seguito il significato del carattere & (detto ampersand) Esempi: scanf ( %d, &numero); /* legge la variabile intera numero */ scanf ( %c, &ch); /* legge il carattere ch */ 12 6

Stampa Stampa printf (formato, ident); dove formato e ident hanno il significato illustrato per la scanf(). L istruzione di stampa consente di emettere a video il valore che in quel momento possiede una qualunque variabile. Esempi: printf ( %c, ch); /* stampa il contenuto di ch */ 13 Stampa Si possono ottenere in stampa effetti speciali mediante le sequenze di escape da abbinare all istruzione printf(). Alcune sono indicate nella tabella. Carattere di escape Effetto \n A capo \a Segnalazione acustica \t Tabulazione orizzontale \b Una battuta indietro \r Ritorno a capo sulla stessa riga \0 Carattere di fine stringa \f Salto pagine \ddd Ottale (d è una cifra ottale) \xdd Esadecimale (d è una cifra esadeimale) \\ Stampa il carattere \ 14 7

Stampa Esempi di sequenze di escape printf ("Emetto un beep (\\a) - premere un tasto \a ); printf ("Emetto un carattere di carriage return (\\r) - premere un tasto\r ); printf ("Questo e' l'uso del tabulatore (\\t)\n ); printf ("Oggi\te'\til\t19\tfebbraio\t1993 - premere un tasto ); printf ("Questo e' il carattere \101 di codice ottale \\101 - premere un tasto ); printf ( Questo e' il carattere \x41 avente codice hex \\x41\n ); printf ( Elenco valori\n ); printf ( Nome\tTel. ); Stampa la frase Elenco valori e va a capo Stampa le stringhe separate dal carattere di tabulazione 15 Lettura e stampa formattate Il formato previsto nelle istruzioni scanf () e printf () serve al programmatore per sceglier il tipo dei dati. Per questo motivo si dicono lettura e stampa formattate. Il formato rappresenta un carattere di conversione. Esempi: scanf ( %d, &valore); /* legge variabile intera */ printf ( %f,area); /* stampa variabile float */ printf ( %s %d, cognome, totale); /* stampa un intero ed una stringa */ printf ( Il quadrato di %d e %d,num, quad_num); 16 8

Lettura e stampa formattate I più comuni caratteri di conversione sono quelli riportati in tabella: Formato %d %f %e %E %c %s %x %p %o Converte in Intero Reale Reale in notazione scientifica Reale in doppia precisione Stringa Esadecimale Indirizzo della variabile Ottale 17 Lettura e stampa formattate In particolare per i caratteri di conversione %d e %f esiste anche la possibilità di indicare la precisione: Esempi: printf ( %3d, somma); /* stampa su 3 posizioni */ printf ( %5.2f, misura); /* stampa di un numero reale su 5 posti con 2 decimali */ 18 9

Assegnazione Assegnazione e calcolo ident = espressione; dove espressione può essere una costante, una variabile o una qualunque espressione che viene assegnata alla variabile ident. Esempi: X = 1; Nome = Rossi ; S = x + y; 19 Le direttive #include <stdio.h> #define RISULTATO "La somma e': %d\n" int main() { int a,b,c; printf("primo valore: ); scanf( %d, &a); printf("secondo valore: ); scanf( %d, &b); c=a+b; printf (RISULTATO, c); getchar(); return 0; } Questo è un esempio di direttiva. Le direttive iniziano con il simbolo #. In questo caso la direttiva serve per includere una libreria. Le librerie sono particolari file che contengono l espansione di alcune istruzioni in modo che il programmatore possa limitarsi a fare solo riferimento ad esse. Nel nostro caso la libreria stdio.h consente di usare le funzioni scanf() e printf() 20 10

Uso di costanti #include <stdio.h> #define RISULTATO "La somma e': %d\n" int main() { } int a,b,c; printf("primo valore: ); scanf( %d, &a); printf("secondo valore: ); scanf( %d, &b); c=a+b; printf (RISULTATO, c); getchar(); return 0; Quest altra direttiva definisce le costante RISULTATO. Una costante è una particolare variabile che assume un valore all inizio del programma e che non varierà più durante tutta l esecuzione. La costante in questo caso ha nome RISULTATO e contiene la stringa "La somma e': %d\n 21 Uso di variabili #include <stdio.h> #define RISULTATO "La somma e': %d\n" int main() { } int a,b,c; printf("primo valore: ); scanf( %d, &a); printf("secondo valore: ); scanf( %d, &b); c=a+b; printf (RISULTATO, c); getchar(); return 0; In questa parte vengono dichiarate le variabili del programma. In questo caso si usano 3 variabili: a,b e c. Queste variabili sono destinate ad ospitare valori interi essendo precedute dal simbolo int. 22 11

Uso dell assegnazione #include <stdio.h> #define RISULTATO "La somma e': %d\n" int main() { } int a,b,c; printf("primo valore: ); scanf( %d, &a); printf("secondo valore: ); scanf( %d, &b); c=a+b; printf (RISULTATO, c); getchar(); return 0; Con questa istruzione si assegna a c il valore della somma tra a e b. espressione può essere una qualunque espressione in senso aritmetico (tra numeri), algebrico (con variabili) o stringa (tra stringhe) 23 I commenti #include <stdio.h> #define RISULTATO "La somma e %d\n ':" int main() { int a,b,c; /* dichiarazione variabili */ printf("primo valore: ); scanf( %d, &a); /* lettura di a */ printf("secondo valore: ); scanf( %d, &b); /* lettura di b */ c=a+b; printf(risultato, c); getchar(); return 0; } Questi sono esempi di commenti. Un commento rappresenta note che il programmatore scrive all interno del programma e che non saranno elaborate durante l esecuzione. La sintassi per i commenti prevede: Il simbolo /* per inizio commento Il simbolo */ per fine commento Un commento può occupare anche più di una riga. 24 12

Terminatore istruzioni #include <stdio.h> #define RISULTATO "La somma e %d\n ':" int main() { int a,b,c; /* dichiarazione variabili */ printf("primo valore: ); scanf( %d, &a); /* lettura di a */ printf("secondo valore: ); scanf( %d, &b); /* lettura di b */ c=a+b; printf(risultato, c); getchar(); return 0; } Si noti che ogni istruzione termina con un simbolo di ;. Questa è una precisa regola sintattica del linguaggio. 25 Argomenti Concetti fondamentali Variabili Costanti Espressioni Struttura di un programma in C Istruzioni semplici Lettura Stampa Lettura e stampa formattate Assegnazione Le direttive Uso di costanti Uso di variabili Uso dell assegnazione I commenti Terminatore istruzioni 26 13

Attività Scrivere un programma che stampi le frasi Prima linea Seconda linea Terza linea Scrivere un programma che leggendo da input le coordinate intere di due punti del piano, calcoli le coordinate del punto medio del segmento che li unisce. 27 Altre fonti di informazione J. Purdum, C - ed. Jackson Romagnoli Ventura, C/C++ - Ed. Petrini 28 14