View Full Version : Programmare in C o C++
leadergl
30-09-2004, 10:45
C'è qualcuno che vuole aiutarmi ad imparare a programmare in C o C++ ??
Mi è stato molto utile il "corso" che mi ha fatto Matpez sul Visual Basic, ho imparato tanto e devo tutto a lui...mi piacerebbe adesso imparare qualche cosa anche di C...c'è qualcuno che mi vorrebbe aiutare? :)
RaouL_BennetH
30-09-2004, 10:55
Io mi associo e ti uppo nella ricerca di un insegnante :D
P.S.: a proposito di visual basic, ma matpez ha pubblicato un corso? sarei davvero interessatissimo!!
Thx!
RaouL.
leadergl
30-09-2004, 11:26
non era un corso...gli ho chiesto se mi insegnava ed è stato molto disponibile...mi dava esercizi da fare e quando non ero capace mi aiutava con delle dritte...Matpez è un grande! :)
VegetaSSJ5
01-10-2004, 01:29
ragazzi qualcuno può dirmi dove mi posso documentare sul visual basic .net online?
DanieleC88
01-10-2004, 22:09
Se volete posso aiutarvi un po' io per C e C++. Unico avviso: ho imparato tutto da me, quindi non aspettatevi di ricevere un corso come ve lo avrebbe fatto uno del tipo cionci, ilsensine, etc.... tutte persone più esperte di me (inoltre ho solo 16 anni, non posso saperne tutto di programmazione).
...Se vi accontentate... :D
P.S.: Vegeta, hai controllato su MSDN?
mangzeus
01-10-2004, 23:32
Scusate se mi intrometto ma anche a me piacerebbe inparare il linguaggio C o C++...sapete consigliarmi anche qualche buon libro per iniziare??
leadergl
01-10-2004, 23:32
a me sta bene......mi servono un po di basi! :D
dimmi tu da dove cominciare....ho scaricato ed installato il DevC++
RaouL_BennetH
02-10-2004, 01:23
Originariamente inviato da leadergl
a me sta bene......mi servono un po di basi! :D
dimmi tu da dove cominciare....ho scaricato ed installato il DevC++
non dimenticatevi di me!! :)
DanieleC88
02-10-2004, 11:55
OK, il Dev-C++ è quello che ci vuole. Ora, visto che non sono un ottimo insegnante e non saprei da dove partire, ditemi che cosa vi riesce più difficile e vi aiuterò. Mi dovreste dire qual'è l'ultimo linguaggio che avete usato, così potrò cominciare illustrandovi le differenze. È il metodo più veloce per cominciare a programmare.
DanieleC88
02-10-2004, 11:59
Originariamente inviato da mangzeus
Scusate se mi intrometto ma anche a me piacerebbe inparare il linguaggio C o C++...sapete consigliarmi anche qualche buon libro per iniziare??
Non saprei conosco soltanto (di nome) il Kernigan&Ritchie (e non so nemmno se si scriva così), so solo che sul Web si trova di tutto. Fai una bella ricerca, ad esempio "Think in C++", una guida che ho scaricato ma non ho mai letto.
Ziosilvio
02-10-2004, 12:10
Originariamente inviato da mangzeus
sapete consigliarmi anche qualche buon libro per iniziare??
Per il C:
- come tutorial: Deitel&Deitel;
- come riferimento: Kernighan&Ritchie.
Per il C++:
- come tutorial: Deitel&Deitel, Eckel, o Lippman&Lajoie;
- come riferimento: Stroustrup.
Evitare qualunque cosa con su scritto Schildt.
mangzeus
02-10-2004, 12:11
Originariamente inviato da DanieleC88
Non saprei conosco soltanto (di nome) il Kernigan&Ritchie (e non so nemmno se si scriva così), so solo che sul Web si trova di tutto. Fai una bella ricerca, ad esempio "Think in C++", una guida che ho scaricato ma non ho mai letto.
ok grazie....va bene visual studio per programmar ein c o c++ vero??
se mai ascolterò qualche tua lezione....grazie
DanieleC88
02-10-2004, 12:20
Andrà bene anche il visual studio, ma io ho ed uso solo il Dev-C++, e te lo consiglio (il Visual Studio credo sia molto più facile, però il Dev lo amo :D ).
E se volete dei libri prendete quelli che vi consiglia "Ziosilvio" (l'utente, non il presidente del consiglio...).
leadergl
02-10-2004, 12:29
I linguaggi che conosco sono:
1) Pascal
2) Visual Basic 6
le cose che non so fare..è cominciare...:
1) com'è strutturato il C/C++?
2) che differenze ci sono nella Sintassi rispetto gli altri linguaggi?
3) come si scrivono procedure e funzioni?
queste credo siano le cose più importanti....
mangzeus
02-10-2004, 12:29
Originariamente inviato da DanieleC88
Andrà bene anche il visual studio, ma io ho ed uso solo il Dev-C++, e te lo consiglio (il Visual Studio credo sia molto più facile, però il Dev lo amo :D ).
E se volete dei libri prendete quelli che vi consiglia "Ziosilvio" (l'utente, non il presidente del consiglio...).
è tanto grande come programma il dev-c++, sai dirmi quanto occupa, io disponibile ho il dev-C++ beta 8-4.9.8.0 può andare??se sai dirmi le dimensioni del programma mi fai un favore...
mangzeus
02-10-2004, 12:30
Originariamente inviato da leadergl
I linguaggi che conosco sono:
1) Pascal
2) Visual Basic 6
le cose che non so fare..è cominciare...:
1) com'è strutturato il C/C++?
2) che differenze ci sono nella Sintassi rispetto gli altri linguaggi?
3) come si scrivono procedure e funzioni?
queste credo siano le cose più importanti....
quoto, sono le cose che interessano di più per iniziare...
VegetaSSJ5
02-10-2004, 12:43
Originariamente inviato da mangzeus
è tanto grande come programma il dev-c++, sai dirmi quanto occupa, io disponibile ho il dev-C++ beta 8-4.9.8.0 può andare??se sai dirmi le dimensioni del programma mi fai un favore...
vai qui scegli un mirror:
http://prdownloads.sourceforge.net/dev-cpp/devcpp4990setup.exe
DanieleC88
02-10-2004, 12:54
Il Dev-C++ ha un installazione di 12Mb, visto che comprende anche l'ottimo compilatore MinGW.
3) come si scrivono procedure e funzioni?
Si premette il tipo, si scrive il nome, i parametri tra parentesi (preceduti dal loro tipo) e il codice della funzione.
Esempio:
#include <string.h>
void procedura_di_esempio(char * stringa_di_esempio)
{
strcat(stringa_di_esempio, "esempio");
}
Questa è una procedura (una funzione senza valore di ritorno). In C ogni funzione restituisce un valore, ma come vedete, in questo caso il valore è di tipo void (lett.: vuoto), e quindi non avrà bisogno di resituire alcun valore.
Esaminiamo i parametri: "stringa_di_esempio" è un puntatore (si indica con l'asterisco) ad una zona di memoria contenente dei caratteri (il tipo char). È l'equivalente del PChar in Delphi.
Alla fine il codice concatenerà due stringhe (con strcat): in questo caso alla "stringa_di_esempio" verrà aggiunto il testo "esempio" alla fine.
Nel C ogni procedura va dichiarata per essere usata globalmente (con i cosiddeti prototipi), e possiamo farlo copiando l'intestazione della procedura senza copiare il blocco di codice, e cioè:
void procedura_di_esempio(char * stringa_di_esempio);
Le procedure standard sono raccolte in headers, con estensione ".h". Questi vanno inclusi come sulla prima linea:
#include <string.h>
In questo caso ho incluso string.h, che contiene il prototipo di "strcat". Gli headers sono simili alle Units del Pascal, e vengono inclusi usando, come potete vedere, #include, in modo simlie ad "Uses" del Pascal. L'unica differenza è che se ne può includere solo uno alla volta.
Ora vediamo una funzione:
int dammi_il_cinque()
{
return (2 + 3);
}
Tutto dovrebbe essere chiaro: è molto simile alla procedura di prima, con la sola differenza che questa ha come valore di ritorno un "int" (un numero intero positivo o negativo) e non ha bisogno di alcun parametro.
Aagh.. mi fanno quasi male le mani, continuerò a spiegare un'altro giorno. E fate i compiti a casa! :D :D :D
Non so come si possa mettere su un corso di programmazione sul forum..io credo che potreste iniziare leggendo delle guide e chiedendo quello che non capite
C:
http://www.hyperbook.it/
http://alpha.science.unitn.it/~fiorella/guidac/indexc.html
C++:
http://www.bo.cnr.it/corsi-di-informatica/corsoCstandard/CorsoCPP.html
http://www.bitafterbit.it/indexpage.php?workid=8
Reference:
http://www.cplusplus.com/ref/
http://www.cppreference.com/
http://www.phim.unibe.ch/comp_doc/c_manual/C/master_index.html
Editor:
Oltre a devc++ segnalo MinGWDevelopperStudio (molto intuitivo nell'uso, anch'esso si basa su MinGW):
http://www.parinya.ca/
Se poi leggete anche in inglese i manuali e i tutorial si sprecano.
leadergl
02-10-2004, 13:35
Ma non esiste una procedura principale..fondamentale?
ne Visual Basic è denotata dal "From_Load"...nel Pascal è quello che sta dopo il Begin...End
non c'è una cosa principale?
ghiotto86
02-10-2004, 13:48
Originariamente inviato da leadergl
Ma non esiste una procedura principale..fondamentale?
ne Visual Basic è denotata dal "From_Load"...nel Pascal è quello che sta dopo il Begin...End
non c'è una cosa principale?
in C e C++ c'è il main (programma prioncipale).
void main()
{
//codice
}
Originariamente inviato da ghiotto86
in C e C++ c'è il main (programma prioncipale).
void main()
{
//codice
}
In C++ questa sopra da un bel errore ;)
int main()
{
//codice
return 0;
}
Originariamente inviato da cionci
In C++ questa sopra da un bel errore ;)
perke non vi leggete una guida o un manuale? :O
ghiotto86
02-10-2004, 14:08
Originariamente inviato da cionci
In C++ questa sopra da un bel errore ;)
int main()
{
//codice
return 0;
}
già vero.:D
Secondo me, non devi preoccuparti di che linguaggio usare, ma se sai programmare.
Mi spiego: sono oramai 6 anni che uso il computer e 5 che programmo( o cmq che studio informatica da autoditatta).
Da quel poco che ho capito tu potrai anche sapere C/C++/Java/Delphi/Python, ecc .... ma se non sai programmare(verbo che significa saper risolvere un problema utilizzando in calcolatore....si computer deriva dal latino computor(conto) come il 60% delle parole inglesi) nn farai mai nulla.
Certo, sapendo la sintassi potrai leggere il codice.....ma quello che ti serve e saper risolvere problemi(la logica) usando il linguaggio(mezzo).
Indi prima studiati la logica e poi il mezzo.
Ovviamente per + programma(obbiettivi) ci sono mezzi che forniscono + vantaggi(Java x le reti, asm per il basso livello) e li concordo che conoscerne la sintassi è utile.
Detto questo ti saluto ricordandoti che questo è tutto IMHO e proponendo al moderatore di bloccare sul nascere questi post che proliferano peggio dei funghi nel parco del Ticino(dove abito io :D )
leadergl
02-10-2004, 14:58
Originariamente inviato da Luc@s
Secondo me, non devi preoccuparti di che linguaggio usare, ma se sai programmare.
Mi spiego: sono oramai 6 anni che uso il computer e 5 che programmo( o cmq che studio informatica da autoditatta).
Da quel poco che ho capito tu potrai anche sapere C/C++/Java/Delphi/Python, ecc .... ma se non sai programmare(verbo che significa saper risolvere un problema utilizzando in calcolatore....si computer deriva dal latino computor(conto) come il 60% delle parole inglesi) nn farai mai nulla.
Certo, sapendo la sintassi potrai leggere il codice.....ma quello che ti serve e saper risolvere problemi(la logica) usando il linguaggio(mezzo).
Indi prima studiati la logica e poi il mezzo.
Ovviamente per + programma(obbiettivi) ci sono mezzi che forniscono + vantaggi(Java x le reti, asm per il basso livello) e li concordo che conoscerne la sintassi è utile.
Detto questo ti saluto ricordandoti che questo è tutto IMHO e proponendo al moderatore di bloccare sul nascere questi post che proliferano peggio dei funghi nel parco del Ticino(dove abito io :D )
mamma mia come siamo severi!
nel risolvere i problemi sono già capace, sto solo cercando di avere qualche nozione base su un nuovo linguaggio di programmazione poi ovviamente mi metterò da me, volevo solo consigli su come iniziare, qualche dritta su come è strutturato il C!!
;) Se questo thread non ti piace non frequentarlo :D
VegetaSSJ5
02-10-2004, 18:33
Originariamente inviato da leadergl
Ma non esiste una procedura principale..fondamentale?
ne Visual Basic è denotata dal "From_Load"...nel Pascal è quello che sta dopo il Begin...End
non c'è una cosa principale?
certo! un rogramma scritto in c non può partire se non esiste la funzione main che è quella da cui il programma comincia la propria esecuzione.
int main (int argc, char *argv[])
int è il tipo del valore restituito: in genere un main termina con un return 0 per indicare al chiamante l'esito positivo oppure return -1 in caso di errore, chiaramente però il programma chiamante deve essere predisposto per accettare il valore ritornato... non è necessario far ritornare un valore, diciamo che farlo è solo una formalità per rispettare gli standard. Per provare quello che dico prova a compilare un programma dando come intestazione del main "void main (...)". ti darà un messaggio di warning, ma ciò non comporta assolutamente niente.
i parametri del main sono opzionali e servono solo quando un programma deve essere eseguito con dei parametri. argc è un intero e rappresenta il numero di parametri (NOTA: argc non è mai minore di 1 perchè viene contato il nome del programma).
argv è un vettore di puntatori a caratteri (ovvero un vettore di stringhe...:D ), in pratica argv[0] è il nome del programma che eseguite e i parametri, se ci sono, saranno in posizione argv[1] argv[2]...
uno alle prime armi può scrivere il main anche in questo modovoid main () {
corpo della funzione;
}
Originariamente inviato da leadergl
mamma mia come siamo severi!
nel risolvere i problemi sono già capace, sto solo cercando di avere qualche nozione base su un nuovo linguaggio di programmazione poi ovviamente mi metterò da me, volevo solo consigli su come iniziare, qualche dritta su come è strutturato il C!!
;) Se questo thread non ti piace non frequentarlo :D
non sono severo :eek:
Ho solo expresso la mia opinione :P
Originariamente inviato da VegetaSSJ5
certo! un rogramma scritto in c non può partire se non esiste la funzione main che è quella da cui il programma comincia la propria esecuzione.
[
in realta il gcc ha opzioni per scegliere entry point diversi da main ;)
RaouL_BennetH
02-10-2004, 22:18
Originariamente inviato da Luc@s
Secondo me, non devi preoccuparti di che linguaggio usare, ma se sai programmare.
Mi spiego: sono oramai 6 anni che uso il computer e 5 che programmo( o cmq che studio informatica da autoditatta).
Da quel poco che ho capito tu potrai anche sapere C/C++/Java/Delphi/Python, ecc .... ma se non sai programmare(verbo che significa saper risolvere un problema utilizzando in calcolatore....si computer deriva dal latino computor(conto) come il 60% delle parole inglesi) nn farai mai nulla.
Certo, sapendo la sintassi potrai leggere il codice.....ma quello che ti serve e saper risolvere problemi(la logica) usando il linguaggio(mezzo).
Indi prima studiati la logica e poi il mezzo.
Ovviamente per + programma(obbiettivi) ci sono mezzi che forniscono + vantaggi(Java x le reti, asm per il basso livello) e li concordo che conoscerne la sintassi è utile.
Detto questo ti saluto ricordandoti che questo è tutto IMHO e proponendo al moderatore di bloccare sul nascere questi post che proliferano peggio dei funghi nel parco del Ticino(dove abito io :D )
Io sono agli inizi, e certe volte spiace anche a me dover ricorrere a richiedere aiuto per risolvere qualcosa, solo che, ammetto che quello che hai detto mi ha colpito perchè mi ha un attimino fatto riflettere su un punto fondamentale, e cioè, di pensare prima in modo logico allo scopo e poi utilizzare un mezzo per compierlo e per questo ti ringrazio :)
Thx.
RaouL.
leadergl
02-10-2004, 23:26
Vabbè ragazzi non fa niente!
Lasciate stare, mi avete fatto perdere la voglia!
Ringrazio invece chi si era dimostrato disponibile ;)
VegetaSSJ5
03-10-2004, 02:27
Originariamente inviato da Luc@s
in realta il gcc ha opzioni per scegliere entry point diversi da main ;)
intendevo l'ansi c
DanieleC88
03-10-2004, 08:22
Luc@s, non sono totalmente d'accordo con te: guarda che io non più di un anno e mezzo fa stavo ancora a giocare vol visual basic, poi ho scoperto il delphi... ora mi sto facendo un sistema operativo, come sai. Imparare ad usare un nuovo linguaggio, soprattutto uno come il C, ti permette anche di arrivare, risolvendo volta per volta i problemi che ti si pongono davanti, al fine logico che dici tu. Insomma, la mente si adatta a pensare in un certo modo anche soltanto con l'esercizio. Per questo ero favorevole ad "insegnare" il C (per quanto ne so io) a leadergl, RaouL_BennetH, e mangzeus. Cmq, sono opinioni.
Originariamente inviato da VegetaSSJ5
intendevo l'ansi c
Lo so ma dato che il Gcc e disponibile x win32(e tra un po 64), linux e le altre piattaforme + usate............
Originariamente inviato da RaouL_BennetH
Io sono agli inizi, e certe volte spiace anche a me dover ricorrere a richiedere aiuto per risolvere qualcosa, solo che, ammetto che quello che hai detto mi ha colpito perchè mi ha un attimino fatto riflettere su un punto fondamentale, e cioè, di pensare prima in modo logico allo scopo e poi utilizzare un mezzo per compierlo e per questo ti ringrazio :)
Thx.
RaouL.
Te l'ho scritto perche anche io ci sono passato e ci ho riflettuto :)
Cmq.........il tutto è IMHO, non pretendo che tu lo creda un dogma...io sono tipo filosofo......i dogmi non li accetto....indi se qualcuno mi smentisce....bene, accettero la critica e modifichero il mio pensiero leggermente con il contributo altrui ;)
Originariamente inviato da DanieleC88
Imparare ad usare un nuovo linguaggio, soprattutto uno come il C, ti permette anche di arrivare, risolvendo volta per volta i problemi che ti si pongono davanti, al fine logico che dici tu. Insomma, la mente si adatta a pensare in un certo modo anche soltanto con l'esercizio. Per questo ero favorevole ad "insegnare" il C (per quanto ne so io) a leadergl, RaouL_BennetH, e mangzeus. Cmq, sono opinioni.
Io ho incominciato, un paio di mesetti fa, a studiarmi gli algoritmi(ordinamento, ricerca et simila) su un libro di C++(Sedgewick).
Ora, anche se il codice era in C++, inizialmente ho fatto un poi fatica perche il libro(pensato per orsi universitare ed molto simile ad altri come il libro di Tanenbaum sugli Os che sto leggendo) parlava in teoria(il medoto) e il C++(mezzo) era un optional per raggiungere l'obbiettivo.
IMHO.........li, che è , sempre IMHO, la base dell'informatica, mi è molto servito non conoscere il C++ e rogolette, ma usare la logica.
Logica poi che ti permettera in futuro, uscendo un nuovo linguaggio, di doverne imparare la sintassi in 10 minuti e saperlo usare al meglio(campo dove riesce di +.Es: java con le reti) possiedendo la logica.
Il tutto, ricordo sempre, è IMHO,
leadergl
03-10-2004, 09:52
Caro Luc@s,
parte di quello che dici è giusta ma se non sai dall'altra parte che persone ti trovi è inutile fare certe affermazioni!
Io faccio l'università in Informatica e ti assicuro che di logica e risoluzione di problemi ne capisco abbastanza ed è per questo che mi serve più che altro la sintassi del C ed il suo modo di strutturare i programmi!
Io non avevo chiesti di insegmarmi a PROGRAMMARE, perchè questo lo so fare anche abbastanza bene, avevo solo chiesto di insegnarmi a GESTIRE IL C!!
Cmq ripeto, non fa niente...faccio da solo!:cool:
spero nn ti sia offeso.
E tutto IMHO.........puoi benissimo saltarlo a pie pari ;)
mangzeus
03-10-2004, 21:59
pensavo fosse meno polemico un thread dove si cercava di dare una mano a una persona che aveva il desiderio di imparare un nuovo linguaggio come chi ha aperto la discussione, e sinceramente mi stavo prendendo a leggere anch'io, piacerebbe anche a me imparare un linguaggio nuovo, e dico grazie a Danielec88 che ha dato disponibilità a spiegare delle differenze tra un linguaggio e l'altro, è logico che non poteva fare un corso sul forum, stava solo rispondendo a delle domande e giustamente consigliava con delle dritte. E ringrazio anche Vegeta con tutti i link che mi ha fornito, sei un grande...
VegetaSSJ5
04-10-2004, 02:23
Originariamente inviato da mangzeus
E ringrazio anche Vegeta con tutti i link che mi ha fornito, sei un grande...
passo la palla a anx721 visto che è lui che ha postato i link e non io...;) :)
cmq per il fatto che sono un grande.... lo sapevo!!:eek: :eek: :sofico: :sofico: :D
DanieleC88
04-10-2004, 11:53
Mi sembra che il "corso" sia già finito, peccato. :( .... :)
e dico grazie a Danielec88
di niente!
Per Luc@s: in effetti ha ragione leadergl, ed alla fine poteva anche essere purà curiosità. Cmq, sono opinioni, l'ho detto e lo ripeto. Ciao, e datti da fare per il SO!! :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.