La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Stringhe di caratteri In linguaggio C.

Presentazioni simili


Presentazione sul tema: "Stringhe di caratteri In linguaggio C."— 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 0 I 1 t 2 i 3 s 4 /0 Nell’esempio viene dichiarato l’array di caratteri nomeScuola e inizializzato con il valore “Itis”. Il numero di elementi dell’array è determinato dalla lunghezza della stringa più 1. L’elemento 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 all’array 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’; L’assegnamento al sesto elemento di nomeScuola del carattere P modifica la stringa che diviene “Itis 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]); 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 dall’utente, 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 <stdio.h> 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."

Presentazioni simili


Annunci Google