La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

#include main() { printf (ciao); printf (mondo!); } Lesecuzione inizia da main() Il corpo del programma è racchiuso da parentesi graffe.

Presentazioni simili


Presentazione sul tema: "#include main() { printf (ciao); printf (mondo!); } Lesecuzione inizia da main() Il corpo del programma è racchiuso da parentesi graffe."— Transcript della presentazione:

1

2 #include main() { printf (ciao); printf (mondo!); } Lesecuzione inizia da main() Il corpo del programma è racchiuso da parentesi graffe

3 #include main() { printf (ciao); printf (mondo!); } Il programma è composto da una serie di istruzioni printf che vengono eseguite in sequenza.

4 #include main() { printf (ciao); printf (mondo!); } Ogni istruzione deve terminare con un punto e virgola

5 Listruzione printf permette la stampa su video di ciò che è racchiuso tra parentesi tonde e doppi apici. printf (tre); Visualizza sullo schermo tre

6 E unistruzione che dice al calcolatore che nel programma si useranno le funzioni contenute nel file stdio.h (standard input-output) Sono le funzioni che permettono di: -inviare messaggi sul video -di leggere valori dalla tastiera

7 Il C distingue tra lettere maiuscole e minuscole Le istruzioni sono tutte scritte in minuscolo

8 Sono sequenze di caratteri con funzioni speciali. Quelle più usate: \nva a linea nuova \tsalta di una tabulazione \britorna di un carattere indietro \\stampa il carattere \ \stampa il carattere

9 printf (ciao); printf (mondo) visualizza ciaomondo (anche lo spazio è un carattere come gli altri) printf (ciao\n); Printf(mondo); Visualizza: ciao mondo

10 La sequenza \n fa andare il cursore a riga nuova Per lasciare una linea vuota si deve inserire un ulteriore \n Se si desidera lasciare una riga prima della visualizzazione si fa precedere da \n Printf (\nAREA RETTANGOLO\n\n):

11 /* Calcolo area rettangolo */ Inizia con /* e finisce con */ Può estendersi su più linee Può apparire in qualsiasi parte del programma E possibile farla precedere da // ma in questo caso deve terminare a fine linea

12 /* calcolo area rettangolo*/ #include main() { int base; int altezza; int area; base = 3; altezza = 7; area = base*altezza; printf(%d, area); }

13 Il formato della dichiarazione di una variabile è: tipo nome-variabile; Il tipo di una variabile ne definisce la sua dimensione e linsieme di operazioni che si possono effettuare su di essa Il nome di una variabile la identifica

14 TipoUsoDimensione in bit char caratteri di testo ASCII8 short intnumeri interi piccoli da a unsigned short intnumeri interi positivi piccoli da 0 a intnumeri interi da a unsigned intnumeri positivi da 0 a floatNumeri a virgola mobile (precisione singola)32 doubleNumeri a virgola mobile (precisione doppia, notazione scientifica) 64

15 E possibile fare con le variabili ogni tipo di operazione matematica elementare: Addizione (+) Sottrazione (-) Moltiplicazione (*) Divisione (/) Resto della divisione (%)

16 Le variabili possono essere dichiarate: -Sia allinizio del programma (dopo main() e la parentesi graffa) -Sia prima di main()

17 Le dichiarazioni delle variabili dello stesso tipo possono essere effettuate in sequenza separate da una virgola int base, altezza, area;

18 I nomi delle variabili devono: -Iniziare con una lettera o con il carattere _ -Possono contenere lettere, cifre e. -Le lettere maiuscole sono considerate diverse dalle corrispondenti minuscole -Non può essere usata una parola chiave del linguaggio né può essere uguale a un nome di funzione

19 Alla dichiarazione di una variabile corrisponde anche la sua definizione la quale fa si che le venga riservato uno spazio in memoria centrale.

20 Listruzione: base = 3; Assegna alla variabile base il valore 3, inserisce, cioè, il valore 3 nello spazio di memoria riservato alla variabile

21 Tra i doppi apici il simbolo % stabilisce che il carattere che lo segue definisce il formato di stampa della variabile. d (decimal) indica che si desidera la visualizzazione di un intero nel sistema decimale

22 E possibile visualizzare il valore delle variabili nel seguente modo: printf(Base: %d\n, base); printf(Altezza: %d\n, altezza); printf(Area: %d, area); Base: 3 Altezza: 7 Area: 21

23 Quando un valore è ripetuto in modo ricorrente è opportuno rappresentarlo con un nome simbolico La definizione delle costanti, posta allinizio del programma, avviene attraverso la macro seguente: #define NOME-COSTANTE valore-costante #define BASE 3

24 /* Calcolo area rettangolo */ #include #define BASE 3 #define ALTEZZA 7 main() { int area; area = BASE * ALTEZZA; printf (Base: %d\n, BASE); printf(Altezza: %d\n, ALTEZZA); printf(Area: %d\n, area); }

25 Scanf (%d, &base) Lesecuzione di questa istruzione fa si che il sistema attenda in input un dato da parte dellutente. Il simbolo & deve precedere il nome della variabile &base indica lindirizzo di memoria in cui si trova il valore della variabile base

26 /* Calcolo area rettangolo*/ #include int base, altezza, area; main () { printf (Valore base: ); scanf (%d, &base); printf (Valore altezza: ); scanf (%d, &altezza); area = base* altezza; printf (Base: %d\n, base); printf (Altezza: %d\n, altezza); printf (Area: %d, area); }

27 Printf (%d %d %d, base, altezza, area); Printf (%d\n %d\n %d\n, base, altezza, area); Printf (%d\n %d\nArea: %d base, altezza, area); Area: 130

28 printf (%5d\n%5d\n%5d, base, altezza, area); printf (%-5d\n%-5d\n%5d, base, altezza, area);

29 Assumono valori alfanumerici che comprendono: Lettere minuscole Lettere maiuscole Cifre decimali Caratteri speciali

30 char x, y, z; La parola chiave char specifica che gli identificatori x, y e z si riferiscono a variabili di tipo carattere

31 x = A; y = %; z = &; Per assegnare un valore costante ad una variabile char lo si deve racchiudere tra apici

32 %c specifica il formato di stampa carattere. printf(%c%c%c, x, y, z); lesecuzione dellistruzione produce: A%& mentre listruzione: printf(%c %c %c, x, y, z); produce: A % &

33 Si possono stampare valori di tipi diversi allinterno della stessa printf. Se n e m sono variabili int si può essere scrivere: x = a; y = b; n = 100; m = 50; printf(%c = %d %c = %d, x, n, y, m); che restituisce: a = 100 b = 50

34 scanf(%c, &x); Con listruzione scanf si possono inserire i caratteri durante lesecuzione

35 Esistono altre due funzioni, contenute sempre nella libreria stdio.h, che permettono di leggere e scrivere caratteri: getchar e putchar

36 x =getchar(); Con questa istruzione il programma si blocca in attesa di un carattere introdotto da tastiera. Per visualizzare il carattere abbiamo la funzione: x =putchar();

37 #include main() { char x, y, z; printf(digita tre caratteri: ); scanf(%c%c%c, &x, &y, &z); } #include main() { char x, y, z; printf(digita tre caratteri: ); x = getchar(); y = getchar(); z = getchar(); printf(hai digitato: ); putchar(x); putchar(y); putchar(z); }

38 Una variabile di tipo char permette di memorizzare un singolo carattere. Per memorizzare invece una sequenza di caratteri occorre utilizzare gli array o le stringhe.

39 Larray è un insieme di variabili tutte dello stesso tipo, cui si fa riferimento mediante un stesso nome. Laccesso ad un determinato elemento si realizza mediante un indice. int a(10); char b(20); Indicano rispettivamente una struttura formata da 10 elementi interi e una struttura formata da 20 elementi di tipo char

40 a[2] = Assegna al secondo elemento dellarray il valore 71 71

41 b[3] = r Assegna al terzo elemento il carattere r r

42 Una stringa consiste in una sequenza di caratteri. char nome[10]; stringa di nove caratteri più carattere null char negozio[] = Zara s.p.a. Definisce una stringa di caratteri di nome negozio e il cui numero di elementi dipende dal numero di elementi presenti tra apici più uno, il carattere null (\0) che chiude la stringa

43 La stringa è un array di char dove un insieme di caratteri è trattato come una singola unità Quando si parla di caratteri, infatti, può essere interessante manipolare lintero insieme di caratteri appartenenti ad un array, in quanto costituiscono nel loro insieme un vocabolo o unintera frase

44 char d = r; char d[2] = r; char d[] = r; La prima assegna a d il carattere r, la seconda assegna al terzo elemento dellarray il carattere r, la terza assegna a d la sequenza di caratteri r e \0.

45 Per visualizzare il contenuto di una stringa si utilizza %s: printf(%s, negozio); visualizza: Zara s.p.a

46 Per inserire da tastiera si usa scanf: scanf(%s, negozio); Copia linput in negozio senza usare &

47 Per poter copiare il contenuto di una stringa in unaltra occorre utilizzare la funzione strcpy contenuta nella libreria strcpy(nome1,nome2); Il contenuto della stringa nome2 viene copiato nella stringa nome1

48 E possibile assegnare ad una variabile un valore iniziale al momento della sua dichiarazione int a = 0, b = 50, c = 100;

49 Per gli array (se definiti prima di main): int voti[5] = {6, 7, 8, 10, 5,3}; Per le stringhe occorre porre il valore tra doppi apici: char frase[] = esempio variabili; oppure: Char frase[30] = {e,s,e,m,p,i,o,,v,a,r,i,a,b,i,l,i,\0};

50 Una funzione è costituita da un insieme di istruzioni che realizzano un compito: a partire da uno o più valori presi in input, essa restituisce un determinato valore di output

51 w = abs(j); valore assoluto Linsieme delle istruzioni che la compongono è contenuto nella libreria standard math.h Per poter utilizzare tale funzione occorre inserire prima di main: #include ;

52 stdio.hfunzioni di input/output math.hfunzioni matematiche string.hfunzioni che operano su stringhe

53 Quando si desidera eseguire unistruzione, al verificarsi di una condizione, si utilizza listruzione if. if (espressione) istruzione; Dove se espressione è vera viene eseguita istruzione;

54 if i < 100 printf(minore di 100); La valutazione dellespressione i < 100 può restituire solo i valori vero o falso che in C corrispondono ai valori 1 e 0.

55 if(i>100) printf(maggiore di 100); Lesempio precedente è identico alla successiva espressione dove a assume valore 1 o 0 a seconda che lespressione sia vera o falsa a = i>100; if(a!=0) printf(maggiore di100); a=i>100; if(a) printf(maggiore di 100); iiii

56 La sintassi completa dellistruzione if è: If(espressione) istruzione1; {else istruzione2}; Dove istruzione1 viene eseguita se espressione risulta vera, altrimenti, se è falsa, viene eseguita istruzione2.

57 #include main() { int i; printf(dammi un intero: ); scanf(%d, &i); if(i>100) printf(maggiore di 100\n); else printf(minore o uguale a 100);

58 if (i<100) printf(minore di 100); printf(prossima istruzione); La seconda printf viene eseguita indipendentemente dalla valutazione di i<100.

59 Lo stesso avviene per la clausola else nelle istruzioni seguenti: if (i<100) printf(minore di 100); else printf(maggiore o uguale a 100); printf(istruzione successiva);

60 #include int i, mag_100, min_100; main() { mag_100 = 0; min_100 = 0; printf(digitare un intero: ); scanf(%d,&i); if (i>100) { printf(maggiore di 100\n); mag_100 = 1; } else { printf(minore o uguale a 100); min_100 = 1; }

61 Un if può comparire allinterno di un altro if if (i<100) if (i>0) printf(minore di 100 e maggiore di 0); else printf(minore di 100 ma non maggiore di 0); else printf(maggiore o uguale a 100);

62 if (i<100) { if (i>0) printf(minore di 100 e maggiore di 0); } else printf(maggiore o uguale a 100);

63 if (i<100) if (i>0) printf(minore di 100 e maggiore di 0); else printf(minore di 100 ma non maggiore di 0); else if (i==100) printf(uguale a 100); else printf(maggiore di 100);

64 Quando si desidera ripetere unoperazione un determinato numero di volte si può riscrivere sequenzialmente listruzione corrispondente. somma = 0; somma = somma + 4;

65 Lo stesso risultato si può ottenere con un ciclo in cui listruzione si ripete: somma = 0; for(i=1; i<=3; i = i+1) somma = somma + 4;

66 somma = 0; for(i=1; i<=3; i = i+1) somma = somma + 4; Alla variabile somma viene assegnato il valore 0. Listruzione for assegna il valore 1 alla variabile i (inizializzazione). Successivamente: 1. i<=3 allora vai al passo 2 altrimenti termina 2. somma = somma i = i+ 1, vai al passo 1

67 Il formato è il seguente: for(esp1; esp2; esp3) istruzione Il ciclo non viene eseguito neppure una volta se esp2 risulta falsa. Il ciclo viene eseguito fino a che esp2 non risulti essere falsa.

68 Se istruzione è costituita da un gruppo di istruzioni, questo deve essere racchiuso tra parentesi graffe: somma = 0; for(i=1; i<=3; i=i+1) { scanf(%d, &numero); somma = somma + numero; }

69 #include main() { int i, somma, numero; printf(Somma 5 numeri \n); somma = 0; for(i=0; i<=5; i=i+1) { printf(inserire intero ); scanf(%d, &numero); somma = somma + numero; } printf(Somma: %d\n, somma); }

70 Anche listruzione while permette la ripetizione di unistruzione o di un gruppo di istruzioni: while (esp) istruzione Viene eseguita listruzione finchè esp risulta vera. Il ciclo termina non appena il valore di esp risulta falso.

71 i = 1; while (i<=4) {for (i=1;i<=4; i=i+1){printf(inserire intero: );scanf(%d, &numero);somma = somma + numero; i = i + 1;} }

72 Con while non si ha la garanzia che listruzione o gruppo di istruzioni vengano eseguiti almeno una volta perché, se esp risulta subito falsa, si passa direttamente allistruzione successiva al while. Con while non è sempre noto a priori il numero il numero di volte che occorre ripetere listruzione o gruppo di istruzioni

73 Listruzione do……while valuta la condizione alla fine del ciclo stesso: per questo il corpo del ciclo viene eseguito almeno una volta. do istruzione/i while (esp)

74 #include main() { int n; do { printf(inserire un intero compreso tra 10 e 20: ); scanf(%d, &n); } while (n 20); printf (il numero inserito è: %d, n); }

75 Lincremento unitario di una variabile si ottiene con listruzione : somma = somma + 1 In C è possibile ottenere lo stesso risultato con loperatore ++ ++somma

76 Somma = somma – 1; Equivale a --somma;

77 c = ++a + b; La variabile a viene incrementata di ununità e sommata alla variabile b; il risultato viene poi assegnato a c

78 Gli operatori di incremento e decremento possono sia precedere sia seguire la variabile ++somma equivale a somma++

79 Se gli operatori vengono usati allinterno di espressioni valgono le seguenti regole: se loperatore ++(--) precede la variabile, prima il valore della variabile incrementato (decrementato) e poi viene valutata lintera espressione se loperatore ++(--) segue la variabile, prima viene valutata lintera espressione e poi il valore della variabile viene incrementato (decrementato)

80 int a, b, c; a = 5; b = 7; c = a++ + b; printf(%d\n, a); printf(%d\n, b); printf(%d\n, c);

81 a += 5 equivale a a = a + 5 a *= 2 equivale a a = a * 2 a -= b equivale a a = a – b a*= 4+b equivale a a = a * (4 + b)

82 ! * / % + - > >= < <=

83 == != && || ?: = += -= *= /= %=


Scaricare ppt "#include main() { printf (ciao); printf (mondo!); } Lesecuzione inizia da main() Il corpo del programma è racchiuso da parentesi graffe."

Presentazioni simili


Annunci Google