La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Stringhe di caratteri In linguaggio C. Stringhe Un insieme di caratteri in sequenza forma una stringa Alcuni linguaggi definiscono per le stringhe uno.

Presentazioni simili


Presentazione sul tema: "Stringhe di caratteri In linguaggio C. Stringhe Un insieme di caratteri in sequenza forma una stringa Alcuni linguaggi definiscono per le stringhe uno."— Transcript della presentazione:

1 Stringhe di caratteri In linguaggio C

2 Stringhe Un insieme di caratteri in sequenza forma una stringa Alcuni linguaggi definiscono per le stringhe uno specifico tipo di dato e offrono metodi specifici per gestire valori di quel tipo. Il linguaggio C non fornisce un tipo di dato specifico per le stringhe che vengono trattate come array di caratteri. char nomeStudente[10];

3 Le stringhe in C char nomeScuola[]=Itis nomeScuola 0I 1t 2i 3s 4/0 Nellesempio viene dichiarato larray di caratteri nomeScuola e inizializzato con il valore Itis. Il numero di elementi dellarray è determinato dalla lunghezza della stringa più 1. Lelemento in più è necessario al linguaggio per memorizzare il carattere terminatore di stringa: \0, conosciuto come il carattere null.

4 Un esempio

5 Inizializzazione

6 Stringhe e … caratteri Attenzione alla differenza tra le seguenti dichiarazioni con inizializzazione. char nota = 'C'; che assegna alla variabile nota di tipo char il valore C char nota[] = "C"; che assegna allarray nota[] la stringa di due caratteri C\0 Un carattere inserito tra apici singoli è trattato come un singolo carattere.

7 Selezione di un carattere … char nomeScuola[] = Itis parma"; nomeScuola[5] = P; Lassegnamento al sesto elemento di nomeScuola del carattere P modifica la stringa che divieneItis Parma. Il carattere terminatore \0 consente di gestire le stringhe senza conoscerne a priori la dimensione.

8 Caratteri e codici ASCII In linguaggio C char nomeScuola[] = Itis Parma"; int i=0; while(nomeScuola[i]!=\0){ printf(carattere %c ASCII %d\n, nomeScuola[i], nomeScuola[i]); printf(carattere %c ASCII %d\n, nomeScuola[i], nomeScuola[i]); i++; i++;}… Il codice visualizza ogni elemento sia sotto forma di carattere che di codice ASCII

9 Esempio funzione che ritorna il numero di caratteri presenti in una stringa

10 Problema Problema: concatenare due parole immesse dallutente, aggiungendo la seconda alla prima e inserendo tra le due un carattere spazio. Input: due parole. Output: visualizzare la stringa frutto della concatenazione.

11 // Concatenazione di stringhe #include int main() { char p1[25],p2[25],p3[50];//le tre stringhe int i,j;//indici per scorrere i caratteri printf("Inserisci la prima parola"); scanf("%s,p1); printf("Inserisci la seconda parola"); scanf("%s,p2); for(i=0;p1[i]!='\0';i++) p3[i]=p1[i];//copio i caratteri della prima parola p3[i]=' ';//inserisco uno spazio i++; for(j=0;p2[j]!='\0';j++) p3[i+j]=p2[j]; p3[i+j]='\0';//inserisco il terminatore printf(%s,p3); }

12 Libreria string.h La libreria string.h rende disponibili molte funzioni standard per gestire le stringhe.: strcpy(stringa1, stringa2) copia stringa2 su stringa1; strncpy(stringa1, stringa2, n) copia i primi n caratteri di stringa2 in stringa1; strcat(stringa1, stringa2) concatena stringa2 a stringa1; strcmp(stringa1, stringa2) confronta stringa2 con stringa1, se sono uguali restituisce 0, se stringa1 è maggiore di stringa2 un valore positivo, altrimenti un valore negativo; intero = atoi(stringa) converte una stringa in un intero; reale = atof(stringa) converte una stringa in un valore in virgola mobile double; intero = strlen(stringa) conta il numero di caratteri di una stringa;


Scaricare ppt "Stringhe di caratteri In linguaggio C. Stringhe Un insieme di caratteri in sequenza forma una stringa Alcuni linguaggi definiscono per le stringhe uno."

Presentazioni simili


Annunci Google