Практические примеры для практики C? - PullRequest
3 голосов
/ 06 мая 2011

Я знаю несколько языков программирования, в том числе Objective-C, Java, C #, Python и C. Однако мне нужно освежить свою эффективность в C.

В большинстве языков с высокойУровень, объектно-ориентированный и GUI-ориентированный, я создаю несколько стандартных объектно-ориентированных примеров, чтобы ориентировать меня на язык / рамки.Я обычно создаю пример «автомобиля», где я моделирую автомобиль и позволяю пользователю регулировать скорость, наблюдая за увеличением пробега.

Однако что-то подсказывает мне, что этот пример не так практично переносить на C внастройка командной строки unix.Каковы некоторые хорошие основные идеи, чтобы «проверить себя» в настройке C на основе командной строки Unix?

Спасибо за любой ввод!

РЕДАКТИРОВАТЬ: Спасибо за ответы.Моя основная проблема с примером автомобиля заключается в том, что я не должен пытаться объектно-ориентированных в этой среде, а скорее делать что-то, что больше подходит для языка.Спасибо Duck за предложение воссоздать утилиты командной строки.

Ответы [ 5 ]

6 голосов
/ 06 мая 2011
4 голосов
/ 06 мая 2011

Воссоздайте (в сотый раз) любую из стандартных утилит командной строки - cat, ls, touch, more, less и т. Д. Напишите базовую оболочку.Это будет упражнение C и повторное знакомство с системными вызовами Unix.

2 голосов
/ 06 мая 2011

Вы можете написать что-то подобное со структурами. Создайте структуру автомобиля и создайте функции, которые работают со структурой автомобиля, переданной в качестве указателя (укажите этот параметр явно). Вы можете использовать conio.h или ncurses.h для создания необычной анимации консоли с использованием таймеров. Это может быть весело и может дать некоторое представление. Вам также нужно будет прочитать ввод с клавиатуры, чтобы увеличить / уменьшить скорость.

2 голосов
/ 06 мая 2011

попробуйте это: http://www.gowrikumar.com/c/

Они дают загадки и проблемы, просят вас их найти, а затем вы можете проверить свой ответ.Может быть, не достаточно для того, что вы просили, но это может быть началом?

1 голос
/ 06 мая 2011

Получите «Расширенное программирование в среде Unix» У. Ричарда Стивенса.Лекции и примеры в этой книге гораздо более созвучны, более реалистичны и практичны для типа работы, выполняемой в C. Они показывают цель и цель (и в высшей степени философию) языка.

Это, IMO, будет лучше для чистки вашего C (в дополнение к повторному просмотру книги K & R oldie-but-goldie.)

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

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