Caratteri e stringhe in C: scheda riassuntiva

Documenti analoghi
Caratteri e stringhe

Funzioni di libreria. Caratteri e stringhe. Librerie sulle stringhe. Funzioni di libreria. Rappresentazione. Suggerimenti

Caratteri e stringhe. Funzioni di libreria

Tipi di dato. Funzioni. Il sistema dei tipi C. Tipi di dato. Quanti bit? I tipi interi in C

Riferimenti al materiale

Dispensa 13 CORSO DI PROGRAMMAZIONE A.A CORSO DI LAUREA IN INGEGNERIA E SCIENZE INFORMATICHE CESENA. Laboratorio

Codifica dei Tipi di Dati in Linguaggio C

Stringhe in C. Emilio Di Giacomo

Caratteri e stringhe. Programmazione in C. Riferimenti al materiale

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Caratteri e stringhe

Stringhe. Una stringa è una sequenza di caratteri. Esempi: printf( Sum = %d, s); #define ERR_PREFIX ***** Error -

Settimana n.8. Contenuti. Obiettivi Caratteri Vettori di caratteri Stringhe

Introduzione alle operazioni di I/O con formato e tipi primitivi

Caratteri e stringhe

Laboratorio di informatica Ingegneria meccanica

LA CODIFICA LORENZO BRACCIALE

Caratteri e stringhe

Corso sul linguaggio C Modulo Tipi di dato



Primi programmi in C


Tipi di dato in C. Ogni variabile in C ha associato un tipo, questo permette di:

Tipi di dato in C. Ogni variabile in C ha associato un tipo, questo permette di:

Operazioni elementari sulle stringhe

Introduzione al linguaggio C Primi programmi

Lezione 6: Funzioni di I/O avanzate

ELEMENTI DI INFORMATICA. Linguaggio C

Linguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin

Cap. 7: Tipi di base. Tipi di base

Lezione XI Le stringhe

Variabili. Tipi di dati di base. Variabili. Variabili

Stringhe. Concetti chiave

Dichiarazioni e tipi predefiniti nel linguaggio C

Capitolo 8 Caratteri e Stringhe

Ingresso ed Uscita in C. Informatica 1 / 15

Lezione 7 e 8. - Tipi di dato built-in - Rappresentazione numerica - Rappresentazione dei caratteri - Vettori e matrici - Stringhe

Lezione 8: Stringhe ed array multidimensionali

Introduzione al C. Unità 8 Stringhe. S. Salza, C. Ciccotelli, D. Bloisi, S. Peluso, A. Pennisi

Capitolo 8 - Caratteri e Stringhe

Introduzione al C. Unità 8 Stringhe

Laboratorio di Informatica

Ingresso ed Uscita in C. Luca Abeni

Marta Capiluppi Dipartimento di Informatica Università di Verona

Tipi di dato semplici

Laboratorio di Informatica

Variabili, tipi, espressioni in C. Emilio Di Giacomo

Operazioni sulle stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione

Il linguaggio C. Caratteristiche generali

Input/Output. Lettura e scrittura Caratteri e Stringhe: Terminale e file. Input/output. caratteri stringhe formattato ascii binari

I CARATTERI E LE STRINGHE

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Lezione 5: Introduzione alla programmazione in C

Stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Dati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi

Settimana n.9. Obiettivi Stringhe Matrici Vettori di Stringhe

Rappresentazione di interi

Concetti di Base sul Linguaggio C. Prof.Ing.S.Cavalieri

Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori

Formattazione avanzata. Modificatori di formato in output Modificatori di formato in input Stream predefiniti

Le parole chiave char, int, float, double, ed enum descrivono i. che modificano i tipi base

Elementi di Programmazione in C++

Laboratorio di Informatica

Corso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio

Tipi e Valori. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane

Caratteri e stringhe

Programmazione (imperativa)

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III.2018, PARTE 2.

Laboratorio di Programmazione

LIBRERIE STANDARD in C. LIBRERIE STANDARD in C

Introduzione al C. Unità 8 Stringhe. D. Bloisi, S. Peluso, A. Pennisi, S. Salza

Introduzione al Linguaggio C

Tipi di dato primitivi

LIBRERIE STANDARD in C Le librerie standard

Elementi di Informatica

Fondamenti di Linguaggio C

Linguaggio C. Dr. Damiano Macedonio Dipartimento di Informatica Università di Verona

Assegnamento. Ricordiamo che l esecuzione di x = exp corrisponde a: Esempio: somma = 5; a = 2; somma = somma + a; somma 5 = 7 a 2 2

Marta Capiluppi Dipartimento di Informatica Università di Verona

Stringhe. Unità 8. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Tipi e Valori. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Università degli Studi di Milano

Capitolo 7. Tipi di base

Transcript:

Codice ASCII a 7 bit 0 16 32 48 64 80 96 112 0x 1x 2x 3x 4x 5x 6x 7x 0 x0 NUL 0 @ P p 1 x1! 1 A Q a q 2 x2 " 2 B R b r 3 x3 # 3 C S c s 4 x4 $ 4 D T d t 5 x5 % 5 E U e u 6 x6 & 6 F V f v 7 x7 BEL 7 G W g w 8 x8 BS ( 8 H X h x 9 x9 TAB ) 9 I Y i y 10 xa LF * : J Z j z 11 xb ESC + ; K [ k { 12 xc FF, < L \ l 13 xd CR - = M ] m } 14 xe. > N ˆ n 15 xf /? O _ o DEL Variabili di tipo char Definizione char ch ; Assegnazione ch = K ; ch = 75 ; Lettura scanf("%c", &ch) ; ch = getchar() ; Stampa prf("%c", ch) ; putchar(ch) ; Sequenze di escape \n A capo \t Tabulazione \b Backspace (cancella ultimo carattere) \a Campanello (alert) \r Ritorno carrello sulla stessa riga \\ Carattere di backslash \ \ Carattere di singolo apice \" Carattere di doppio apice " \xnn Carattere il cui codice ASCII vale NN (in base 16) Variabili di tipo stringa Definizione char s[lun+1] ; Assegnazione strcpy(s, "ciao") ; strcpy(s, s2) ; Lettura scanf("%s", s) ; gets(s) ; Stampa prf("%s", s) ; puts(s) ; c 2006 Politecnico di Torino 1

Funzioni della libreria <ctype.h> Nome Parametri Restituisce Descrizione Esempi isalpha char ch vero/falso Lettera maiuscola o minuscola (A... Z, a... z) isupper char ch vero/falso Lettera maiuscola (A... Z) islower char ch vero/falso Lettera minuscola (a... z) isdigit char ch vero/falso Cifra numerica (0... 9) isalnum char ch vero/falso Lettera oppure cifra numerica: isalpha(ch) isdigit(ch) isxdigit char ch vero/falso Cifra numerica oppure lettera valida in base 16 (a... f, A... F) ispunct char ch vero/falso Simbolo di punteggiatura (!"#$%& ()*+,-./:;<=>?@ [\]ˆ_ { } ) isgraph char ch vero/falso Qualsiasi simbolo visibile (lettera, cifra, punteggiatura) ispr char ch vero/falso Qualsiasi simbolo visibile o spazio isspace char ch vero/falso Spazio, tab o a capo iscntrl char ch vero/falso Qualsiasi carattere di controllo toupper char ch char Ritorna la versione maiuscola di ch iscntrl char ch char Ritorna la versione minuscola di ch if(isalpha(ch)) if(isupper(ch)) if(islower(ch)) if(isdigit(ch)) if(isalnum(ch)) if(isxdigit(ch)) if(ispunct(ch)) if(isgraph(ch)) if(ispr(ch)) if(isspace(ch)) if(iscntrl(ch)) for(i=0; s[i]!=0; i++) s[i] = toupper(s[i]) ; for(i=0; s[i]!=0; i++) s[i] = tolower(s[i]) ; c 2006 Politecnico di Torino 2

Funzioni della libreria <string.h> Nome Parametri Restituisce Descrizione Esempi strlen char s[n] Lunghezza della stringa lun = strlen(s) ; strcpy char src[m] Copia il contenuto di src all erno di dst strcpy(s1, s2) ; strcpy(s, "") ; strcpy(s1, "ciao") ; strncpy strcat strncat strcmp strncmp strchr strstr strspn strcspn char src[m], nc char src[n] char src[m], nc char s1[n], char s2[m] char s1[n], char s2[m], n char ch ==NULL o!=null ==NULL o!=null Copia il contenuto di src (max nc caratteri) all erno di dst Accoda il contenuto di src alla fine di dst Accoda il contenuto di src (max nc caratteri) alla fine di dst Risultato <0 se s1 precede s2, ==0 se s1 è uguale a s2, >0 se s1 segue s2 Come strcmp, ma confronta solo i primi n caratteri Risultato!=NULL se il carattere ch compare nella stringa, ==NULL se non compare. Risultato!=NULL se la sotto-stringa r compare nella stringa s, ==NULL se non compare. Restituisce la lunghezza della parte iniziale di s che è composta esclusivamente dei caratteri presenti in r (in qualsiasi ordine). Restituisce la lunghezza della parte iniziale di s che è composta esclusivamente dei caratteri non presenti in r. strncpy(s1, s2, 20) ; strncpy(s1, s2, MAX) ; strcat(s1, s2) ; strcat(s1, " ") ; strncat(s1, s2, 50) ; if(strcmp(s, r)==0) while(strcmp(r,"*")!=0) if(strncmp(r, "buon", 4)==0) if(strchr(s,. )!=NULL) if(strchr(s, ch)==null) if(strstr(s, "xy")!=null) if(strstr(s, s1)==null) lun = strspn(s, " ") ; lun = strspn(s, ".,") ; lun = strspn(s, " ") ; lun = strspn(s, ".,") ; c 2006 Politecnico di Torino 3

Il sistema dei tipi di dato in C I tipi eri <limits.h> compilatore gcc Tipo Min Max N.bit Min Max char CHAR_MIN CHAR_MAX 8 128 127 INT_MIN INT_MAX 32 2 147 483 648 2 147 483 647 short SHRT_MIN SHRT_MAX 16 32 768 32 767 long LONG_MIN LONG_MAX 32 2 147 483 648 2 147 483 647 unsigned 0 UINT_MAX 32 0 4 294 967 295 unsigned short 0 USHRT_MAX 16 0 65 535 unsigned long 0 ULONG_MAX 32 0 4 294 967 295 I tipi reali Tipo N.bit Mantissa Esponente Min/Max Epsilon float 32 23 bit 8 bit ±3.40282347 10 +38 ±1.17549435 10 38 double 64 53 bit 10 bit ±1.7976931348623157 10 +308 ±2.2250738585072014 10 308 Specificatori di formato Tipo scanf prf char "%c" "%c", "%d" "%d" "%d" short "%hd" "%hd", "%d" long "%ld" "%ld" unsigned "%u", "%o", "%x" "%u", "%o", "%x" unsigned short "%hu" "%hu" unsigned long "%lu" "%lu" float "%f" "%f", "%g" double "%lf" "%f", "%g" Conversioni di tipo automatiche Promozione automatica da... a char... short...... long long... double float... double c 2006 Politecnico di Torino 1

Conversioni di tipo esplicite Tra tipi scalari Da stringa a numero (nuovotipo)espressione gets(line) ; x = atoi(line) ; /* */ x = atol(line) ; /* long */ x = atof(line) ; /* float o double */ c 2006 Politecnico di Torino 2