Какие практические проекты нужно учитывать при попытке выучить C? - PullRequest
21 голосов
/ 28 июля 2010

Я видел много вопросов и ответов на SO о том, почему я должен изучать C. Я знаю, что это низкий уровень, он даст мне понимание того, как все работает на этом уровне, и это заставит меня лучший программист Я знаю несколько хороших книг для чтения, которые помогут мне выучить C.

То, что я не чувствую, я знаю, это некоторые практические проекты, над которыми я могу работать, чтобы помочь мне изучить, как используется язык. В книгах, которые я читаю, есть много примеров, и они абсолютно полезны для закрепления знаний, полученных о самом языке. Но я не чувствую, что получаю какое-либо представление о «реальных» примерах того, что я могу сделать с C.

Мое прошлое: я недавний выпускник колледжа, который занимается прикладным программированием на C #. Мне нравится выполнять упражнения по программированию на C, но я просто чувствую, что это упражнения. Я точно знаю, что не стану экспертом сразу и начну делать удивительные вещи. Я просто хочу несколько идей о том, что я могу сделать, чтобы помочь мне стать лучше, но это больше, чем просто упражнения. (Я хочу уточнить, что я не против того, чтобы выполнять такие задачи, чтобы помочь мне узнать о языке. Я просто думаю, что я бы больше увлекся изучением, если бы делал что-то, что казалось бы более практичным по своей природе.)

Если это "не реальный вопрос", я действительно извиняюсь, и я знаю, что вопросы об изучении C заканчиваются ТАК. Я не пытаюсь быть повторяющимся. Я убежден в том, что я должен изучать язык, я просто хочу иметь реальные идеи о том, как я могу начать применять знания.

Смотрите также

Ответы [ 6 ]

13 голосов
/ 28 июля 2010

Вот несколько идей для вас:

  1. Сохраните файл, содержащий хэши каждого файла в вашей музыкальной директории, и сообщайте об изменениях.
  2. Решите судоку в кратчайшие сроки.
  3. Отправьте файл с помощью TCP на другой компьютер. (Напишите и сервер и клиент).
  4. Программа, которая транслирует список общедоступных файлов (сконфигурированных в виде текстового файла) по UDP, а затем принимает TCP-соединения для их загрузки.
  5. Клиент командной строки POP3.
  6. Запишите распределитель памяти и подключитесь к malloc.

Поздравляем с принятием решения изучать C. Это самый мощный язык на Земле, и он даст вам основание, необходимое для того, чтобы пнуть какой-то прикладной предмет.

0 голосов
/ 28 июля 2010

Есть несколько конкурсов по искусственному интеллекту, которые являются и практическими, и веселыми.Это поможет вам выучить язык, поможет вам понять любой пример кода, отладку и реализовать общие алгоритмы.

Самое главное, что это весело, так что это сохранит вашу мотивацию продолжать обучение.

Например, несколько месяцев назад мне понравился вызов Google AI: http://csclub.uwaterloo.ca/contest/

Удачи и приятного просмотра:)

0 голосов
/ 28 июля 2010

Мое семиступенчатое руководство по поиску чего-то мудрого кода:)

  1. найди что-нибудь, что тебе нравится или понравится (желательно, связанное с ИТ)
  2. найди с этим проблему или чтоспособ улучшить это, иначе перейдите к шагу 1
  3. разделите проблему на логические части, они будут представлять функции и структуры, используйте лист бумаги, если это поможет вам визуализировать проблему (это то, что я иногда делаю)
  4. разработайте свой план атаки, а именно: как вы будете реализовывать то, что разработали на шаге 3
  5. Кодировать, учиться, тестировать, учиться, отлаживать, учиться, улучшать, учиться и кодировать иУзнайте больше
  6. Готово, но не совсем, это когда вы просматриваете то, что вы сделали, поражаетесь всей его красе и учитесь на всех ее ошибках и проблемах.посмотрите, какие части вам понравились, какие части вы ненавидели, а какие еще вы можете узнать больше.
  7. перейдите к шагу 1, используя знания, полученные на шаге 6 (и все другие шаги на этом пути)

Если у вас закончились дела и вы хотите быть продуктивными в коммерческом смысле, посмотрите, можете ли вы разговаривать с людьми, которые работают с компьютерами / ИТ-системами / и т. Д., Как повседневное явление в своей работе, и посмотрите, чтослучитесь с ними и попытайтесь разработать идеи, которые могли бы улучшить их производительность и / или легкость, с которой они могут выполнять свои задачи, кто знает, что у вас могут быть дополнительные знания и дополнительные деньги

0 голосов
/ 28 июля 2010

Написать компилятор для подмножества C.

0 голосов
/ 28 июля 2010

Способ изучения C будет состоять в том, чтобы попробовать POSIX-совместимые образцы из любой книги по операционной системе.

0 голосов
/ 28 июля 2010

Посмотрите, что вам нравится делать в реальной жизни, и попробуйте использовать их в приложении.Например, если вы любите игры, попробуйте сделать игру или, если вам нужна идея, переделайте классику.Если вы любите бухгалтерский учет, попробуйте сделать бухгалтерское приложение с соответствующим интерфейсом.Если вы не увлечены этой идеей, то, возможно, через некоторое время вы устанете и выбросите ее.

Кстати, я думаю, что вы на правильном пути, и мне нравятся решения, которые вы уже приняли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...