SlideShare una empresa de Scribd logo
1 de 55
INFORMATICA Sottoprogrammi
Sottoprogrammi ,[object Object],[object Object],[object Object],[object Object]
Sottoprogrammi ,[object Object],[object Object],[object Object],[object Object]
Sottoprogrammi ,[object Object],[object Object],[object Object],[object Object]
Approccio top-down ,[object Object],[object Object],[object Object]
Approccio top-down ,[object Object]
Approccio top-down ,[object Object],[object Object],[object Object],[object Object]
Funzioni ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Funzioni ,[object Object],[object Object],[object Object],[object Object]
Funzioni ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Funzioni ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esempio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esempio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esempio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Funzioni con parametri ,[object Object],[object Object],[object Object]
Passaggio dei parametri “ by value” ,[object Object],[object Object],[object Object],[object Object],[object Object]
Passaggio dei parametri “ by value” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Passaggio dei parametri “ by value” ,[object Object],[object Object],[object Object],[object Object],[object Object]
Passaggio dei parametri “ by value” ,[object Object],[object Object],[object Object],[object Object],[object Object]
Passaggio dei parametri “ by reference” ,[object Object],[object Object],[object Object],[object Object],[object Object]
Passaggio dei parametri “ by reference” ,[object Object],[object Object],[object Object],[object Object]
Passaggio dei parametri “ by reference” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],Passaggio dei parametri “ by reference”
Passaggio dei parametri “ by reference” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Passaggio dei parametri “ by reference”
Passaggio dei parametri “ by reference” ,[object Object],[object Object],[object Object]
Passaggio dei parametri “ by reference” ,[object Object],[object Object]
Passaggio dei parametri “ by reference” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Passaggio dei parametri “ by reference” ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Definizione di una funzione ,[object Object],[object Object],[object Object]
Prototipo di una funzione ,[object Object],[object Object],[object Object]
Esempio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Osservazioni sull'uso dei parametri ,[object Object],[object Object],[object Object],[object Object]
Osservazioni sull'uso dei parametri ,[object Object],[object Object],[object Object],[object Object]
Vettori come parametri di una funzione ,[object Object],[object Object],[object Object],[object Object]
Vettori come parametri di una funzione ,[object Object],[object Object],[object Object],[object Object]
Vettori come parametri di una funzione ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Esercizio Per risolvere il problema è necessario conoscere la dimensione del vettore Se modificassi vett[ ] dentro la funzione, il valore sarebbe  modificato anche nel programma chiamante
Esercizio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esercizio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esercizio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esercizio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esercizio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Funzioni di libreria ,[object Object],[object Object],[object Object]
Funzioni di libreria ,[object Object],[object Object],[object Object]
Funzioni matematiche Utilizzabili con la direttiva:  #include <math.h> calcola la radice quadrata di  x  con  x  positivo;  x  e il risultato sono   double ; sqrt(x) calcola il valore assoluto di  x ; sia  x  che il risultato sono numeri  floating-point  ; fabs(x) restituisce un numero con parte decimale nulla e parte intera arrotondata al valore intero successivo;  x  e risultato sono  double ; ceil(x) restituisce un numero con parte decimale nulla e parte intera troncata al valore intero;  x  e il risultato sono  double ; floor(x) calcola il valore assoluto di  x ; sia  x  che il risultato sono  long   int ; labs(x) calcola il valore assoluto di  x ; sia  x  che il risultato sono  int ; abs(x)
Funzioni matematiche Utilizzabili con la direttiva:  #include <math.h> calcola il coseno di  x ;  x  è l'angolo espresso in   radianti;  x  e risultato sono  double ; cos(x) calcola  e x ;  x  e il risultato sono  double ; exp(x) calcola  x y : se  x  è negativo  y  deve avere parte decimale nulla;  x ,  y  e risultato sono tutti  double ; pow(x, y) calcola il seno di  x ;  x  è l'angolo espresso in   radianti;  x  e il risultato sono  double ; sin(x) calcola il logaritmo in base 10 di  x  con  x  positivo;  x  e il risultato sono   double ; log10(x) calcola la tangente di  x ;  x  è l'angolo espresso in radianti;  x  e il risultato sono  double ; tan(x) calcola il logaritmo naturale di  x  con  x  positivo;  x  e il risultato sono   double ; log(x)
Funzioni matematiche Utilizzabili con la direttiva:  #include <math.h> calcola il coseno iperbolico di  x ;  x  e risultato sono  double ; cosh(x) calcola l’arcotangente di  x  (tra – π  /2 e + π  /2);  x  e risultato sono  double ; atan(x) arcotangente di  y  /  x  (tra - π  e + π );  x ,  y  e risultato sono  double ; atan2(y, x) calcola il seno iperbolico di  x ;  x  e risultato sono  double ; sinh(x) calcola l’arcocoseno di  x  (tra 0 e + π );  x  e risultato sono  double ; acos(x) calcola la tangente iperbolica di  x ;  x  e il risultato sono  double ; tanh(x) calcola l’arcoseno di  x  (tra – π  /2 e + π   /2);  x  e risultato sono  double ; asin(x)
Funzioni di classificazione dei caratteri Utilizzabili con la direttiva:  #include <ctype.h> restituice  vero  (1) se  c  è un carattere stampabile;  c  è  char ; isprint(c) restituice  vero  (1) se  c  è una cifra;  c  è  char ; isdigit(c) restituice  vero  (1) se  c  è  delete   o un carattere di controllo;  c  è  char ; iscntrl(c) restituice  vero  (1) se  c  è un carattere ASCII valido;  c  è  char ; isascii(c) restituice  vero  (1) se  c  è un carattere alfabetico;  c  è  char ; isalpha(c) restituice  vero  (1) se  c  è un carattere stampabile escluso lo  spazio ;  c  è  char ; isgraph(c) restituice  vero  (1) se  c  è un carattere alfabetico o una cifra;  c  è  char ; isalnum(c)
Funzioni di classificazione dei caratteri Utilizzabili con la direttiva:  #include <ctype.h> restituice  vero  (1) se  c  è un carattere di punteggiatura;  c  è  char ; ispunct(c) restituice  vero  (1) se  c  è  spazio, tab, carriage return, new line, vert. tab, form feed ;  c  è  char ; isspace(c) restituice  vero  (1) se  c  è una cifra esadecimale;  c  è  char ; isxdigit(c) restituice  vero  (1) se  c  è un carattere maiuscolo;  c  è  char ; isupper(c) restituice  vero  (1) se  c  è un carattere minuscolo;  c  è  char ; islower(c)
Funzione per le stringhe Utilizzabili con la direttiva:  #include <string.h> copia  s2  in  s1 ; strcpy(s1, s2) come  strcmp , ma  effettua il confronto per i primi  n  caratteri.   strncmp(s1, s2, n) concatena  s1  con  s2 , copiando i caratteri di  s2  in coda a quelli di  s1  compreso il carattere  NULL  (quello di  s1  viene sovrascritto).  Il valore restituito dalla funzione è un puntatore a  s1 .   strcat(s1, s2) copia i primi  n   caratteri di  s2  in  s1 .   strncpy(s1, s2, n) confronta due stringhe e restituisce   un  valore intero :  negativo  se  s1  precede  s2 ,  zero  se sono uguali,  positivo  se  s1  succede a   s2  nell'ordinamento alfabetico; strcmp(s1, s2) restituice la lunghezza (numero di caratteri) della stringa  s ; il risultato è intero; strlen(s)
Funzione per le stringhe Utilizzabili con la direttiva:  #include <string.h> cerca in  s1  la prima occorrenza di uno dei caratteri presenti in  s2 . Mentre  strchr  cerca un unico carattere questa opera su un gruppo di caratteri: è utile, ad esempio, per cercare i caratteri d'interpunzione in un testo. Il valore restituito è un puntatore alla prima occorrenza di uno dei caratteri in  s1 ,  oppure  NULL  se nessun carattere di  s2  è presente in  s1 .   strpbrk(s1, s2) verifica se  s2  è contenuta in  s1 . Il valore restituito dalla funzione è un puntatore al punto di  s1   dove inizia  s2 , oppure  NULL  se  s2  non è presente; strstr(s1, s2) cerca se il carattere  car  è presente in  str .   Il valore restituito dalla funzione è un puntatore alla prima occorrenza  di  car  in  str , oppure  NULL  se il carattere è assente ; strchr(str, car)
Funzioni di conversione di stringhe Utilizzabili con la direttiva:  #include <stdlib.h> Queste funzioni operano sulle stringhe con le stesse modalità della  scanf : gli spazi neutri iniziali vengono ignorati,   viene cercata una sequenza di caratteri compatibile con il tipo di dato, infine   viene effettuata la conversione.  converte  stringa  in un numero intero lungo;   restituisce il valore convertito in un tipo  long   int ;   atol (stringa) converte  stringa  in un numero intero;   restituisce il valore convertito in un tipo  int ;   atoi (stringa) converte  stringa  in un numero reale in doppia   precisione: restituisce il valore convertito in un tipo  double ; atof (stringa)
Osservazioni sulle funzioni per le stringhe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],NO!
Osservazioni sulle funzioni per le stringhe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],NO!

Más contenido relacionado

La actualidad más candente

03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++Majong DevJfu
 
05 - Programmazione: Funzioni
05 - Programmazione: Funzioni05 - Programmazione: Funzioni
05 - Programmazione: FunzioniMajong DevJfu
 
06 - Programmazione: Scope Variabili
06 - Programmazione: Scope Variabili06 - Programmazione: Scope Variabili
06 - Programmazione: Scope VariabiliMajong DevJfu
 
PHP: strutture di controllo e funzioni
PHP: strutture di controllo e funzioniPHP: strutture di controllo e funzioni
PHP: strutture di controllo e funzioniextrategy
 
Pe t2 perl-caratteristiche
Pe t2 perl-caratteristichePe t2 perl-caratteristiche
Pe t2 perl-caratteristicheMajong DevJfu
 
Attacchi alle applicazioni basati su buffer overflow
Attacchi alle applicazioni basati su buffer overflowAttacchi alle applicazioni basati su buffer overflow
Attacchi alle applicazioni basati su buffer overflowGiacomo Antonino Fazio
 
PHP:funzioni e interazione con MySQL
PHP:funzioni e interazione con MySQLPHP:funzioni e interazione con MySQL
PHP:funzioni e interazione con MySQLextrategy
 
Attacchi alle applicazioni basati su buffer overflow
Attacchi alle applicazioni basati su buffer overflowAttacchi alle applicazioni basati su buffer overflow
Attacchi alle applicazioni basati su buffer overflowGiacomo Antonino Fazio
 
15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi15 - Programmazione: Algoritmi
15 - Programmazione: AlgoritmiMajong DevJfu
 
01 - Programmazione: Dai Problemi ai Programmi
01 - Programmazione: Dai Problemi ai Programmi01 - Programmazione: Dai Problemi ai Programmi
01 - Programmazione: Dai Problemi ai ProgrammiMajong DevJfu
 
10 - Programmazione: Tipi di dato strutturati
10 - Programmazione: Tipi di dato strutturati10 - Programmazione: Tipi di dato strutturati
10 - Programmazione: Tipi di dato strutturatiMajong DevJfu
 
Lezione 5 (7 marzo 2012)
Lezione 5 (7 marzo 2012)Lezione 5 (7 marzo 2012)
Lezione 5 (7 marzo 2012)STELITANO
 
Le funzioni in javascript
Le funzioni in javascriptLe funzioni in javascript
Le funzioni in javascriptPaoloCaramanica
 
What is new in C# 2018
What is new in C# 2018What is new in C# 2018
What is new in C# 2018Marco Parenzan
 
09 - Programmazione: Ingegneria del Codice
09 - Programmazione: Ingegneria del Codice09 - Programmazione: Ingegneria del Codice
09 - Programmazione: Ingegneria del CodiceMajong DevJfu
 

La actualidad más candente (20)

03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++03 - Programmazione: Istruzioni C++
03 - Programmazione: Istruzioni C++
 
05 - Programmazione: Funzioni
05 - Programmazione: Funzioni05 - Programmazione: Funzioni
05 - Programmazione: Funzioni
 
06 - Programmazione: Scope Variabili
06 - Programmazione: Scope Variabili06 - Programmazione: Scope Variabili
06 - Programmazione: Scope Variabili
 
I cicli in Python 3
I cicli in Python 3I cicli in Python 3
I cicli in Python 3
 
I sotto programmi in Python 3
I sotto programmi in Python 3I sotto programmi in Python 3
I sotto programmi in Python 3
 
PHP: strutture di controllo e funzioni
PHP: strutture di controllo e funzioniPHP: strutture di controllo e funzioni
PHP: strutture di controllo e funzioni
 
Pe t2 perl-caratteristiche
Pe t2 perl-caratteristichePe t2 perl-caratteristiche
Pe t2 perl-caratteristiche
 
Attacchi alle applicazioni basati su buffer overflow
Attacchi alle applicazioni basati su buffer overflowAttacchi alle applicazioni basati su buffer overflow
Attacchi alle applicazioni basati su buffer overflow
 
PHP:funzioni e interazione con MySQL
PHP:funzioni e interazione con MySQLPHP:funzioni e interazione con MySQL
PHP:funzioni e interazione con MySQL
 
Attacchi alle applicazioni basati su buffer overflow
Attacchi alle applicazioni basati su buffer overflowAttacchi alle applicazioni basati su buffer overflow
Attacchi alle applicazioni basati su buffer overflow
 
Gcc & Make
Gcc & MakeGcc & Make
Gcc & Make
 
15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi15 - Programmazione: Algoritmi
15 - Programmazione: Algoritmi
 
01 - Programmazione: Dai Problemi ai Programmi
01 - Programmazione: Dai Problemi ai Programmi01 - Programmazione: Dai Problemi ai Programmi
01 - Programmazione: Dai Problemi ai Programmi
 
10 - Programmazione: Tipi di dato strutturati
10 - Programmazione: Tipi di dato strutturati10 - Programmazione: Tipi di dato strutturati
10 - Programmazione: Tipi di dato strutturati
 
Lezione 5 (7 marzo 2012)
Lezione 5 (7 marzo 2012)Lezione 5 (7 marzo 2012)
Lezione 5 (7 marzo 2012)
 
Flow chart
Flow chartFlow chart
Flow chart
 
Le funzioni in javascript
Le funzioni in javascriptLe funzioni in javascript
Le funzioni in javascript
 
PHP 7 - benvenuto al futuro
PHP 7 - benvenuto al futuroPHP 7 - benvenuto al futuro
PHP 7 - benvenuto al futuro
 
What is new in C# 2018
What is new in C# 2018What is new in C# 2018
What is new in C# 2018
 
09 - Programmazione: Ingegneria del Codice
09 - Programmazione: Ingegneria del Codice09 - Programmazione: Ingegneria del Codice
09 - Programmazione: Ingegneria del Codice
 

Similar a 7 Sottoprogrammi

Similar a 7 Sottoprogrammi (20)

La scomposizione in sotto programmi in C++.pptx
La scomposizione in sotto programmi in C++.pptxLa scomposizione in sotto programmi in C++.pptx
La scomposizione in sotto programmi in C++.pptx
 
2011.02.19 Introducing F#
2011.02.19 Introducing F#2011.02.19 Introducing F#
2011.02.19 Introducing F#
 
1 Programmazione
1   Programmazione1   Programmazione
1 Programmazione
 
Ripasso funzioni
Ripasso funzioniRipasso funzioni
Ripasso funzioni
 
Algoritmi
Algoritmi Algoritmi
Algoritmi
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
 
Riepilogo Java C/C++
Riepilogo Java C/C++Riepilogo Java C/C++
Riepilogo Java C/C++
 
Lezione 6 (12 marzo 2012)
Lezione 6 (12 marzo 2012)Lezione 6 (12 marzo 2012)
Lezione 6 (12 marzo 2012)
 
Javascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesignerJavascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesigner
 
Lezione1 Linguaggio C
Lezione1 Linguaggio CLezione1 Linguaggio C
Lezione1 Linguaggio C
 
9 Altre Istruzioni Di I O
9   Altre Istruzioni Di I O9   Altre Istruzioni Di I O
9 Altre Istruzioni Di I O
 
05 1 intro-struttura
05 1 intro-struttura05 1 intro-struttura
05 1 intro-struttura
 
Presentazione,
Presentazione,Presentazione,
Presentazione,
 
Presentazione
PresentazionePresentazione
Presentazione
 
corso web developer - Introduzione a Javascript
corso web developer - Introduzione a Javascriptcorso web developer - Introduzione a Javascript
corso web developer - Introduzione a Javascript
 
Capitolo 7 elementi di programmazione c-c++
Capitolo 7   elementi di programmazione  c-c++Capitolo 7   elementi di programmazione  c-c++
Capitolo 7 elementi di programmazione c-c++
 
5 Strutture Iterative
5   Strutture Iterative5   Strutture Iterative
5 Strutture Iterative
 
Lezione js pdatabasecrudterzaparte
Lezione js pdatabasecrudterzaparteLezione js pdatabasecrudterzaparte
Lezione js pdatabasecrudterzaparte
 
R Vectors
R VectorsR Vectors
R Vectors
 

Más de guest60e9511

Más de guest60e9511 (11)

2 Rappresentazione Dei Dati
2   Rappresentazione Dei Dati2   Rappresentazione Dei Dati
2 Rappresentazione Dei Dati
 
Codifica
CodificaCodifica
Codifica
 
13 Puntatori E Memoria Dinamica
13   Puntatori E Memoria Dinamica13   Puntatori E Memoria Dinamica
13 Puntatori E Memoria Dinamica
 
12 Struct
12   Struct12   Struct
12 Struct
 
11 I File
11   I File11   I File
11 I File
 
10 Typedef Enum
10   Typedef Enum10   Typedef Enum
10 Typedef Enum
 
8 Algoritmi
8   Algoritmi8   Algoritmi
8 Algoritmi
 
6 Vettori E Matrici
6   Vettori E Matrici6   Vettori E Matrici
6 Vettori E Matrici
 
4 Strutture Condizionali
4   Strutture Condizionali4   Strutture Condizionali
4 Strutture Condizionali
 
4 Algebra Di Boole
4   Algebra Di Boole4   Algebra Di Boole
4 Algebra Di Boole
 
3 Linguaggioc
3   Linguaggioc3   Linguaggioc
3 Linguaggioc
 

7 Sottoprogrammi

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46. Funzioni matematiche Utilizzabili con la direttiva: #include <math.h> calcola la radice quadrata di x con x positivo; x e il risultato sono double ; sqrt(x) calcola il valore assoluto di x ; sia x che il risultato sono numeri floating-point ; fabs(x) restituisce un numero con parte decimale nulla e parte intera arrotondata al valore intero successivo; x e risultato sono double ; ceil(x) restituisce un numero con parte decimale nulla e parte intera troncata al valore intero; x e il risultato sono double ; floor(x) calcola il valore assoluto di x ; sia x che il risultato sono long int ; labs(x) calcola il valore assoluto di x ; sia x che il risultato sono int ; abs(x)
  • 47. Funzioni matematiche Utilizzabili con la direttiva: #include <math.h> calcola il coseno di x ; x è l'angolo espresso in radianti; x e risultato sono double ; cos(x) calcola e x ; x e il risultato sono double ; exp(x) calcola x y : se x è negativo y deve avere parte decimale nulla; x , y e risultato sono tutti double ; pow(x, y) calcola il seno di x ; x è l'angolo espresso in radianti; x e il risultato sono double ; sin(x) calcola il logaritmo in base 10 di x con x positivo; x e il risultato sono double ; log10(x) calcola la tangente di x ; x è l'angolo espresso in radianti; x e il risultato sono double ; tan(x) calcola il logaritmo naturale di x con x positivo; x e il risultato sono double ; log(x)
  • 48. Funzioni matematiche Utilizzabili con la direttiva: #include <math.h> calcola il coseno iperbolico di x ; x e risultato sono double ; cosh(x) calcola l’arcotangente di x (tra – π /2 e + π /2); x e risultato sono double ; atan(x) arcotangente di y / x (tra - π e + π ); x , y e risultato sono double ; atan2(y, x) calcola il seno iperbolico di x ; x e risultato sono double ; sinh(x) calcola l’arcocoseno di x (tra 0 e + π ); x e risultato sono double ; acos(x) calcola la tangente iperbolica di x ; x e il risultato sono double ; tanh(x) calcola l’arcoseno di x (tra – π /2 e + π /2); x e risultato sono double ; asin(x)
  • 49. Funzioni di classificazione dei caratteri Utilizzabili con la direttiva: #include <ctype.h> restituice vero (1) se c è un carattere stampabile; c è char ; isprint(c) restituice vero (1) se c è una cifra; c è char ; isdigit(c) restituice vero (1) se c è delete o un carattere di controllo; c è char ; iscntrl(c) restituice vero (1) se c è un carattere ASCII valido; c è char ; isascii(c) restituice vero (1) se c è un carattere alfabetico; c è char ; isalpha(c) restituice vero (1) se c è un carattere stampabile escluso lo spazio ; c è char ; isgraph(c) restituice vero (1) se c è un carattere alfabetico o una cifra; c è char ; isalnum(c)
  • 50. Funzioni di classificazione dei caratteri Utilizzabili con la direttiva: #include <ctype.h> restituice vero (1) se c è un carattere di punteggiatura; c è char ; ispunct(c) restituice vero (1) se c è spazio, tab, carriage return, new line, vert. tab, form feed ; c è char ; isspace(c) restituice vero (1) se c è una cifra esadecimale; c è char ; isxdigit(c) restituice vero (1) se c è un carattere maiuscolo; c è char ; isupper(c) restituice vero (1) se c è un carattere minuscolo; c è char ; islower(c)
  • 51. Funzione per le stringhe Utilizzabili con la direttiva: #include <string.h> copia s2 in s1 ; strcpy(s1, s2) come strcmp , ma effettua il confronto per i primi n caratteri. strncmp(s1, s2, n) concatena s1 con s2 , copiando i caratteri di s2 in coda a quelli di s1 compreso il carattere NULL (quello di s1 viene sovrascritto). Il valore restituito dalla funzione è un puntatore a s1 . strcat(s1, s2) copia i primi n caratteri di s2 in s1 . strncpy(s1, s2, n) confronta due stringhe e restituisce un valore intero : negativo se s1 precede s2 , zero se sono uguali, positivo se s1 succede a s2 nell'ordinamento alfabetico; strcmp(s1, s2) restituice la lunghezza (numero di caratteri) della stringa s ; il risultato è intero; strlen(s)
  • 52. Funzione per le stringhe Utilizzabili con la direttiva: #include <string.h> cerca in s1 la prima occorrenza di uno dei caratteri presenti in s2 . Mentre strchr cerca un unico carattere questa opera su un gruppo di caratteri: è utile, ad esempio, per cercare i caratteri d'interpunzione in un testo. Il valore restituito è un puntatore alla prima occorrenza di uno dei caratteri in s1 , oppure NULL se nessun carattere di s2 è presente in s1 . strpbrk(s1, s2) verifica se s2 è contenuta in s1 . Il valore restituito dalla funzione è un puntatore al punto di s1 dove inizia s2 , oppure NULL se s2 non è presente; strstr(s1, s2) cerca se il carattere car è presente in str . Il valore restituito dalla funzione è un puntatore alla prima occorrenza di car in str , oppure NULL se il carattere è assente ; strchr(str, car)
  • 53. Funzioni di conversione di stringhe Utilizzabili con la direttiva: #include <stdlib.h> Queste funzioni operano sulle stringhe con le stesse modalità della scanf : gli spazi neutri iniziali vengono ignorati, viene cercata una sequenza di caratteri compatibile con il tipo di dato, infine viene effettuata la conversione. converte stringa in un numero intero lungo; restituisce il valore convertito in un tipo long int ; atol (stringa) converte stringa in un numero intero; restituisce il valore convertito in un tipo int ; atoi (stringa) converte stringa in un numero reale in doppia precisione: restituisce il valore convertito in un tipo double ; atof (stringa)
  • 54.
  • 55.