Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Corso di Informatica Generale - Esempi in Linguaggio C, Esercizi di Elementi di Informatica

Esempi e output di vari programmi in Linguaggio C, come input/output di variabili, condizioni if, funzioni e strutture dati. tratto da un corso universitario di Informatica Generale.

Tipologia: Esercizi

2020/2021

Caricato il 29/01/2021

zineb1604
zineb1604 🇮🇹

4.3

(3)

18 documenti

1 / 51

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina
Linguaggio C - Esempi
Linguaggio C - Programmi di esempio
1
/*****************************************************/
/* stampa.c */
/* Primo programma in C: Stampa un messaggio a video */
/*****************************************************/
#include <stdio.h>
void main()
{ /* Inizio del main */
printf("Questa e' la prima stampa");
/* funzione di stampa */
} /* Fine del main */
Output di stampa.c:
Questa e’ la prima stampa
/****************************************************/
/* stampa2.c */
/* Stampa due messaggi a video */
/****************************************************/
#include <stdio.h>
void main()
{ /* Inizio del main */
printf("Questa e' la prima stampa\n");
printf("Questa e' la seconda stampa\n");
/* caratteri escape
\n ritorno a capo
\t tabulatore
\\ backslash
\" virgolette
\' apice
\b backspace*/
} /* Fine del main */
Output di stampa2.c:
Questa e’ la prima stampa
Questa e’ la seconda stampa
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33

Anteprima parziale del testo

Scarica Corso di Informatica Generale - Esempi in Linguaggio C e più Esercizi in PDF di Elementi di Informatica solo su Docsity!

Linguaggio C - Esempi

1

/ stampa.c /

/ Primo programma in C: Stampa un messaggio a video /

#include <stdio.h>

void main ()

{ / Inizio del main /

printf( "Questa e' la prima stampa" );

/ funzione di stampa /

/ Fine del main /

Output di stampa.c:

Questa e’ la prima stampa

/ stampa2.c /

/ Stampa due messaggi a video /

#include <stdio.h>

void main ()

/ Inizio del main /

printf( "Questa e' la prima stampa\n" );

printf(

"Questa e' la seconda stampa\n" );

/ caratteri escape*

\n ritorno a capo

\t tabulatore

\ backslash

" virgolette

' apice

\b backspace/*

} / Fine del main /

Output di stampa2.c:

Questa e’ la prima stampa

Questa e’ la seconda stampa

Linguaggio C - Esempi

2

/ Nome programma: arearet1.c /

/ programma che calcola l'area di un rettangolo. /

/ Uso di costanti intere /

#include <stdio.h>

void main ()

/ Inizio del main /

int base,altezza,area;

/ tipo funzione byte intervallo*

void nullo 0 nessuno

char carattere 1 -128, +

int intero 2 -32768,+3 2767

float virgola mobile 4 3.4E-38, 3.4E+

double virgola mobile 8 1.7E-308, 1.7E+

base = 4;

altezza = 3;

area = base * altezza;

printf( "L'area del rettangolo di " );

printf(

"base=%d e altezza=%d e': %d\n" ,base,altezza,area);

/ Codici di formato per la printf*

Codice Variabile

%d intera

%c carattere

%f float

*%lf double /

} / Fine del main /

Output di arearet1.c:

L'area del rettangolo di base=4 e altezza=3 e': 12

Linguaggio C - Esempi

4

/ Nome programma : areatri.c /

/ Calcolo dell'area di un triangolo con /

/ input /

#include <stdio.h>

void main ()

/ Inizio del main /

int base,altezza;

float area;

printf(

"Inserire: base altezza\n" );

scanf( "%d %d" ,&base,&altezza);

/ modo 1:*

area = base * altezza / 2.0;/*

/ modo che utilizza il cast (* tipo *): /

area = ( float )base * altezza / 2;

/ priorità operazioni matematiche*

() massima

-(unario)

+, - minima

printf( "L'area del triangolo di base" );

printf(

" %d e alt. %d e' %f\n" ,base,altezza,area);

/ Fine del main /

Output 1 di areatri.c:

Inserire: base altezza

5 4  input dell’utente

L'area del triangolo di base=5 e alt.=4 e' 10.

Output 2 di areatri.c:

Inserire: base altezza

input dell’utente

L'area del triangolo di base=5 e alt.=4 e' 7.

Linguaggio C - Esempi

5

/ Nome programma : tipi.c /

/ I tipi fondamentali /

/ int, float, double, char /

#include <stdio.h>

void main ()

int a;

float c;

double d;

char e;

char f[10];

printf( "Inserisci un int\n" );

scanf( "%d" ,&a);

printf(

"Hai inserito l'int %d\n\n" ,a);

printf( "Inserisci un float\n" );

scanf( "%f" ,&c);

printf(

"Hai inserito il float %f\n\n" ,c);

printf( "Inserisci un double\n" );

scanf(

"%lf" ,&d);

printf(

"Hai inserito il double %lf\n\n" ,d);

/ La variabile carattere puo' essere assegnata tramite una*

costante carattere: e='A';

oppure tramite una costante numerica codice ASCII): e=65;

in tal senso una variabile carattere puo' essere utilizzata

come un intero di un solo byte. La stampa o la lettura

(mediante le funzioni scanf e printf)prevede come formattatore

*%c /

printf(

"Inserisci un carattere\n" );

scanf( "\n%c" ,&e);

printf(

"Hai inserito il carattere %d\n\n" ,e);

/ Quando si vuole stampare o leggere (mediante le funzioni*

printf e

*scanf) una stringa si usa come formattatore %s /

printf( "Inserisci una stringa (max 10 lettere)\n" );

scanf( "%s" ,&f);

printf(

"Hai inserito la stringa %s\n\n" ,f);

Linguaggio C - Esempi

7

/ Nome programma : uso_cast.c /

/ In questo programma si introduce l'uso dell'operatore /

/ unario "cast". Formato: (nome del tipo) espressione /

/ "espressione" viene convertita nel tipo specificato /

#include <stdio.h>

#include <math.h>

void main ()

int num_int;

double ris;

num_int = 15;

/ per convertire num_int in un double prima di passarlo a sqrt /

ris = sqrt( (

double ) num_int );

printf( "ris = %f \n" ,ris);

/ nota : num_int rimane inalterato /

printf( "num_int = %d \n" ,num_int);

Output di uso_cast.c:

ris = 3.

num_int = 15

Linguaggio C - Esempi

8

/ Nome programma: if0.c /

/ if-else /

/ if (condizione) istruzioni1;*

*else istruzioni2; N.B.: l'else e' opzionale /

#include <stdio.h>

void main ()

int a,b;

printf( "Inserire: a b\n" );

scanf(

"%d %d" ,&a,&b);

if (a > b)

printf(

"Lo scarto (if) e' %d\n" ,a-b);

/dipende dall'if/**

else / equivale ai casi b > a oppure b == a /

printf( "Lo scarto (else) e' %d\n" ,b-a);/dipende da else/**

printf(

"a=%d e b=%d\n" ,a,b);

/ Non dipende da if ne' da else/**

} / Fine del main /

Output 1 di if0.c:

Inserire: a b

input dell’utente

Lo scarto (if) e' 2

a=5 e b=

Output 2 di if0.c:

Inserire: a b

input dell’utente

Lo scarto (else) e' 7

a=5 e b=

Output 3 di if0.c:

Inserire: a b

input dell’utente

Lo scarto (else) e' 0

a=7 e b=

Linguaggio C - Esempi

10

if ( x > 8 )

{

printf( "Prima istruzione di stampa dipendente dalla cond. x>8 \n" );

printf( "Seconda istruzione di stampa dipendente dalla cond.x>8 \n" );

}

else

{

printf( "Prima istruzione nell'else di if (x>8) \n" );

printf( "Seconda istruzione nell'else di if (x>8) \n" );

}

if ( x < 8 )

{

printf( "Prima istruzione di stampa dipendente dalla cond. x<8 \n" );

printf( "Seconda istruzione di stampa dipendente dalla cond.x<8 \n" );

}

else

{

printf( "Prima istruzione nell'else di if (x<8) \n" );

printf( "Seconda istruzione nell'else di if (x<8) \n" );

}

}

Output di if1.c:

************************ CASO 1 ***********************

Istruzione di stampa dipendente dalla condizione x>

Istruzione di stampa indipendente dalla condizione x>

Istruzione di stampa indipendente dalla condizione x<

************************ CASO 2 ***********************

Prima istruzione di stampa dipendente dalla cond. x>

Seconda istruzione di stampa dipendente dalla cond.x>

************************ CASO 3 ***********************

else relativo a if (x>7)

Prima istruzione di stampa dipendente dalla cond. x<

Seconda istruzione di stampa dipendente dalla cond.x<

************************ CASO 4 ***********************

Prima istruzione nell'else di if (x>8)

Seconda istruzione nell'else di if (x>8)

Prima istruzione di stampa dipendente dalla cond. x<

Seconda istruzione di stampa dipendente dalla cond.x<

Linguaggio C - Esempi

11

/ Nome programma : if2.c /

/ if annidati /

#include <stdio.h>

void main ()

int x,y;

/* LETTURA DATI */

printf( "Introduci un intero x=" );

scanf(

"%d" ,&x);

printf( "Introduci un intero y=" );

scanf(

"%d" ,&y);

printf(

"\n******************** CASO 1 ********************\n" );

/ Nel caso di "if" innestati, l'else a chi viene associato ??? /

/ ogni else viene associato all'if piu' interno che ne e' privo/**

if ( x > 5 )

if ( x > y )

printf(

"%d > %d\n" ,x,y);

else

printf( "Sono nell'else di if ( x > y )\n" );

printf( "\n******************** CASO 2 ********************\n" );

if ( x > 5 )

if ( x > y )

printf(

"%d > %d\n" ,x,y);

else

printf(

"Sono nell'else di if ( x > 5 ) \n" );

Output 1 di if2.c:

Introduci un intero x=

Introduci un intero y=2  3 e 2 sono inseriti in input

************************* CASO 1 *************************

************************* CASO 2 *************************

Sono nell’else di ( x > 5 )

Linguaggio C - Esempi

13

/ Nome programma: equaz2.c /

/ Il seguente programma chiede all'operatore 3 numeri reali /

/ a, b, e c /

/ e calcola le eventuali radici dell'equazione di secondo grado/**

#include <stdio.h>

#include <math.h> / header file delle funzioni matematiche /

void main ()

float a,b,c; /coefficienti dell'equazione /

double delta,x1,x2;

/delta ed eventuali radici dell'equazione/**

printf( "Primo coefficiente a = " );

scanf(

"%f" ,&a);

printf(

"Secondo coefficiente b = " );

scanf( "%f" ,&b);

printf(

"Terzo coefficiente c = " );

scanf( "%f" ,&c);

if (a == 0.0)

printf ( "L'equazione in esame non e' di secondo grado\n" );

else

delta = b * b - 4 * a * c;

if (delta < 0.0)

printf ( "L'equazione non ammette soluzioni reali !\n" );

else

x1 = (-b-sqrt(delta))/ (2a);*

printf(

"\nLa prima radice e' x1 = %f\n" ,x1);

x2 = (-b+sqrt(delta))/ (2a);*

printf( "La seconda radice e' x2 = %f\n" ,x2);

Output 1 di equaz2.c:

Primo coefficiente a = 1

Secondo coefficiente b = -

Terzo coefficiente c = 6 

1, -5 e 6 sono inseriti in input

La prima radice e' x1 = 2.

La seconda radice e' x2 = 3.

Linguaggio C - Esempi

14

Output 2 di equaz2.c:

Primo coefficiente a = 0

Secondo coefficiente b = -

Terzo coefficiente c = 6 

0, -5 e 6 sono inseriti in input

L'equazione in esame non e' di secondo grado

Output 3 di equaz2.c:

Primo coefficiente a = 2

Secondo coefficiente b = 4

Terzo coefficiente c = 3 

0, -5 e 6 sono inseriti in input

L'equazione non ammette soluzioni reali!

Linguaggio C - Esempi

16

/ Nome programma : incrdecr.c /

/ Operatori di incremento e di decremento in notazione /

/ postfissa e prefissa /

#include <stdio.h>

void main ()

int c,c_iniz,c_fin;

c=4;

c++;

printf(

"c=%d\n" ,c);

c=4;

++c;

printf(

"c=%d\n" ,c);

c_iniz=0;

c_fin = c_iniz++;

printf( "c_fin=%d c_iniz=%d (notazione postfissa)\n" ,c_fin, c_iniz);

c_iniz=0;

c_fin = ++c_iniz;

printf( "c_fin=%d c_iniz=%d (notazione prefissa)\n" ,c_fin, c_iniz);

} /* END MAIN PROGRAM */

Output di incrdecr.c:

c=

c=

c_fin=0 c_iniz=1 (notazione postfissa)

c_fin=1 c_iniz=1 (notazione prefissa)

Linguaggio C - Esempi

17

/ Nome Programma : maxfor1.c /

/ Questo programma chiede in input n numeri interi /

/ e ne trova il valore del piu' grande e la sua /

/ posizione all'interno del vettore /

/ (se ci fossero piu' massimi, troverebbe il primo) /

/ Il costrutto del FOR e' : for (espr_1; espr_2; espr_3)*

istruzioni;

espr_1 viene utilizzata come INIZIALIZZAZIONE

espr_2 viene utilizzata come CONDIZIONE

espr_3 viene utilizzata come INCREMENTO

Ognuna delle 3 parti puo' essere tralasciata.

I punti e virgola devono essere presenti./*

#include <stdio.h>

void main ()

int i;

int max, pos_max;

int num[10];

/* LETTURA DEI DATI DI INPUT */

printf(

"Introduci 10 numeri interi\n\n" );

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

printf(

"num[%d]=" ,i);

scanf( "%d" ,&num[i]);

/* NUMERO PIU' GRANDE E SUA POSIZIONE NEL VETTORE */

max=num[0];

pos_max=0;

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

if (max<num[i])

max=num[i];

pos_max=i;

printf(

"\n" );

/* STAMPA DELL'ELABORAZIONE */

printf("Il massimo e' %d ",max);

printf("sulla componente numero %d\n", pos_max);

} /* END MAIN PROGRAM */

Linguaggio C - Esempi

19

/ Nome programma : maxfor2.c /

/ Questo programma chiede in input n numeri interi /

/ e ne trova il valore del piu' grande e la sua /

/ posizione all'interno del vettore /

/ (se ci fossero piu' massimi, troverebbe l'ultimo) /

/ Uso delle COSTANTI SIMBOLICHE e del costrutto FOR /

/ #define NOME testo da sostituire /

#include <stdio.h>

/ I numeri espliciti non forniscono alcuna informazione al lettore/**

/ Non e' semplice effettuare una modifica al programma /

#define DIMENSIONE 10

void main ()

int i;

int max, pos_max;

int num[DIMENSIONE];

/* LETTURA DEI DATI DI INPUT */

printf(

"Introduci %d numeri interi\n\n" ,DIMENSIONE);

for (i=0; i<DIMENSIONE; i++)

printf(

"num[%d]=" ,i);

scanf( "%d" ,&num[i]);

/* NUMERO PIU' GRANDE E SUA POSIZIONE NEL VETTORE */

max=num[0];

pos_max=0;

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

if (max<=num[i])

max=num[i];

pos_max=i;

/* STAMPA DELL'ELABORAZIONE */

printf("\nIl massimo e' %d ",max);

printf("sulla componente numero %d\n", pos_max);

/* END MAIN PROGRAM */

Linguaggio C - Esempi

20

Output di maxfor2.c:

N.B.: Se si inserissero come dati di input 3 (num[0])

17 (num[1])

21 (num[2])

157 (num[3])

-7 (num[4])

189 (num[5])

237 (num[6])

117 (num[7])

237 (num[8])

107 (num[9])

Il massimo e' 237 sulla componente numero 8