Justworks.ru

21Мар/110

Брайан Керниган, Деннис Ритчи: Язык программирования C

Брайан Керниган, Деннис Ритчи: Язык программирования C

Классическая книга по программированию на языке Си. Must Read для всех программистов. Очень проработанная и выверенная (первое издание - 1978 год).

Начинается она так:

Самый лучший способ изучить новый язык программирования — это сразу начать писать на нем программы. Программировать на любом языке начинают с такой программы: Вывести слова: Hello, world

Замечу такую деталь. Способ оформления исходных текстов в книге тоже стал классическим (называется K&R по именам авторов) и используется в таких проектах, как Linux Kernel — Linux Kernel Coding Style.

Википедия утверждает, что идея использовать «Hello, World» в качестве первой программы пошла именно из этой книги.

По уровню книгу стоит читать студентам 1-2 семестра профильного вуза. В школе лучше изучать Python и Free Pascal.

Почитать: Керниган, Ритчи. Язык C

Купить:

Метки записи: , , Нет комментариев
29Янв/113

C++: использование endl

Распространено мнение, что строки:

cout<<"String\n";

и

cout<<"String"<<endl;

эквивалентны.

Это не так. Команда endl:

  • Записывает в поток (stream) символ перевода строки;
  • Выполняет flush для буферизированного потока.

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

Из-за этой особенности возникает мнение, что работа с потоками (streams) существенно медленнее, чем с функциями типа printf. Это не так, производительность примерно одинаковая.

Метки записи: , 3 Комментарии
18Янв/111

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

Управлять светодиодами в Linux можно с помощью библиотеки parportled. Однако качество кода у библиотеки низкое и в качестве примера приводить её неправильно. Будем писать свой правильный велосипед, тем более, что это очень просто. Примеры кода на языке C.

Метки записи: , Читать полностью