Array e Stringhe Linguaggio C.

Slides:



Advertisements
Presentazioni simili
Dati strutturati A. Ferrari.
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità G1 Dati strutturati.
Ripasso R1 Dati strutturati.
Array (vettori) In linguaggio C / C++.
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Process synchronization
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e stringhe Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 8 Aprile 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 26 Marzo 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 14 Marzo 204.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e “stringhe” Marco D. Santambrogio – Ver. aggiornata al 28 Ottobre 2014.
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Approfondimenti di C, Stringhe e file 13 Stringhe.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Fondamenti di Informatica A - Massimo Bertozzi ARRAY E STRINGHE Curiouser and curiouser! Alice's Adventures in Wonderland, Lewis Carrol.
Fondamenti di Informatica A - Massimo Bertozzi LE RAPPRESENTAZIONI CONCATENATE.
1 Simulazione Numerica dei Fenomeni di Trasporto Necessità di introduzione dei tensori  11  12  13  23  21  22 Vogliamo descrivere in un modo che.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Process synchronization
Process synchronization
© 2007 SEI-Società Editrice Internazionale, Apogeo
Unità A2 Java: le basi del linguaggio
Java: concetti e costrutti base
La rappresentazione delle informazioni
Introduzione al linguaggio C
Process synchronization
Tutorato Elementi di Informatica 2013
7. Strutture di controllo Ing. Simona Colucci
Array n-dimensionali e tipi di dati strutturati
Process synchronization
Process synchronization
Organizzazione fisica
I FILES AD ACCESSO SEQUENZIALE
TIPI PRIMITIVI TIPI STRUTTURATI
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
Programmazione e Laboratorio di Programmazione
Java World Cicli e Array.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Le espressioni algebriche letterali
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
I fogli elettronici Microsoft Excel.
APPUNTI SUL LINGUAGGIO C
Process synchronization
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Unità A2 Java: le basi del linguaggio
APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture
La struttura dei primi programma in C
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Le stringhe in C++ Laboratorio 26 Aprile Dott. Serena Villata
Lucidi della Pof.ssa Pazienza
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Unità 1 Programmi base.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Array (vettori) In linguaggio C / C++.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

Array e Stringhe Linguaggio C

Una Frase… un insieme di caratteri Che cosa è una frase? È un insieme di caratteri Come la rappresento? Un insieme, di tante variabili carattere? Una variabile, insieme di caratteri?

Gli Array… insiemi di variabili dello stesso tipo Se una stringa è un insieme di caratteri, questi caratteri vanno tenuti insieme in qualche modo ovvero attraverso un «contenitore» di variabili Un «contenitore» di variabili è definito «array» Il concetto di array è legato a quello di vettore matematico In matematica, un vettore è una entità costituita da componenti tutte appartenenti allo stesso dominio (numeri interi, numeri Reali, ecc..), quindi è una variabile che contiene una collezione di elementi omogenei Anche in un linguaggio di programmazione è possibile definire una variabile con una struttura «speciale», denominata array.

Gli Array… variabili strutturate Nel linguaggio C, come nel caso matematico, un array è una variabile «contenitore» caratterizzata da: Una dimensione (il numero massimo di componenti del vettore) Elementi tutti dello stesso tipo (le componenti appartengono tutte allo stesso dominio) Array di Caratteri Array di Interi

Gli Array

Gli Array (2) Gli elementi di un array sono normali variabili: Si possono usare espressioni come indici:

Un semplice esempio: Array di Interi Scriviamo un semplice programma che consente di: Leggere da input 5 numeri interi arbitrari; Memorizzare questi numeri in un array che chiameremo «v»; Stampare il valore della somma di tutti gli elementi contenuti in «v». Con queste macro-operazioni si osserva: Come si inseriscono gli elementi in un array (scrittura dei dati nell’array) Come si accede agli elementi contenuti nell’array (lettura dei dati dell’array)

Dichiarazione di un Array di Interi

Caricamento degli Elementi in un Array (Scrittura)

Accesso agli Elementi di un Array (Lettura) L’accesso ad un elemento di un array si effettua indicando il nome della variabile array, seguita da una coppia di parentesi quadre tra le quali si inserisce l’indice di posizione dell’elemento desiderato

La funzione completa

Altri modi di «inizializzare» un array Sintassi compatta: Se la lunghezza dell’array è omessa, gli inizializzatori la determinano:

Operazioni sugli Array Si opera sui singoli elementi, uno per volta Non è possibile operare sull’intero array, agendo su tutti gli elementi simultaneamente

… Array di Caratteri: le Stringhe Array di caratteri: spesso chiamati stringhe Quando rappresentano “caratteri da leggersi in fila” Dichiarazione + inizializzazione di una stringa: char stringa [] = “ gatto”; Tutte le stringhe (a differenza degli array numerici) terminano con un carattere speciale denominato carattere nullo ‘\0’; Quindi, la stringa «gatto» ha una lunghezza (dimensione) pari a 6 e non a 5 (5 caratteri «utili» della parola + 1 carattere di terminazione) Dichiarazione equivalente: char stringa [] ={‘g’,’a’,’t’,’t’,’o’,’\0’}; g a t t o /0

Esempio con le stringhe: Inserisci il tuo nome

Stringhe e caratteri Qual è la differenza tra 'x' e "x"? ATTENZIONE 'x' è una costante di tipo char, rappresentata in memoria da un intero "x" è una stringa costante, rappresentata in memoria da un array che contiene i caratteri: 'x' e '\0‘ ATTENZIONE Le stringhe non sono propriamente un tipo di dato (non sono un tipo base o primitivo!) Non hanno operatori nativi, ma una serie di funzioni nella libreria standard che permettono di manipolarle

Alcune operazioni sulle stringhe Per lavorare con le stringhe, il linguaggio C mette a disposizione dell’utente un insieme di funzioni Tali funzioni (copia, ricerca di caratteri, estrazione di sottostringhe, ad esempio) sono accessibili attraverso l’inclusione della libreria «string.h»

Operazioni su stringhe

Particolarità delle stringhe Il nome dell’array rappresenta l’indirizzo del suo primo elemento, perciò quando ci si vuole riferire all’intero array nella «scanf()»non si mette il simbolo &! scanf("%s", stringa); Questa scanf legge in input i caratteri fino a quando trova il carattere “blank” (lo spazio), o l’invio; Perciò se nel buffer si trova una stringa “troppo lunga”, essa è memorizzata oltre la fine dell’array !!! Ed è un errore grave !!!