6
votes

C Problèmes et solutions

Je recherche une série de problèmes C (avec des solutions) que je peux utiliser pour construire mes compétences C. Je comprends déjà les bases de la langue, de la syntaxe et de la sémantique. Je cherche une série de problèmes qui m'aideront mes compétences, pas un ensemble de questions simples que vous verrez dans une classe de programmation d'introduction.

c

3 commentaires

@James qui devrait être une réponse: p +1


@Seth: Je suppose que cela devrait. Fixé. :-)


OP: Mise à jour de la question initiale, avec une réponse.


10 Réponses :


6
votes

Build Bibliothèques qui mettent en œuvre sophistiqué structures de données , comme des arbres binaires, des dictionnaires etc.


0 commentaires

10
votes

Et n'oubliez pas code-golf .

Vous ne voulez probablement pas répondre uniquement aux défis (questions) qui ont au moins 10 upvotes.


2 commentaires

+1, bien que je suis tenté de gratter le mot «ping» sur mon ensemble poussiéreux de vrais clubs et remplacez-le par «Perl». Néanmoins, amusant de travailler sur les problèmes de C, en particulier des lasers.


Droite, à ce jour, en particulier Code-Golf, c'est plus que de simples programmes, c'est aussi un forum général et un lieu pour chacun de faire avancer leurs compétences.



4
votes

écrire un compilateur. Il n'a pas besoin d'être complexe ou même complet: vous pouvez créer une langue simple (un sous-ensemble de Lisp?), Puis écrivez un LXER pour cela. Assurez-vous de commencer par poser la grammaire formelle. Vous toucherez la gestion de la mémoire, les arithmétiques du pointeur et d'autres trucs Neat C.

J'ai beaucoup appris sur l'automate et le compilateur-design en écrivant un analyseur YAML simple en C ++.


2 commentaires

C'est à peu près aussi bon que l'apprentissage C en écrivant un système d'exploitation. Bien sûr, je l'ai fait pour apprendre c, mais je ne recommanderais pas une telle douleur extrême à quiconque (cours, je ne connaissais pas toute la sémantique et de telle de C soit quand j'ai commencé). Tout projet grand complexe vous aidera à apprendre c


Non, mon point est de commencer quelque chose. Je suis intéressé par des compilateurs, des analyseurs, des interprètes et tels. OS, Jeux, Text-Editors - Ils peuvent tous être grands et décourageants. L'astuce est de commencer. Rendez-le aussi petit que possible, même un sous-composant incomplet d'un grand porject. Si vous traitez avec ce qui vous fascine, vous allez bien faire, et vous vous apprécierez même.



10
votes

Vous pouvez essayer de résoudre certains des problèmes sur projet Euler . Les premiers sont assez simples, mais ils deviennent très difficiles très rapidement. Je pense que c'est beaucoup de plaisir à essayer de trouver le code le plus court ou le code hautement optimisé pour calculer les résultats (cependant, j'utilise généralement C ++ ou Python, pas c).

Un avantage Le projet Les problèmes d'Euler sont qu'ils ne sont pas seulement centrés sur la langue; Ce sont des problèmes qui vous font vraiment penser à la manière de développer une solution élégante à des problèmes difficiles.


2 commentaires

+1 pour la belle suggestion. Cependant, le projet Euler n'est pas ce que l'OP recherche, car il souhaite des problèmes avec leurs solutions, et PE ne montre pas la solution tant que vous n'avez pas résolu le problème vous-même.


Eh bien, le projet Euler vous dit si Votre solution est correct, et si vous recherchez Google, vous devez trouver des solutions à de nombreuses solutions, sinon la plupart, des problèmes dans une variété de langues.




2
votes

Essayez le livre de Dennis Ritchie sur la langue de programmation C. Le livre a de très bons problèmes et de lire c'est une joie :) Pour des problèmes plus difficiles, vous pouvez accéder à Concours de programmation Bitwise


1 commentaires

Le lien est expiré et ne parvient pas à charger. :(



0
votes

Le référentiel de Knuth de Bitwise pourrait aider dans la noble poursuite :)

http: //www-cs-faculty.stanford. EDU / ~ Knuth / fasc1a.ps.gz


0 commentaires

1
votes

Ruby Quiz a 156 problèmes avec des solutions. Mais dans Ruby, pas C. Voir la liste de diffusion de Ruby-Lang pour plus d'après que James a cessé d'être Master Ruby Quiz.


0 commentaires

0
votes

pratique Code KATAS , la langue n'a pas d'importance. Essayer de résoudre des katas que vous avez déjà fait avec une autre langue est généralement assez efficace d'apprendre une nouvelle langue.


0 commentaires

0
votes

Vous pouvez toujours visiter FreshMeat , trouvez quelques projets qui vous intéressent et regardent leur suivi de bogues. Prenez le code et essayez de réparer quelques problèmes.

Ceci aide à ouvrir la source tout en vous aidant à vous permettre de passer au code de quelqu'un d'autre avec des lunettes de protection.


0 commentaires