Перейти к содержанию
    

Вопросы по изучению Си

Присоединяюсь к Герцу. K&R - мало полезен. Более полезен даже не справочник, а маленьких листочек, на котором выписаны примеры ходовых конструкций. For, while, if else, ++, --, да примеры оформления функций. Языком Си не пользуюсь, а использую его. Как замену ассемблеру.

А для реальных задач в микроконтроллерах обычно возникает много разных проблем, что добавлять побочные эффекты самого Си не имеет смысла. Разве что ты - тащишься от процесса именно программирования. Я - не тащусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в микроконтроллерах обычно возникает много разных проблем....

Ну если "программировать" по шпаргалке сделанной из чего-нибудь типа поминаемого курса (не важно C, ASM, ....), то конечно "проблем" будет действительно "много и разных" :) Только это будет следствием небрежения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяюсь к Герцу. K&R - мало полезен. Более полезен даже не справочник, а маленьких листочек, на котором выписаны примеры ходовых конструкций. For, while, if else, ++, --, да примеры оформления функций. Языком Си не пользуюсь, а использую его. Как замену ассемблеру.

А для реальных задач в микроконтроллерах обычно возникает много разных проблем, что добавлять побочные эффекты самого Си не имеет смысла. Разве что ты - тащишься от процесса именно программирования. Я - не тащусь.

 

Так в том то и прелесть С, что "ходовых инструкций" меньше десятка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так в том то и прелесть С, что "ходовых инструкций" меньше десятка.

Словарь "Эллочки-Людоедки" составлял, согласно Ильфу с Петровым, 30 слов, но ими она могла выразить практически любую свою мысль. Вопрос только в том, владелала-ли Эллочка русским языком и насколько ценны ее мысли?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы научиться ездить на автомобиле нужно читать теорию двигателей ВС? Нет. Нужна маленькая шпаргалка.

 

Так вот, чтобы топикастер начал программировать контроллеры совсем необязательно вообще знать Си. Вот я его не знаю. Хотя написал на нем пару десятков программ (у многих из вас дома и на работе устройства стоят с моими программами). Не в том смысле, что я круче бублика, а что на самом деле можно так делать. А если уж интерес будет - то можно и книжку почитать. Разумеется.

 

А если что-то большое программировать (чтоб код был под сотню К), то да. Тут надо книжку таки почитать. Но вопрос стоит в программировании контроллеров класса мега48.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том то и вопрос – знаю только базу for, while, else, if, switch, как объявить функцию. Как Элочка Людоедка. Программировал на matlab различные алгоритмы ориентированные на математическое моделирование, прикладную математику – база и тут такая же. Но испытываю постоянный дискомфорт от того что мелькают незнакомые конструкции Си. Кроме того все время мучает мысль и совесть что код, алгоритм написал не оптимально, что можно меньше по объему, если применить какие-нибудь другие функции и что бы быстрее работал. Вот и закрадывается мысль что может потратить некоторое время на основы и азы, а уж потом щупать микроктнроллеры. Хотя с другой стороны изучать Си без привязке к микроконтроллерам не интересно. Если бы хотя бы в книге было много математики, различных нестандартных алгоритмов + Си – дак так хоть читать интересно, а просто Си с примитивными, разрозненными примерами – тоска.

Думаю все таки поставить Borland C++ Builder и проштудировать K@R, все таки классика.

Изменено пользователем Владимир_2010

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но испытываю постоянный дискомфорт от того что мелькают незнакомые конструкции Си.

Кстати, Си-подобный язык матлаба - это ужас, вызывающий рвоту. Концептуально. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Типа "методичка" для студентов всяких разных специальностей - прочитать, сдать зачет и забыть :(. Такого типа методичек в интернете довольно много.

Да, справедливо. Но поскольку программированием пока приходится заниматься между делом и непрофессионально - почти хватает. Когда (редко) возникает нужда разобраться глубже - беру другие источники. Вот вырасту, стану писать серьёзные программы - тогда и за книжки взрослые засяду... :rolleyes:

Из "справочников" в свое время активно пользовал СЭВ-овский стандарт языка - очень неплохо был написан и строго, и нюансировка компиляторов присутствовала, да и те-же примеры для неочевидных вещей были со вкусом подобраны и растолкованы.
Так, может, есть в сети?

 

 

Хотя с другой стороны изучать Си без привязке к микроконтроллерам не интересно.

 

Думаю все таки поставить Borland C++ Builder и проштудировать K@R, все таки классика.

Нелогично, ИМХО. К железу надо ближе... :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю все таки поставить Borland C++ Builder...

Ни в коем случае - это слишком "самодельная" реализация C :(. Традиция у борландовцев такая. Возьмите GCC (на нем и дальше,возможно, жить будете), ну или Watcom. Ну или сразу - MVC.... Но не борланд.

 

 

Так, может, есть в сети?

Не знаю :( это было издание где-то 90-го года. Выглядел он стандартно для методических материалов и международных стандартов издаваемых в то время - большой формат A4, мягкая обложка вишневого цвета, клеевой переплет. Было два экземпляра - могу поискать останки одного из них..... Пока не нашел, но два подобных издания нашел - это издания "Международного центра научной и технической информации" серия "Методические материалы и документация по пакетам прикладных программ".

 

Так вот, чтобы топикастер начал программировать контроллеры совсем необязательно вообще знать Си.

Ну,ну :( 95% процентов исходников из интернету так и написаны, но не вижу причин для гордости и для приумножении такого "добра".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да уж, все еще более усложняется и удаляется от железяк :( . Если сейчас ставить, например GCC, придется тогда не c K@R упражняться, а решать другие вопросы: где скачать (хотя вроде бы с этим проблем не должно быть, т.к. free), как запустить, как освоить программу, как скомпилировать, как в ней производить отладку, где взять книгу по GCC... А Borland C++ Builder каждый второй прохожий на улице знает, да и книг с картинками для самообучения навалом. Borland не поддерживает что ли ANSI C изложенный в книге K@R?! Мне же по идее надо только язык почувствовать, почитать K@R, поделать примеры. Дальше буду опять mega8 мучить.

Что за MVC и как он может помочь новичку в освоении микроконтроллеров и языка Си?! GCC я хотя бы буквы такие знаю (вижу при запуске avrstudio AVR GCC).

 

Отвлекшись и замечтавшись, наткнулся на книгу «Saul A. Teukolsky et al., Numerical Recipes in C». Есть ли что-нибудь подобное на русском?! Просто прикладная математика на Си с примерами – это уже не скучно будет читать даже на досуге, перед сном.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что за MVC и как он может помочь новичку в освоении микроконтроллеров и языка Си?!

Microsoft Visual С - просто комплексное решение - по любому разумнее и стандартнее борлондячего творения.

как запустить, как освоить программу, как скомпилировать, как

по любому этим придется заниматься.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне же по идее надо только язык почувствовать, почитать K@R, поделать примеры. Дальше буду опять mega8 мучить.

 

Проблема решается в два клика:

 

 

1. Ставите WinAVR-20080512

 

2. AVRstudio 4.хх

 

Изучайте! В студии встроен GCC-плагин, с которым можно пробовать почти все без напрягов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том то и вопрос – знаю только базу for, while, else, if, switch, как объявить функцию. Как Элочка Людоедка. Но испытываю постоянный дискомфорт от того что мелькают незнакомые конструкции Си. Кроме того все время мучает мысль и совесть что код, алгоритм написал не оптимально, что можно меньше по объему, если применить какие-нибудь другие функции и что бы быстрее работал. Вот и закрадывается мысль что может потратить некоторое время на основы и азы, а уж потом щупать микроктнроллеры.
Ну все-таки без K&R никуда... но и пробовать ведь можно на симуляторе для микроконтроллера ?

Код не оптимальный ? Дык вроде здесь можно найти уйму примеров как из неоптимального делают оптимальный...

просто задавайте вопросы если где чего непонятно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том то и вопрос – знаю только базу for, while, else, if, switch, как объявить функцию.

[skipped]

Но испытываю постоянный дискомфорт от того что мелькают незнакомые конструкции Си. Кроме того все время мучает мысль и совесть что код, алгоритм написал не оптимально, что можно меньше по объему, если применить какие-нибудь другие функции и что бы быстрее работал.

Осмелюсь посоветовать взять в компанию к K&R аппноты AVR030,AVR035

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

В этом форуме, в ветках, посвященных AVR есть масса кода и ссылок - читайте, разбирайтесь,программируйте

и отлаживайте свой кристалл. Есть еще, например, www.avrfreaks.net - много всяких несложных вещей, да и при желании в сети можно найти множество рабочего кода на С под АВР и поразбираться в нем.

Если бы хотя бы в книге было много математики, различных нестандартных алгоритмов + Си – дак так хоть читать интересно, а просто Си с примитивными, разрозненными примерами – тоска.

Думаю все таки поставить Borland C++ Builder и проштудировать K@R, все таки классика.

 

Ну, если время девать некуда... :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот, пользуюсь, как справочником. О "художественной" ценности судить не стану - не имею права... Как и о том, с каких книг правильно начинать обучение программированию. Но именно в практике работы с МК мне помогает больше, чем "библия" Кернигана и Ритчи. Может, исключительно из удобного HTML-представления. :rolleyes:

Библию K@R сейчас нашел в формате chm (http://рапидшаре.com/files/207090745/C_Language.rar.html), а то до этого на компе книга была не OCR в формате djvu . Может быть еще кому-нибудь пригодиться.

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

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

А сейчас каким справочником пользуетесь?! Или справочник уже в голове?!

Присоединяюсь к Герцу. K&R - мало полезен. Более полезен даже не справочник, а маленьких листочек, на котором выписаны примеры ходовых конструкций. For, while, if else, ++, --, да примеры оформления функций. Языком Си не пользуюсь, а использую его.

Встречал нечто подобное в сети в pdf, где на листочке-шпаргалке было выписано и описано все коротенечко. Файл найти не могу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...