GTA-Expert Forum: Varie Domande Linguaggio C - GTA-Expert Forum

Salta al contenuto

  • (3 Pagine)
  • +
  • 1
  • 2
  • 3
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

Varie Domande Linguaggio C

#1 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 27 febbraio 2013 - 14:52

Dunque domani io ho un compito sul Linguaggio C e ho troppi dubbi :asd:
Vorrei usare questo topic appunto per chiedervi aiuto e ( se avete le conoscenze ) spiegarmi certe cose...

1) Cosa è il float?

Cioè se io inserisco nel mio programma:

float m;



Cosa significa?

2) Spiegatemi questa funzione.


printf ("\nInserisci un numero (0 per terminare): ");    	
scanf ("%lf", &num);



Precisamente quel %If e &num...a cosa servono?
Nel programma è presente pure:

double num


Che significa?


EDIT: Più tardi probabilmente scriverò altri dubbi...

Messaggio modificato da Federico Ronaldo il 27 febbraio 2013 - 14:53

La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

#2 L'utente è offline   mattez 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1016
  • Iscritto il: 29/11/10
  • ID Social Club:Matt3z_it
  • Provenienza:Finale Ligure [SV]
  • GTA Preferito:GTA V

Inviato il 27 febbraio 2013 - 19:22

Quote

1) Cosa è il float?

Cioè se io inserisco nel mio programma:

float m;

Il float è il dichiaratore della variabile. In questo caso te hai dichiarato la variabile "m", ed essa è di tipo float.
supporta 32 bit, e precisamentei numeri che vanno da 3,4*10-38 a 3,4*1038. In parole povere con essa puoi avere numeri decimali con 5 cifre dopo la virgola.

[/font]
printf ("\nInserisci un numero (0 per terminare): "); 
scanf ("%lf", &num);

lo scanf è la lettura della variabile, ovvero legge ciò che l'utente ha scritto. il %lf è il tipo della variabile. Cio significa che il valore inserito dall'utente verrà letto dal compilatore col tipo che te hai inserito (dichiarata precedentemente)
in particolare %lf dovrebbe essere di tipo "float" (che in alcuni compilatori è direttamente %f).
"&num" invece indica il nome della variabile a cui associare quel valore: & è una lettera da non omettere mai nello scanf, mentre "num" è il nome della variabile.
Naturalmente per evitare problemi consiglio che il tipo di variabile dichiarato all'inizio corrisponda col tipo di lettura.

infine "double" è un altro tipo dichiarativo di variabile. supporta i numeri da 1,7*10-308 a

[font="Verdana"]1,7*10308



ade non ho tempo pi utardi approfondisco

0

#3 L'utente è offline   Wesser 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 1629
  • Iscritto il: 24/11/07
  • ID PSN:Wesser92
  • ID Social Club:Temutocle
  • Provenienza:Matera, Basilicata, Italia Meridionale, Europa Occidentale, Pianeta Terra, Sistema Solare, Via Lattea, Universo?
  • GTA Preferito:GTA: San Andreas

Inviato il 27 febbraio 2013 - 19:22

float è l'abbreviazione di floating-point number, ossia numero in virgola mobile (32-bit, 4-byte). Tale tipo di dato ti consente appunto di manipolare numeri decimali. Di solito, il numero di cifre decimali oltre il quale la precisione va perduta è pari a 6-7.

double, invece, significa per esteso double precision floating-point number, ovvero numero in virgola mobile a doppia precisione (64-bit, 8-byte). E' essenzialmente un float con una precisione pari a 15 cifre dopo la virgola.

%lf indica che il valore da leggere (o di input) dev'essere interpretato come un double (o long double, non so).
&num si riferisce al puntatore della variabile num, cioè l'indirizzo di memoria che contiene il suo valore.

Se ti interessasse il range dei vari tipi di dato, potresti trovarli qui.

Messaggio modificato da Wesser il 28 febbraio 2013 - 10:50

Notice: Undefined variable: Fabio in /home/gta-expert/index.php on line 206
0

#4 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 27 febbraio 2013 - 19:30

Grazie :asd:
La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

#5 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 03 marzo 2013 - 10:30

Sto facendo degli esercizi, ditemi il contenuto di queste variabili dopo l'esecuzione del codice:

1)

b = a++;
int a = 3;


Questo non so come si fa, cioè a++ a cosa corrisponde?

2)


int b;
b = --a



Nemmeno questo, --a corrisponde a cosa?

3)

int a = 3
int b = 2
b = a + b



Nella prima la variabile a contiene 3.
Nella seconda la variabile b contiene 2.
Nella terza sono indeciso. Potrei dire che b è uguale a 5 (a + B) però sto pensando pure a b = a quindi 3 + 3 = 6.
Toglietemi questo dubbio!

Messaggio modificato da Federico Ronaldo il 03 marzo 2013 - 10:36

La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

#6 L'utente è offline   Pippo 

  • Criminale
  • Gruppo: Utenti
  • Messaggi: 4940
  • Iscritto il: 09/08/09
  • GTA Preferito:GTA: San Andreas

Inviato il 03 marzo 2013 - 10:58

Quei a++, --a è la prima volta che li vedo :gh: Comunque facendo una ricerca le trovi (ma non c'hai un manuale dove ti viene spiegato ste cose? Cioè, avete gli esercizi ma non la teoria? :gh:).
Per il 3°, se non ricordo male il valore di b è uguale alla somma di a+b.

Messaggio modificato da Pippo il 03 marzo 2013 - 11:11

Immagine Postata
0

#7 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 03 marzo 2013 - 11:06

Il manuale è una delle cose più inutili mai create, non serve ad un cazzo se non a sapere cos'è una variabile...una costante etc..
Poi alla fine di ogni capitolo da esercizi senza averli nemmeno spiegati durante il capitolo :sese:
La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

#8 L'utente è offline   Pippo 

  • Criminale
  • Gruppo: Utenti
  • Messaggi: 4940
  • Iscritto il: 09/08/09
  • GTA Preferito:GTA: San Andreas

Inviato il 03 marzo 2013 - 11:13

Ah, mi è parso di ricordare che li usavo.

--a dovrebbe essere il valore di a-1 lo stesso per ++a ma +1.

Messaggio modificato da Pippo il 03 marzo 2013 - 11:13

Immagine Postata
0

#9 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 03 marzo 2013 - 11:17

Ho fatto un piccolo esercizio per esercitarmi con l'IF...pare sia giusto...

int main(){
int A; 
printf("Inserisci un valore da assegnare ad A: "); 
scanf ("%f", &A);
if (A=1) 
{ 
printf("/nIl valore di A è 1"); 
}
else 
{
printf("/nIl valore di A non è 1"); 
}
return 0; 
}



Vorrei un esempio con il Ciclo While visto che non l'ho capito molto :sese:

Messaggio modificato da Federico Ronaldo il 03 marzo 2013 - 11:17

La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

#10 L'utente è offline   Pippo 

  • Criminale
  • Gruppo: Utenti
  • Messaggi: 4940
  • Iscritto il: 09/08/09
  • GTA Preferito:GTA: San Andreas

Inviato il 03 marzo 2013 - 11:20

"++"; "--" incremento e decremento:
richiedono un solo operando (una variabile) e possono essere postfissi (a++) o prefissi (++a)

http://mars.ing.unim...C1_IntroAlC.pdf

Messaggio modificato da Pippo il 03 marzo 2013 - 11:20

Immagine Postata
0

#11 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 03 marzo 2013 - 11:22

Pippo ti dispiace farmi un esempio?

Tipo:

a = 5
a = a++


Come sarebbe? Cioè cosa contiene a?

Messaggio modificato da Federico Ronaldo il 03 marzo 2013 - 11:22

La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

#12 L'utente è offline   Pippo 

  • Criminale
  • Gruppo: Utenti
  • Messaggi: 4940
  • Iscritto il: 09/08/09
  • GTA Preferito:GTA: San Andreas

Inviato il 03 marzo 2013 - 11:23

Visualizza MessaggiFederico Ronaldo, il 03 marzo 2013 - 11:17 ha detto:

Ho fatto un piccolo esercizio per esercitarmi con l'IF...pare sia giusto...

int main(){
int A; 
printf("Inserisci un valore da assegnare ad A: "); 
scanf ("%f", &A);
if (A=1) 
{ 
printf("/nIl valore di A è 1"); 
}
else 
{
printf("/nIl valore di A non è 1"); 
}
return 0; 
}


Non hai messo gli #include

Visualizza MessaggiFederico Ronaldo, il 03 marzo 2013 - 11:22 ha detto:

Pippo ti dispiace farmi un esempio?

Tipo:

a = 5
a = a++


Come sarebbe? Cioè cosa contiene a?


Te l'ho detto, incrementa di 1, perciò 6.
Immagine Postata
0

#13 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 03 marzo 2013 - 11:30

Nono li ho messi :sese: non li ho copiati qui.
Bene ho provato a fare questo:


int main(){
int x; 
printf("Inserisci un valore da assegnare ad x: ");
scanf ("%f", &x);
if (x=1)
{
x = x++        
printf("/nHo incrementato il valore di x di 1!");
}   
else
{
x = x--    
printf("/nHo incrementato il valore di x di -1");
}
return 0;
}


Ammettiamo che in input prendo come valore di x 1.
Nel ciclo mi incrementa x di 1 quindi x = 2.
Se invece non è 1 qualsiasi numero sia gli sottrae 1, quindi se è 4 sarà 3 :sese:
La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

#14 L'utente è offline   Logitech 

  • Delinquente
  • Gruppo: Utenti
  • Messaggi: 433
  • Iscritto il: 23/02/11
  • GTA Preferito:Sconosciuto

Inviato il 03 marzo 2013 - 11:36

Si dovrebbe andare bene anche se comunque nella scanf usi %f mentre x l' hai dichiarata come int.
0

#15 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 03 marzo 2013 - 11:39

Ah ecco hai fatto bene a farmelo notare...

%f devo usarlo quando dichiaro in float, %i quando dichiaro in int giusto? :qwe:
La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

#16 L'utente è offline   Logitech 

  • Delinquente
  • Gruppo: Utenti
  • Messaggi: 433
  • Iscritto il: 23/02/11
  • GTA Preferito:Sconosciuto

Inviato il 03 marzo 2013 - 11:40

Visualizza MessaggiFederico Ronaldo, il 03 marzo 2013 - 11:39 ha detto:

Ah ecco hai fatto bene a farmelo notare...

%f devo usarlo quando dichiaro in float, %i quando dichiaro in int giusto? :qwe:


No, %d se dichiari int.
0

#17 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 03 marzo 2013 - 11:40

Certe volte mi è capitato di leggere %s, quando si usa?
La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

#18 L'utente è offline   Logitech 

  • Delinquente
  • Gruppo: Utenti
  • Messaggi: 433
  • Iscritto il: 23/02/11
  • GTA Preferito:Sconosciuto

Inviato il 03 marzo 2013 - 11:46

Viene usato per le stringhe
0

#19 L'utente è offline   Kraff 

  • Vice
  • Gruppo: Moderatori
  • Messaggi: 9636
  • Iscritto il: 17/01/07
  • Provenienza:Crema
  • GTA Preferito:GTA: San Andreas

Inviato il 03 marzo 2013 - 11:49

%s si usa con i caratteri e stringhe.
0

#20 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 03 marzo 2013 - 11:49

Bene e un grande dubbio finalmente l'ho risolto :sese:

Comunque ho urgenza di vedere un esercizietto stupido dove si usa il Ciclo While.

Del While so solamente che è un Ciclo Indefinito dove non è noto il numero di ripetizioni però nel C l'ho visto poche volte e la sua sintassi la conosco pochissimo...se qualcuno di voi mi mostra qualche esercizietto stupido giusto per capire come funziona mi aiutebbe moltissimo :sese:
La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

  • (3 Pagine)
  • +
  • 1
  • 2
  • 3
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

1 utenti stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi