I CARATTERI E LE STRINGHE

Размер: px
Начинать показ со страницы:

Download "I CARATTERI E LE STRINGHE"

Транскрипт

1 I CARATTERI E LE STRINGHE

2 IL CODICE ASCII Per memorizzare i simboli grafici corrispondenti ai caratteri bisogna associare un numero intero a ciascuno di essi Il codice ASCII / æski/ (American Standard Code for Information Interchange) è una tabella che elenca le corrispondenze tra simboli grafici e numeri (es. A - 65, B - 66) I numeri del Codice ASCII standard sono a 7 bit: 2 7 =128 caratteri diversi

3 IL CODICE ASCII

4 IL CODICE ASCII Poiché i bit vengono considerati a gruppi di 8 (byte) e non di 7, il codice ASCII viene modificato così da usare valori di 8 bit, questo raddoppia il numero di codici utilizzabili che passano a 256 I 128 caratteri aggiuntivi (con codice da 128 a 255) vengono utilizzati per altri simboli grafici meno comuni (es. le lettere accentate, à, ë, î) La parte aggiunta non è standard ed è diversa per ciascun sistema operativo Può essere diversa anche nello stesso sistema operativo a seconda della lingua

5 CARATTERI Per memorizzare un carattere, il C memorizza il numero intero corrispondente al suo codice ASCII ('A' equivale a 65, '0' a 48, ecc.) Costanti carattere: indicate tra apici singoli ('A'), oppure indicandone il codice ASCII in: decimale: 65 ottale: '\101' esadecimale: '\0x41' Le costanti di tipo carattere vengono anche chiamate letterali carattere (character literal )

6 CARATTERI Essendo numeri interi, i caratteri possono essere usati nelle operazioni: x = c '0'; se c contiene il codice ASCII di una cifra, c '0' ne è il valore corrispondente Esempio Se c='7', allora '7' '0' viene valutato come 55 48, cioè il valore 7 (il risultato è di tipo int per effetto delle promozioni integrali)

7 CARATTERI Variabili carattere: variabili di tipo intero su 8 bit, sono definite di tipo char Tutte le assegnazioni precedenti sono equivalenti ed assegnano il carattere 'A' (codice ASCII 65) alla variabile y

8 CARATTERI y può essere usata sia come numero (65) sia come carattere ('A'): printf("%c ha valore %d\n", y, y); dove la specifica %c serve per visualizzare il simbolo corrispondente ad un codice ASCII, mentre la specifica %d visualizza un numero intero, questo visualizza: A ha valore 65

9 CARATTERI Alcuni caratteri speciali si possono anche ottenere utilizzando le sequenze di escape: Caratteri speciali: \' \" \? \\ Ad es. per introdurre l apice in una variabile char si deve scrivere '\'' dove il carattere di escape \ permette di considerare l apice che lo segue come carattere normale e non come delimitatore di una costante di tipo carattere char apice = '\''; Poiché il carattere \ ha un significato speciale, quando esso serve come carattere normale deve essere raddoppiato (anche nelle stringhe) char backslash = '\\';

10 CARATTERI I caratteri corrispondenti ai caratteri di controllo del codice ASCII non hanno un aspetto grafico, ma quando vengono visualizzati producono un effetto quale un beep, un ritorno a capo, ecc. Si possono facilmente ottenere mediante sequenze di escape (oppure si indicano con il codice ASCII in decimale, ottale o esadec.)

11 CARATTERI \a - quando viene visualizzato fa emettere un beep \n - corrisponde al carattere new line \r - corrisponde al carattere carriage return \t - corrisponde al carattere Tab char beep = '\a';

12 STRINGHE Sono vettori di char terminati da un carattere di codice ASCII pari a 0 (il terminatore non è il carattere '0' che ha valore 48 nel codice ASCII, ma il carattere '\0') Le terminate da uno 0 vengono anche dette stringhe ASCIIZ, il linguaggio C ha solo questo tipo di stringhe

13 STRINGHE Stringhe costanti Sono sequenze di caratteri racchiuse da doppi apici, la stringa "ciao ciao" è composta da 9+1 caratteri, l ultimo è '\0' Per includere in una stringa i caratteri \ e " è necessario precederli dal carattere di escape \ "vero\\falso" memorizza: vero\falso "premi \"invio\" per terminare" memorizza: premi "invio" per terminare Una stringa costante viene anche chiamata letterale stringa (string literal)

14 STRINGHE Più stringhe costanti consecutive (separate da nulla, spazi, Tab o ritorni a capo) vengono concatenate dal compilatore in una sola: "ciao" "ciao" "ciao" "ciao" viene memorizzata come fosse scritta così: "ciaociaociaociao" (17 caratteri) Una stringa costante è un vettore di char di classe di allocazione static (quindi non modificabile) inizializzato con i caratteri dati

15 STRINGHE Variabili stringa Sono vettori di char di dim. fissa, l ultimo carattere deve essere il terminatore '\0' char nome[15]; definisce una variabile stringa composta di 15 char, può contenere fino a 14 caratteri utili (deve esserci spazio per il carattere '\0') Il 1 o carattere è nome[0], il 2 o nome[1], ecc. Il terminatore permette di occupare solo parzialmente una stringa (lo spazio relativo ai restanti caratteri esiste ma è inutilizzato)

16 STRINGHE La lunghezza di una stringa è il numero di caratteri contenuti (fino al '\0' escluso), non la sua capienza Si noti la differenza tra: 'a' il carattere 'a' (il numero 97) "a" la stringa contenente 'a' e '\0' Essendo una stringa un vettore di char, il nome di una stringa viene usato dal compilatore come sinonimo dell indirizzo di memoria del primo carattere

17 STRINGHE Si possono inizializzare le variabili stringa in 2 modi equivalenti: char s[20]="ciao"; char s[20]={'c','i','a','o'}; Il carattere di posizione 4 (il 5 o ) è '\0' in entrambi i casi: infatti, essendo vettori, se l inizializzazione non riempie completamente la stringa, i caratteri successivi a quelli indicati sono tutti 0 (cioè '\0')

18 STRINGHE I singoli elementi della stringa sono caratteri: s[2] vale 'a' s[0] = 'M'; modifica s in "Miao" Per assegnare una stringa NON si può scrivere s="ciao" ma serve una funzione

19 I/O DI CARATTERI <STDIO.H> printf("%c", varchar); manda in output il carattere scanf("%c", &varchar); legge 1 carattere (anche spazi e ritorni a capo) e lo mette in varchar, se viene indicata un ampiezza (es. %4c) legge esattamente quel numero di caratteri (anche spazi) e li assegna alla STRINGA indicata come parametro, senza aggiungere il '\0': scanf("%4c", varstringa); per saltare gli spazi iniziali si usi %1s

20 I/O DI CARATTERI <STDIO.H> putchar(varchar); manda in output il carattere varint = getchar(); getchar restituisce il carattere letto o la costante EOF per segnalare la fine dell input, varint deve essere di tipo int per potervi memorizzare anche EOF che è di tipo int. EOF è una costante simbolica definita in <stdio.h> con una #define, in genere vale 1

21 I/O DI CARATTERI <STDIO.H> puts(varstringa); visualizza varstringa e aggiunge un '\n' alla fine (cioè va a capo). Dà EOF in caso di errore gets(varstringa); legge da tastiera tutta la stringa in input (spazi e Tab inclusi) fino al ritorno a capo incluso, la mette in varstringa senza il '\n', aggiunge '\0' alla fine. Dà NULL in caso di errore o di fine file

22 I/O DI CARATTERI <STDIO.H> printf("%s", varstringa); %s visualizza una stringa (che può contenere spazi, Tab, '\n', ecc.) fino al '\0' o al numero di caratteri indicato (es. %4s)

23 I/O DI CARATTERI <STDIO.H> scanf("%s", varstringa); -> SENZA & %s salta i white space (spazi, Tab, '\n', ecc.) iniziali e legge solo fino al primo white space (che lascia nel buffer), per leggere il primo carattere saltando i white space iniziali si usi %1s (richiede una variabile stringa)

24 I/O DI CARATTERI <STDIO.H> Un qualsiasi white space nella stringa di formato richiede che tutti i white space in quel punto dell input vengano saltati (quindi anche il carattere '\n' non viene considerato come carattere ordinario: non indica affatto alla scanf che deve attendere un ritorno a capo)

25 I/O DI CARATTERI <STDIO.H> Una specifica di conversione della forma %[abc] equivale a una %s salvo che: si ferma solo quando trova un carattere diverso da quelli dell insieme (scanset ) indicati tra le parentesi quadre (notare che lo scanset può includere lo spazio e il ritorno a capo) non salta i white-space iniziali Esempio scanf("%[abcfrq]", s); Se si dà in input abbaino, s contiene abba mentre ino resta disponibile per le successive funzioni di input

26 I/O DI CARATTERI <STDIO.H> Per specificare il complementare di uno scanset si usa il carattere ^ come segue: %[^abc] la lettura si ferma solo quando trova un carattere uguale a uno di quelli indicati tra le parentesi quadre. Se si dà in input albero alla funzione: scanf("%[^nmrst]", s); s contiene albe mentre ro resta disponibile per le successive funzioni di input

27 I/O DI CARATTERI <STDIO.H> Per leggere una stringa fino a fine riga utilizzando una scanf si può quindi utilizzare la specifica %[^\n]%*c che legge tutti i caratteri che trova finché non incontra il ritorno a capo '\n', la parte %*c legge e scarta (non memorizza) il ritorno a capo

28 I/O DI CARATTERI <STDIO.H> Se si danno in input più caratteri di quelli che la variabile stringa può contenere, si va in buffer overflow e si possono avere comportamenti anomali Soluzione non preventiva: richiedere al compilatore di aggiungere controlli opportuni

29 I/O DI CARATTERI <STDIO.H> Soluzioni preventive: Non si può evitare il problema della gets, ma questa può essere sostituita da una fgets nella quale invece si può specificare il numero massimo di caratteri da leggere Se si usa una scanf, si può specificare la dimensione massima del campo in input: es. %20s

Caratteri e stringhe

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

Подробнее

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

Подробнее

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

Подробнее

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

Подробнее

Variabili e Istruzioni

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

Подробнее

Stringhe e allocazione dinamica della memoria

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

Подробнее

File binari e file di testo

File 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

Подробнее

Alfabeto ed elementi lessicali del linguaggio C

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

Подробнее

Il codice ASCII. I caratteri e le stringhe. Il codice ASCII standard. Il codice ASCII standard

Il codice ASCII. I caratteri e le stringhe. Il codice ASCII standard. Il codice ASCII standard I caratteri e le stringhe Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Il codice ASCII Per memorizzare i simboli grafici corrispondenti ai caratteri bisogna associare un numero intero

Подробнее

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Vettori di caratteri Il tipo stringa Terminatore nullo Input/output di stringhe 2 Vettori di caratteri Stringhe in C Nel linguaggio C non è supportato esplicitamente alcun tipo di

Подробнее

Caratteri e stringhe. Vettori di caratteri. Il tipo stringa Terminatore nullo Input/output di stringhe Politecnico di Torino 1

Caratteri e stringhe. Vettori di caratteri. Il tipo stringa Terminatore nullo Input/output di stringhe Politecnico di Torino 1 Caratteri e stringhe Il tipo stringa Terminatore nullo Input/output di stringhe 2 2006 Politecnico di Torino 1 Stringhe in C Nel linguaggio C non è supportato esplicitamente alcun tipo di dato stringa

Подробнее

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

Подробнее

Esercitazione 6. Array

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

Подробнее

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Подробнее

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 è

Подробнее

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

Подробнее

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

Подробнее

Stringhe di caratteri

Stringhe di caratteri Linguaggio C Stringhe di caratteri 1 Variabili e costanti stringa! Una stringa letterale è una sequenza di caratteri racchiusa tra doppi apici! Può essere scritta su più righe utilizzando il backslash

Подробнее

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C

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

Подробнее

Linguaggio C: PUNTATORI

Linguaggio C: PUNTATORI Linguaggio C: PUNTATORI I puntatori sono una delle più importanti caratteristiche del linguaggio C. Permettono di lavorare a basso livello, mantenendo flessibilità e praticità. Il C utilizza molto i puntatori

Подробнее

Lettura da tastiera e scrittura su monitor

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

Подробнее

<programma> ::= {<unità-di-traduzione>} <main> {<unità-di-traduzione>}

<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

Подробнее

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

Подробнее

Problema. Vettori e matrici. Vettori. Vettori

Problema. Vettori e matrici. Vettori. Vettori e matrici Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Problema Si vuole un programma che chieda 10 numeri dalla tastiera e li visualizzi dall ultimo al primo Soluzione attuale (con le

Подробнее

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi

Informatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi Informatica 1 Corso di Laurea Triennale in Matematica Gianluca Rossi [email protected] Dipartimento di Matematica Università di Roma Tor Vergata 11: Stringhe (www.informatica-uno.blogspot.com)

Подробнее

La rappresentazione delle informazioni

La rappresentazione delle informazioni La rappresentazione delle informazioni In queste pagine cercheremo di capire come sia possibile rappresentare mediante numeri e memorizzare in un file testi, immagini, video, suoni... Il computer per lavorare

Подробнее

Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0

Una 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

Подробнее

Linguaggio C: introduzione

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

Подробнее

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni

Подробнее

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=

Подробнее

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

Подробнее

Scrittura formattata - printf

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

Подробнее

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

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

Подробнее

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

Подробнее

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

Подробнее

Lezione 10. L arte della programmazione

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

Подробнее

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;

Подробнее

Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.

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

Подробнее

Il tipo char ha dimensione di un byte e contiene il numero di codice ASCII che gli corrisponde.

Il tipo char ha dimensione di un byte e contiene il numero di codice ASCII che gli corrisponde. Il tipo char ha dimensione di un byte e contiene il numero di codice ASCII che gli corrisponde. Un letterale di tipo carattere deve essere sempre racchiuso tra virgolette semplici, ad esempio: a. Oltre

Подробнее

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Подробнее

Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.

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

Подробнее

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

Подробнее

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

Подробнее

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono La codifica binaria Fondamenti di Informatica Introduzione q Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni

Подробнее

Variabili. Tipi di dati di base. Variabili. Variabili

Variabili. Tipi di dati di base. Variabili. Variabili Variabili 2 Tipi di dati di base Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Porzioni di memoria RAM usate per mantenere dati variabili nel tempo La definizione di una variabile riserva

Подробнее

La gestione dei caratteri in C

La gestione dei caratteri in C in C In C i caratteri sono gestiti mediante variabili di tipo char (interi a 8 bit) Ad ogni carattere corrisponde un codice numerico ASCII (American Standard Code for Information Interchange) Un esempio

Подробнее

Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo.

Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo. Ogni variabile in C è una astrazione di una cella di memoria a cui corrisponde un nome, un contenuto e un indirizzo. int a = 5; a 5 α=&a Esistono in C particolari variabili dette puntatori che possono

Подробнее

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere

Подробнее

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

Подробнее

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea

Подробнее

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base

modificato da andynaz Cambiamenti di base Tecniche Informatiche di Base Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero

Подробнее

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Подробнее

Uso avanzato dei puntatori Allocazione dinamica della memoria

Uso avanzato dei puntatori Allocazione dinamica della memoria Uso avanzato dei puntatori Allocazione dinamica della memoria Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Подробнее

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

Подробнее

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

Подробнее

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni [email protected] Programmazione prof. Domenico

Подробнее