Miglior manuale per chi comincia il C ?

Pubblicità

Deplorevole

Utente Attivo
Messaggi
120
Reazioni
12
Punteggio
37
salve a tutti ragazzi, come da titolo cerco un buon manuale per incominciare il suddetto linguaggio di programmazione.

premettiamo che sono uno studente di informatica quind il c mi è fondamentale altrimenti programmazione 1 / programmazione 2 non li passo purtroppo :party:

detto questo, secondo voi, qual è il miglior manuale per incominciare a studiare in c ? le mie scelte si divergevano tra questi due :

La mitica bibbia in C di ritchie

Amazon.it: Il linguaggio C. Principi di programmazione e manuale di riferimento - Brian W. Kernighan, Dennis M. Ritchie, V. Marra - Libri

e questo qui un po piu anonimo ( ma che a quanto ho letto è forse meglio per i novellini come me )

Amazon.it: Il linguaggio C. Fondamenti e tecniche di programmazione - Paul J. Deitel, Harvey M. Deitel - Libri

ora mi affido a voi ; uno di questi due va bene o ne conoscete qualcuno fatto meglio ? grazie a tutti in anticipo :D
 
Dipende tutto dalle basi che possiedi.
Il K&R è più un manuale di utilizzo del C, tipo MSDN per C#, il Deitel invece è più adatto per chi inizia. In ogni caso per passare programmazione I sono fondamentali le conoscenze di base e capacità di problem solving. Ci si focalizza troppo sul linguaggio lasciando perdere tutto il resto, attenzione
 
Dipende tutto dalle basi che possiedi.
Il K&R è più un manuale di utilizzo del C, tipo MSDN per C#, il Deitel invece è più adatto per chi inizia. In ogni caso per passare programmazione I sono fondamentali le conoscenze di base e capacità di problem solving. Ci si focalizza troppo sul linguaggio lasciando perdere tutto il resto, attenzione
allora penso opterò per il deitel :)

in ogni caso lo avrei preso a prescindere dalla indole del problem solving, che indubbiamente si acquisisce codando. ma purtroppo sono una di quelle persone che non riesce a studiare dalle slide, e soprattutto per un linguaggio cosi importante come il C,oltre che interessante, ci voglio spendere un pochino di tempo perchè voglio capirlo a pieno :asd:
 
Metodo a mio modo di vedere sbagliato.
Un problema lo risolvi e hai in output una soluzione, la soluzione poi a sua volta viene codificata.
Esempio banale: la ricerca dei numeri primi.
Non è che scrivi codice a caso e speri che esca in output una serie di numeri primi, ragioni e dopo codifichi(che può essere il becero brute force o qualcosa di più elaborato come le serie di Eratostene o di Atkin.
Una sintassi si impara in due mesi(algebra dei puntatori, memoria, strutture...), il ragionamento dietro un algoritmo si apprende nell'arco di mesi se non anni
 
in ogni caso lo avrei preso a prescindere dalla indole del problem solving, che indubbiamente si acquisisce codando.
è esattamente il contrario di quanto affermi;
il problem solving non si acquisice "codando" (che non è nemmeno Italiano se intendevi "scrivere codice")
ma "pensando" a come risolvere un certo problema, possibilmente in un buon modo se non nel migliore possibile;
la stesura del codice è un passo successivo (vedi esempio che ti faceva Tinwor sui numeri primi).
 
penso che senza la ruota però il carro non gira, e senza la pratica la teoria non si assimila :)

il primo problema da risolvere è imparare il C, e su questo ci troviamo estremamente d'accordo in quanto ho comprato un libro per aiutarmi in questo obiettivo, semplicemente perchè le slide universitarie non soddisfano a pieno la mia voglia di conoscenza :)

Se non incomincio ad esercitarmi in maniera seria su un linguaggio di programmazione, a prescindere dalla capacità di risolvere il problema ( che indubbiamente deriva si dall'intelletto, ma la pratica da la sua buona spinta, così come in tutto. ) dubito che ne possa acquisire una di problem solving :)
 
Problema:
decomporre il numero 148377020567 in fattori primi
in generale "dato N intero positivo, decomporlo in fattori primi";
il "problem solving" in questo caso è trovare un buon modo per decomporre un numero in fattori primi;

i problemi sono indipendenti dal linguaggio per codificarne la soluzione al calcolatore;
se conosci il C alla perfezione puoi esercitarti quanto vuoi ma il problema non lo risolvi se prima non comprendi come risolverlo in piccolo (eventualmente a mano);
se invece sai risolvere il problema "a manina" hai buone possibilità di scrivere le istruzioni in C anche quando del linguaggio hai una conoscenza superficiale.
Essere un informatico significa
1. saper risolvere i problemi
2. tradurli quando necessario e richiesto in codice di programmazione

Hai fatto bene a prendere il Deitel perché, oltre alla trattazione approfondita del C include una miriade di esercizi da svolgere:
non tralasciarli anche quando ti semprano troppo facili.
 
Ciao noi all'università per programmazione 1 utilizziamo il testo scritto dal docente "programmazione consapevole" che al contrario del parere di molti è essenziale e scritto bene per quanto discutibili siano i suoi metodi di insegnamento.
Dovresti trovare il pdf facendo qualche ricerca tieni presente che è un libro molto breve e introduce le basi del c e c++ con annesse correttezza ed invarianti
 
sono dell'idea che la programmazione o la capisci o non la capisci, non tutti possono capire il kernigham e richie, già il primo esempio sui gradi a me mi manda in crisi
 
e questo qui un po piu anonimo ( ma che a quanto ho letto è forse meglio per i novellini come me )

Amazon.it: Il linguaggio C. Fondamenti e tecniche di programmazione - Paul J. Deitel, Harvey M. Deitel - Libri

Non è per nulla anonimo... "C. Corso completo di programmazione" (che credo sia la precedente edizione di quello che hai linkato tu, sempre di Deitel e Deitel) veniva anche usato come libro di testo (non so se venga usato tuttora) per il corso di informatica 1 di ing. informatica al politecnico di milano.
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top