• Non ci sono risultati.

C - Strutture di controllo

N/A
N/A
Protected

Academic year: 2021

Condividi "C - Strutture di controllo"

Copied!
4
0
0

Testo completo

(1)

Elementi di Informatica a.a. 2016/17 - Prof. G.A. Di Lucca

Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica

66 Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio

C - Strutture di controllo

while (<condizione>) {

<istruzioni>;

} Cicli iterativi

<Istruzione/i> sarà eseguito tante volte fintantoché <condizione> risulta vera

N.B. < condizione> è un’espressione di tipo intero (in C non esiste il tipo logico) ed essa è verificata se ha un valore diverso da zero

a condizione iniziale while (<condizione>)

<istruzione>;

67 Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio

#include <stdio.h>

main () {

int Num;

printf( "immetti un numero \n”);

scanf(“%d” , &Num);

while (Num<=100) Num=Num+10;

printf ( ”Numero= %d \n”, Num);

}

Esempio Ciclo while

(2)

Elementi di Informatica a.a. 2016/17 - Prof. G.A. Di Lucca

Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica

68 Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio

C - Strutture di controllo

do {

<istruzioni>;

}

while <condizione>;

Cicli iterativi

<Istruzione/i> sarà eseguito tante volte fintantoché <condizione> risulta vera

N.B. < condizione> è un’espressione di tipo intero (in C non esiste il tipo logico) ed essa è verificata se ha un valore diverso da zero

a condizione finale do

<istruzione>;

while <condizione>;

69 Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio

#include <stdio.h>

main () {

int Num;

printf( "immetti un numero \n”);

scanf(“%d” , &Num);

do

Num=Num+10;

while (Num <=100);

printf ( ”Numero= %d \n”, Num);

}

Esempio Ciclo do … while

(3)

Elementi di Informatica a.a. 2016/17 - Prof. G.A. Di Lucca

Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica

70 Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio

C - Strutture di controllo

Ciclo ripetitivo (a conteggio)

for (<espressione1>; <condizione>; <espressione2>) <istruzione>;

for (<espressione1>; <condizione>; <espressione2>) {

<istruzioni>;

}

<espressione1>: è l’espressione usata per inizializzare la variabile di controllo del ciclo

<condizione>: è l’espressione logica per verificare la terminazione del ciclo

<espressione2>: è l’espressione usata per determinare il passo di incremento della variabile di controllo

Es:

for (i=1; i<100; i++) printf(“%d “, i);

71 Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio

#include <stdio.h>

main () {

int Num;

printf( "immetti un numero \n”);

scanf(“%d” , &Num);

for (i=1;i<=10;i++)

printf ( “%d \n”, Num*i);

}

Esempio Ciclo for

(4)

Elementi di Informatica a.a. 2016/17 - Prof. G.A. Di Lucca

Dipartimento di Ingegneria - Univ. del Sannio - CdL Ingegneria Energetica

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 72

Operatore di cast in C

Il linguaggio C permette di forzare una variabile di un tipo ad essere una variabile di un'altro tipo utilizzando l'operatore cast "( )".

Il costrutto cast ha la seguente sintassi:

(<nome tipo da forzare>) <espressione>

Esempio:

float numero_reale = 7.234;

int numero = 8;

float altro_reale;

numero=(int) numero_reale; /* forza il tipo di numero_reale ad essere int ed assegna il valore 7 (parte intera) a numero*/

altro_reale=(float ) numero /* assegna 7.0 (valore float) ad altro_reale */

Elementi di Informatica

Prof. G. A. Di Lucca - Univ. del Sannio 73

Operatore di cast in C

Alcune operazioni di cast di tipo sono fatte automaticamente, principalmente in relazione alle capacità dei numeri interi.

E' opportuno eseguire esplicitamente operazioni di cast tutte le volte che si ha un dubbio sulla corrispondenza tra i tipi in operazioni di calcolo ed

assegnazione.

E’ il caso delle divisioni: se abbiamo la divisione tra due numeri interi e vogliamo che il risultato sia un numero reale, allora deve essere eseguito il cast sui due numeri interi.

Esempio:

int dividendo= 13, divisore = 4;

float risultato;

risultato = (float) dividendo / (float) divisore;

… sarà: risultato = 3.25

… e non risultato = 3.0 come risulterebbe dalla divisione intera:

risultato = dividendo / divisore;

Riferimenti

Documenti correlati

L’insieme dei numeri naturali è un sottoinsieme di quello dei numeri interi, cioè: C I numeri razionali sono numeri scritti sotto forma di frazione, oppure numeri

Manteniamo la regola che i numeri positivi iniziano con 0 e quelli negativi con 1 e proviamo ad usare il complemento a 1: ogni numero negativo si ottiene dal

Nelle attività introduttive abbiamo incontrato alcune situazioni nelle quali i numeri naturali non sono più sufficienti. Essi formano l’insieme dei numeri interi relativi

[r]

PER ADDIZIONE ALGEBRICA ( O SOMMA ALGEBRICA) SI INTENDE L’OPERAZIONE CHE PRENDE IN CONSIDERAZIONE SIA LA SOMMA CHE LA DIFFERENZA. NB: OGNI NUMERO INTERO PUO’ ESSERE

Scriviamo il rapporto: 15 : 20 = 12 : 16 e vediamo che i due rapporti sono uguali (fai il calcolo….) e quindi sono stati ugualmente bravi perché IN PROPORZIONE

Il grande vantaggio del metodo sta nel fatto che, codificando così i numeri, l’addizione e la sottrazione si esegue come “somma senza riporto sul bit N+1-esimo” ottenendo il

[r]