Aiuto sui linguaggi di programmazione

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
DaRkO
Linux 0.x
Linux 0.x
Messaggi: 85
Iscritto il: ven 22 apr 2005, 0:00
Località: Roma
Contatta:

Messaggio da DaRkO »

anke io avevo comprato C didattica e programmazione....e questa discussione mi ha fatto rivenire voglia di imparare il C! :D

ps : Sari eri un coder di un MUD? :D grande! :D

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

ebbravo Vlk! sono contenta! :D

Vlk
Linux 3.x
Linux 3.x
Messaggi: 671
Iscritto il: mer 9 feb 2005, 0:00

Messaggio da Vlk »

Se Darko decide di reimparare il C, potremmo utilizzare questo thread per scambiarci informazioni, se ovviamente a nessuno dispiace.

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

figurati se dispiace...anzi, magari potrebbe essere utile agli altri come ripasso...

homer84
Linux 2.x
Linux 2.x
Messaggi: 297
Iscritto il: gio 9 giu 2005, 0:00
Slackware: Current
Località: Torino

Messaggio da homer84 »

Paoletta ha scritto:una precisazione: printf non è una syscall, è una funzione della libreria stdio del C:
Nessuno ha mai detto che printf è una syscall

homer84
Linux 2.x
Linux 2.x
Messaggi: 297
Iscritto il: gio 9 giu 2005, 0:00
Slackware: Current
Località: Torino

Messaggio da homer84 »

Secondo me non è necessario l'acquisto di nessun libro, si trova TANTISSIMA roba su internet sopratutto su C

Bart
Staff
Staff
Messaggi: 4249
Iscritto il: lun 9 ago 2004, 0:00
Località: Rimini

Messaggio da Bart »

homer84 ha scritto:Secondo me non è necessario l'acquisto di nessun libro, si trova TANTISSIMA roba su internet sopratutto su C
Beh dai comunque avere un po' di documentazione cartacea non guasta, anzi.
E poi se ti appassiona la programmazione io consiglio sempre di acquistare libri, perchè così puoi sempre risfogliarli e riguardarteli nel momento del bisogno. Poi non voglio neppure paragonare un libro di 500 pagine con dei manuali reperiti in rete (per quanto bene siano fatti), non credete? :wink:
Ciao a tutti.

Avatar utente
useless
Staff
Staff
Messaggi: 3896
Iscritto il: dom 12 ott 2003, 0:00
Località: A place where the streets have no name
Contatta:

Messaggio da useless »

purtroppo la documentazione su carta diventa presto outdated :(.

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

useless ha scritto:purtroppo la documentazione su carta diventa presto outdated :(.
si ma le basi di c da quando è ansi sono + o - le stesse credo... o no?
al limite sono libri + specifici magari su roba come l'openGL et similaria...

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

(su unix puoi fare un bel po di roba e hai il man delle funzioni C e delle system call integrate nel sistema es. man printf)

homer scusa se ho capito male ma nel tuo post sembrava che "man printf" fosse riferito ad una syscall,non ad una funzione del C

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

su unix puoi fare un bel po di roba e hai il man delle funzioni C e delle system call integrate nel sistema es. man printf
homer scusa se ho capito male ma nel tuo post sembrava che "man printf" fosse riferito ad una syscall,non ad una funzione del C[/list]

Vlk
Linux 3.x
Linux 3.x
Messaggi: 671
Iscritto il: mer 9 feb 2005, 0:00

Messaggio da Vlk »

Ho alcuni problemi con i caratteri di conversione di printf() e quindi scanf(). Non ho capito come mai nella notazione decimale 10 = 134513860 e in quella reale 10 = -1.997486
Come si fa a dare l'output sul monitor 10, utilizzando un carattere di conversione di printf()?
Insomma, non ho alcuni problemi coi caratteri di conversione di stringhe e caratteri, ma coi numeri si. Ho scoperto che se voglio far comparire sul monitor 10 devo utilizzare lo stesso carattere di conversione delle stringhe, vale a dire considerando il 10 come due lettere...e dando quindi printf("%s\n", "10");
In poche parole, cosa intende il C per notazione di numeri reali, numeri interi in not. decimale e di conseguenza coi caratteri di conversione %d e %f? Perchè se 10.23 è un numero reale e se uso %f (notazione di numeri reali) per farlo uscire sul monitor mi esce invece -1.997501? O sono io che ho dimenticato la matematica?

Avatar utente
useless
Staff
Staff
Messaggi: 3896
Iscritto il: dom 12 ott 2003, 0:00
Località: A place where the streets have no name
Contatta:

Messaggio da useless »

8O assurdo! 8O

pastaci il codice che hai scritto, probabilmente c'è qualche problema coi tipi. tutte le cose seguenti scrivono 10 sul monitor:

int i;
i = 10;
printf ("%d\n", i);

semplicemente:
printf ("10\n");

oppure mettendolo in una stringa:
char s[] = "10";

printf ("%s\n", s);

se usi la notazione decimale in virgola mobile:
float f;
f = 10.0;
printf ("%f\n", f);

oppure in doppia precisione:
double d;
d = 10.0;
printf ("%lf\n", d);

(tutti i \n servono ad andare a capo dopo la stampa)

Vlk
Linux 3.x
Linux 3.x
Messaggi: 671
Iscritto il: mer 9 feb 2005, 0:00

Messaggio da Vlk »

Ecco il sorgente:
#include <stdio.h>
int main(void)
{
printf("\nEcco il numero %d\n", "10");
return 0;
}
L'output è un muero lunghissimo.
Se al posto di "10" scrivi "abc" e se al posto di %d scrivo %s, l'output è correttamente abc, quindi credo che la sintassi sia corretta

Avatar utente
useless
Staff
Staff
Messaggi: 3896
Iscritto il: dom 12 ott 2003, 0:00
Località: A place where the streets have no name
Contatta:

Messaggio da useless »

%d vuole un intero, quindi 10. tu invece gli dai "10", che è una stringa. tutta questione di virgolette ;).

Rispondi