Stringhe di caratteri
|
|
|
- Andrea Neri
- 9 anni fa
- Просмотров:
Транскрипт
1 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 (\)! printf( cogito\ ergo sum ); /*stampa cogito ergo sum*/! Il C tratta le variabili stringhe come vettori di caratteri! Una stringa di lunghezza n richiede n+1 byte: un byte per ogni carattere + il carattere null (\0)! Stringa abc stringa vuota a b c \0 \0 2
2 Variabili stringhe: Inizializzazione! Si inizializzano al momento della dichiarazione tramite i doppi apici! char data[9]= Marzo 10 ; data M a r z o 1 0 \0! Equivale a char data[9]= { M, a, r, z, o,, 1, 0, \0 ; 3 Variabili stringhe: Inizializzazione! Se l inizializzatore è più corto del vettore:! char data[10] = Marzo 10 ; data M a r z o 1 0 \0 \0! Se non c è spazio per memorizzare il carattere null:! char data[8] = Marzo 10 ; data M a r z o 1 0! Se la lunghezza della stringa coincide con la lunghezza del vettore, la dimensione può essere omessa! char data[]= Marzo 10 ; 4
3 Visualizzare una stringa! char str[] = Cogito ergo sum ; printf( %s,str);! La funzione printf visualizza i caratteri nella stringa fino a quando non incontra il carattere nullo! Per stampare solo una parte della stringa char str[] = Cogito ergo sum ; printf( %.6s,str); /* stampa cogito */! È definita in stdio.h int puts(const char *str);! Esempio di uso: puts(str); 5 Acquisire una stringa! char str[10]; scanf( %s,str); scanf( %9s, str); Salta i caratteri di spaziatura Acquisisce tutti i caratteri salvandoli in str fino ad un carattere di spaziatura Aggiunge alla fine il carattere nullo char *gets(char *s); È definito in stdio.h Non salta i caratteri di spaziatura Acquisisce i caratteri salvandoli in str fino al carattere new-line Scarta il carattere new-line e aggiunge alla fine il carattere nullo! Esempio di uso: gets(str); 6
4 Acquisire una stringa! È possibile acquisire una stringa iterando l acquisizione di un carattere int getchar(void); È definita in stdio.h Acquisisce un carattere da stdin Restituisce la rappresentazione intera del carattere! Esempio di uso: char c; c = getchar(); 7 Acquisire una stringa #define DIM 10 int ch, i; char str[dim]; while ((ch = getchar())!= '\n') if (i < DIM - 1) str[i++] = ch; str[i] = '\0'; printf("\nla stringa acquisita e': %s", str); 8
5 Copiare una stringa #define DIM 50 int i, n; char v1[dim], v2[dim] = { \0 ; gets(v1); for (n = 0; n < DIM && v1[n]!= \0 ; n++); for (i = 0; i < n; i++) v2[i] = v1[i]; printf("%s\n", v2); 9 Esempio: uso di vettori e stringhe #define DIM 50 int i; char parola[dim]; gets(parola); for (i = 0; i < DIM; i++) { if (parola[i] >= 'a' && parola[i] <= 'z') parola[i]-=32; printf("%s\n", parola); 10
6 Esempio: uso di vettori e stringhe #define DIM 50 int i, count=0; char trova, parola[dim]; scanf( %50s, parola); scanf("%c", &trova); for (i = 0; i < DIM; i++) if (parola[i] == trova) { printf( Trovato %c in posizione %d\n", parola[i], i); count++; printf("\n - trovate %d occorrenze\n", count); 11 Vettori di stringhe! Vettori bidimensionali per memorizzare sequenze di stringhe! char giorni[][10] = { Lunedì, Martedì, Mercoledì, Giovedì, Venerdì, Sabato, Domenica ; giorni L u n e d ì \0 \0 \0 \0 M a r t e d ì \0 \0 \0 M e r c o l e d ì \0 G i o v e d ì \0 \0 \0 V e n e r d ì \0 \0 \0 S a b a t o \0 \0 \0 \0 D o m e n i c a \0 \0! for (i=0; i < 7; i++) printf( %s\n, giorni[i]); 12
7 Esempio: uso di matrici e stringhe #define DIM1 50 #define DIM2 20 int mat[dim1][dim2], i, j, max = 0, best; for(i = 0; i < DIM1; i++) { gets(mat[i]); for(j = 0; j < DIM2 && mat[i][j]!= \0 ; j++); if (j < max) { max = j; best = i; printf( %s, mat[best]); 13 Esercizi: Stringhe e Vettori! Es 1: Acquisire da tastiera una parola. Salvare la parola in un vettore di caratteri di 50 caratteri. Stampare il numero di vocali e di consonanti che formano la parola.! Es 2: Acquisire da tastiera una parola. Salvare la parola in un vettore di 50 caratteri e stampare a video una nuova stringa ottenuta trasformando i caratteri maiuscoli in minuscoli e viceversa i caratteri minuscoli in maiuscoli.! Es 3: Acquisire da tastiera una frase (contenente al più 50 caratteri). Stampare a video il numero di caratteri e di parole nella frase. (Nota: Una nuova parola inizia se il carattere sotto esame è alfabetico mentre il precedente non lo è.) 14
8 Esercizi: Stringhe e Vettori! Es 4: Acquisire da tastiera una parola (formata da lettere minuscole) e stampare a video per ogni lettera dell alfabeto quante volte la lettera appare nella parola.! Es. 5: Acquisire da tastiera due parole e verificare se la seconda parola equivale alla prima parola letta al contrario.! Es. 6: Acquisire da tastiera una frase (contenente al più 50 caratteri minuscoli) ed un numero interno positivo (negativo) n. Cifrare la frase sostituendo a ciascun carattere un nuovo carattere posto n posizioni avanti (indietro) nell alfabeto. Inserisci una frase: zorro era matto Inserisci un numero intero: 3 La frase cifrata e : cruur hud pdwwr 15 Esercizi: Stringhe e Matrici! Es 7: Acquisire da tastiera cinque parole. Salvare le cinque parole in una matrice di 5 righe e 50 colonne. Stampare il numero di vocali e di consonanti che formano ciascuna parola.! Es 8: Acquisire da tastiera cinque parole. Salvare le cinque parole in una matrice di 5 righe e 50 colonne. Successivamente acquisire da tastiera un ulteriore lettera (ripetendo l acquisizione del carattere finché questo è una lettera) e stampare le posizioni occupate dalla lettera all interno della matrice e il numero di occorrenze.! Es 9: Acquisire da tastiera cinque parole. Salvare le cinque parole in una matrice di 5 righe e 50 colonne. Stampare la parola con il maggior numero di vocali. 16
Cicli annidati ed Array multidimensionali
Linguaggio C Cicli annidati ed Array multidimensionali Cicli Annidati In C abbiamo 3 tipi di cicli: while(exp) { do { while(exp); for(exp;exp;exp3) { Cicli annidati: un ciclo all interno del corpo di un
5 Stringhe. Esiste una libreria di C che gestisce le stringhe string.h essa ci permette di:
Le stringhe di caratteri sono gestite in C come dei vettori di char con alla fine un tappo dato dal carattere \0. E possibile acquisire un intera stringa di caratteri in una sola istruzione grazie all
Stringhe in C. Emilio Di Giacomo
Stringhe in C Emilio Di Giacomo Stringhe Una stringa è una sequenza finita di caratteri Le stringhe sono un tipo di dati talmente importante e utile che fanno parte di quasi tutti i linguaggi di programmazione
Caratteri e stringhe. Esercizi proposti. Esercizio Parola palindroma Esercizio Iniziali maiuscole Esercizio Alfabeto farfallino
Caratteri e stringhe Esercizio Parola palindroma Esercizio Iniziali maiuscole Esercizio Alfabeto farfallino 2 2006 Politecnico di Torino 1 Esercizio Parola palindroma Sia data una parola inserita da tastiera.
I CARATTERI E LE STRINGHE
I CARATTERI E LE STRINGHE 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
STRINGHE: ARRAY DI CARATTERI! 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ù
Esercizi proposti. Caratteri e stringhe. Esercizio Parola palindroma. Esercizi proposti. Palindromia. Analisi. o t t o. m a d a m
Esercizio Parola palindroma Esercizio Iniziali maiuscole Esercizio Alfabeto farfallino Caratteri e stringhe 2 Esercizio Parola palindroma Sia data una parola inserita da tastiera. Si consideri che la parola
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
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 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
Caratteri e stringhe
Caratteri e stringhe Il tipo char Variabili char Input/output di char Operazioni sui char Esercizio Quadrati di lettere 2 Il tipo char Variabili char I caratteri in C si memorizzano in variabili di tipo
Array multidimensionali e stringhe
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi
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
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
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
Esercizi. Stringhe. Stringhe Ricerca binaria
Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)
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)
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
Array Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione
Array Tipi di dato semplici e strutturati i tipi di dato visti finora erano tutti semplici: int, char, float,... i dati manipolati sono spesso complessi (o strutturati) con componenti elementari o strutturate
stringhe array monodimensionali char. libreria < string.h>
Le stringhe Le stringhe sono array monodimensionali il cui tipo base è char. Il nucleo del linguaggio non prevede particolari istruzioni per il trattamento delle stringhe che potrebbero essere gestite
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
Laboratorio di informatica Ingegneria meccanica
Laboratorio di informatica Ingegneria meccanica Esercitazione 6 7 novembre 2007 Correzione di un programma Un programma può contenere errori sintattici e/o errori logici. Gli errori sintattici vengono
Linguaggio C: Array Valeria Cardellini
Linguaggio C: Array Valeria Cardellini Corso di Calcolatori Elettronici A.A. 2018/19 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Array in C q Dichiarazione
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
Lezione 8: Stringhe ed array multidimensionali
Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si
Informatica 1. Prova di recupero 21 Settembre 2001
Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo
Esercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
Esercizi sulle stringhe
Esercizi sulle stringhe Esercizio 1 La cifratura è un processo di sostituzione, permutazione manuale ed automatica di simboli. Lo scopo di un criptosistema è di cifrare un testo intellegibile (in chiaro)
Esercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind
L AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using
Presenze del mese di Gennaio 2012. Sede tirocinio Attività svolta Firma tirocinante
Università degli Studi di Cagliari - Direzione per le Relazioni Internazionali - Sett Mobilità Studentesca e Fund Raising Presenze del mese di Gennaio 2012 N 01 domenica 02 lunedì 03 martedì 04 mercoledì
Soluzione/* PROGRAMMAZIONE IN C */ #include <stdio.h> #include <stdlib.h>
Ricerca di un elemento in vettore Scrivere un programma in linguaggio C che riceve in ingresso una sequenza di N numeri interi. I numeri sono memorizzati in un vettore. Il valore N è inserito dall utente,
