Sei sulla pagina 1di 5

Sintassi linguaggio C++

C++
Linguaggio case-sensitive c differenza tra maiuscole e minuscole LIBRERIE #include <iostream>: include librerie di I/O #include <stdio>: include librerie di I/O #include <stdlib>: include librerie per abs e fabs #include <string>: include librerie per stringhe #include <cmath>: include funzioni matematiche #include <cstdlib>: include le librerie standard using namespace std; raggruppa nomi in contenitori standard per evitare ambiguit COMMENTI /( frase (/ su pi! linee // frase su una linea OPERAZIONI I/O cin >> nomevar; cin >>nomevar1 >>nomevar2 >> legge pi! variabili contemporaneamente cout << nomevar; cout <<nomevar1 ""nomevar2 "" #sempio: cout <<$Il dipendente%t$""nome"" & ha $""et""$anni$""endl' getchar() e putchar(): input e output singoli caratteri gets() e puts(): input e output stringhe

ASSEGNAMENTO nomevar ) espressione' *se singolo carattere tra apici+ se caratteri alfanumerici di una stringa tra virgolette, si possono avere pi! assegnamenti contemporanei a ) b ) c ) -' ISTRUZIONE DI SELEZIONE i *condizione, istruzione1' else istruzione2' *=e istruzione1 e/o istruzione2 contengono pi! istruzioni si devono racchiudere fra parentesi graffe, i *condizione, istruzione1' *=e istruzione1 contiene pi! istruzioni si devono racchiudere fra parentesi graffe,

TIPI DI DATI bool: .rue o /alse unsigned short int: intero 0 1 233-3 *2 b4te, short int: intero 5-26728 1 -26727 *2 b4te, int: intero 921:7:8-2:8 1 21:7:8-2:7 *: b4te, unsigned long int: intero 0 1 :2;:;272;3*: b4te, long int: intero 921:7:8-2:8 1 21:7:8-2:7 *: b4te, loat: virgola mobile a -2 bit double: virgola mobile a 2: bit long double: virgola mobile a 80 bit char: piccolo intero 9128 1 127 *1 b4te, che rappresenta il valore <=>II di

un carattere o carattere <=>II racchiuso fra singoli apici unsigned char: piccolo intero 0 1 233 *1 b4te, enum: enumerativo es: enum variabile ?valore1+ valore2+ 6@ string: variabile alfanumerica DEFINIZIONE COSTANTI # de ine nomecost valore const tipo nomecost)valore' !sempi: # de ine pigreco -61: const float pigreco)-61:' DEFINIZIONE VARIABILI tipo nomevar' nomevar puA iniziare con Bualsiasi carattere alfabetico seguito da cifre o numeri+ non separati da spazio+ ma solo da C puA avere un valore iniziale posto dopo luguale int base ) -' int area' ><D>ODO EIF#G=IOG# si"eo *"tipodato>,' si"eo *"variabile>,: restituisce la dimensione in b4te della memoria occupata int main*, alla fine del programma inserire return )' vuol dire che non c stato errore *++,: delimitatori del programma ? <ltIrJ=hiftJK o <D. 12-*tast6numerico, @ <ltIrJ=hiftJL o <D. 123 *tast6numerico, >+ "+ ))+ >)+ ")+ M) *diverso, NN*<GE,+ OO *OP,+ M *GO., J+9+ (+ /: divisione con Buoziente decimale+ Q: resto divisione intera+ RJJ': aumenta R di 1+ eBuivale a R)RJ1' R99': decrementa R di 1+ eBuivale a R)R91' prefissi *S)JJT o S)99T, prima si

ALCUNE FUNZIONI po#($%&): potenza di H con esponente 4 s'rt($): radice Buadrata del numero H ceil($): valore di un numero arrotondato allintero superiore loor($): ottenere numero senza parte decimale abs($): valore assoluto di un numero abs($): valore assoluto di un numero in virgola mobile float /unzionano con variabili definite double (ecessitano della libreria cmath

system(pause !" manda in pausa il sistema operativo e visualizza il messaggio Premi un tasto per continuare..

ALTRE FUNZIONI e$p($): esponenziale di H log($): logaritmo in base e log-)($): logaritmo in base 10 sin($): seno di H+ H espresso in radianti cos($): coseno di H+ H espresso in radianti tan($): tangente di H+ H espresso in 2

incrementa o decrementa T e poi si assegna il valore a S postfissi *S)RJJ o S)R99, prima si assegna il valore di T a S e poi si incrementa o decrementa T J): incremento+ TJ)S eBuivale a T)TJS 9): decremento+ T9)S eBuivale a T)T 9 S (): moltiplicazione+ T()S eBuivale a T)T(S /): divisione+ T/)S eBuivale a T)T/S Q): resto div6 int6 TQ)S eBuivale a T)TQS SE#UENZA DI ESCAPE (CARATTERI SPECIALI! /n o endl: a capo riga /t: tabulazione /r: ritorno a capo della stessa riga /0: doppi apici //: barra contraria *bacUslash, /b: una battuta indietro /1: apice /2: punto di domanda /a: segnalazione acustica /) o endls: fine stringa / : salto pagina %#: tabulazione verticale CICLO POSTCONDIZIONALE do ? istruzioni' @ #hile *condizione,' (cicla per vero) *condizione di ingresso, CICLO ENUMERATIVO or *inizializzazione' condizione' incremento, * istruzioni' @ Esempio or *i ) inizio' i ")fine' iJJ, * istruzioni' & SOTTOPROGRAMMI void nome*eventuali parametri, * istruzioni' return ; ,

radianti asin($): arcoseno di H+ il risultato espresso in radianti acos($): arcocoseno di H+ il risultato espresso in radianti atan($): arcotangente di H+ il risultato espresso in radianti atan.($%&): arcotangente di H/4+ il risultato espresso in radianti

ISTRUZIONE S$ITC% s#itch *variabile di controllo, * case valore1: istruzioni1' breaU' case valore2: istruzioni2' breaU' 666666666 de ault: istruzioni' breaU' , =e pi! casi insieme valore1+ valore2: CICLO PRECONDIZIONALE #hile *condizione, ? istruzioni' @ (cicla per vero) *condizione di ingresso, or *inizializzazione' condizione' decremento, * istruzioni' , #sempio: or *i ) fine' i ")inizio' i99, * istruzioni' , VETTORI tipodato nomevariabile KnumelementiL' la numera"ione ini"ia da ) # possibile inizializzare un arra4 Buando si definisce: 3

tipodato nomevariabile K L ) ?valore0+ valore1+ 66valoresuperiore@' tipodatorestituito nome*eventuali parametri, * istruzioni' return valore restituito' , Sono considerate arra4 di caratteri il cui ultimo elemento contiene V/0*fine stringa, si definiscono: char nomevariabile KsuperioreL' # possibile inizializzare una stringa Buando si definisce: char nomevariabile K L ) ?&valore0 valore1 66valoresuperiore$@' MATRICI tipodato nomevariabile KrigheL KcolonneL' la numerazione inizia da 0

FUNZIONI SULLE STRING%E strlen(stringa): lunghezza della stringa strcp&(destinazione+ sorgente): copiare una stringa in unaltra strncp&(destinazione+ sorgente+n): copiare nella destinazione i primi n caratteri della stringa sorgente strcmp(stringa1+ stringa2): confronta 2 stringhe restituisce 0 se sono uguali+ "0 se stringa1"stringa2+ >0 se stringa1>stringa2 strcat(stringa1+ stringa2): concatena 2 stringhe strupr*stringa,: trasforma stringa in maiuscolo strl#r*stringa,: trasforma stringa in minuscolo atoi(stringa,: converte una stringa in 1 intero ato (stringa,: converte una stringa in 1 virgola mobile double ARRA' DI RECORD struct nomestruttura? struct nomestruttura? tipodato campo1' tipodato campo1' tipodato campo2' tipodato campo2' 666666666 666666666 @' @' *=e char campoKnumcaratteriL', per dichiarare larra4 nometab di num elementi di tipo nomestruttura si puA per dichiarare la variabile nomevar di fare: tipo nomestruttura si puA fare: 1, indicando nometabKnumL dopo 1, indicando nomevar dopo la @' la @' 2, nomestruttura nomevar' 2, nomestruttura nometabKnumL' -, struct nomestruttura nomevar' -, struct nomestruttura :, t&pede struct nomestruttura nomtabKnumL' nome ' :, t&pede struct nomestruttura nome nomevar' nome ' <ssegnamento al campo: nome nometabKnumL'

nomevar(campo1=valore FILE #include< stream> stream nomefile1+nomefile2+ nomefile6open *nomefisico% ios::in3out3app, <ssegna al nome logico nomefile il nome fisico nomefisico e lo apre per : 1, leggere *in,+ 2, scrivere dallinizio *out,+ -, scrivere dal fondo *app,6

<ssegnamento al campo: nometabKindiceL6campo1)valore'

oppure per leggere i stream nomefile *nomefisico, per scrivere o stream nomefile *nomefisico, dall inizio o stream nomefile *nome fisico+ios::app, aggiungendo in fondo nomefile "" nomefile nomevar1""nomevar2>> 6 nomevar1>>nomevar2>>

>> 6

=crive nel file nomefile il contenuto di legge dal file nomefile i dati e li assegna nomevar1+ nomevar2+ in ordine a nomevar1+ nomevar2+ nomefile4close(,' chiude il file