Книга: Б.В. Керниган, Д. М. Ричи - Язык C
Описание
Характеристики книги
Список файлов
- довольно таки хорошая книжка по С для начинающих
- c.txt 454,51 Kb
Керниган, Ричи. Язык C
ЯЗЫК С
Б.В. Керниган,
Д.М. Ричи.
Аннотация
Язык "C"(произносится "си") - это универсальный язык
программирования, для которого характерны экономичность выра-
жения, современный поток управления и структуры данных, бога-
тый набор операторов. Язык "C" не является ни языком "очень
высокого уровня", ни "большим" языком, и не предназначается
для некоторой специальной области применения. но отсутствие
ограничений и общность языка делают его более удобным и эф-
фективным для многих задач, чем языки, предположительно более
мощные.
Язык "C", первоначально предназначавшийся для написания
операционной системы "UNIX" на ЭВМ DEC PDP-11, был разрабо-
тан и реализован на этой системе Деннисом Ричи. Операционная
система, компилятор с языка "C" и по существу все прикладные
программы системы "UNIX" (включая все программное обеспече-
ние, использованное при подготовке этой книги) написаны на
"C". Коммерческие компиляторы с языка "C" существуют также
на некоторых других ЭВМ, включая IBM SYSTEM/370, HONEYWELL
6000, INTERDATA 8/32. Язык "C", однако, не связан с каки-
ми-либо определенными аппаратными средствами или системами,
и на нем легко писать программы, которые можно пропускать
без изменений на любой ЭВМ, имеющей "C"-компилятор.
Эта книга предназначена для того, чтобы помочь читателю
научиться программировать на языке "C". Она содержит учебное
введение, цель которого - позволить новым пользователям на-
чать программировать как можно быстрее, отдельные главы по
всем основным особенностям языка и справочное руководство.
Обучение построено в основном на чтении, написании и разборе
примеров, а не голой формулировке правил. Примеры, приводи-
мые в книге, по большей части являются законченными реальны-
ми программами, а не отдельными фрагментами. Все примеры бы-
ли проверены непосредственно с текста книги, где они напеча-
таны в виде, пригодном для ввода в машину. Кроме указаний о
том, как сделать использование языка более эффективным, мы
также пытались, где это возможно, проиллюстрировать полезные
алгоритмы и принципы хорошего стиля и разумной разработки.
Настоящая книга не является вводным курсом в программи-
рование; она предполагает определенное знакомство с основны-
ми понятиями программирования такими как переменные, опера-
торы присваивания, циклы, функции. Тем не менее и новичок в
программировании должен оказаться в состоянии читать подряд
и освоиться с языком, хотя при этом была бы полезной помощь
более опытного коллеги.
По нашему опыту , "C" показал себя приятным, вырази-
тельным и разносторонним языком на широком множестве разно-
образных программ. Его легко выучить , и он не теряет своих
качеств с ростом опыта программиста. Мы надеемся , что эта
книга поможет вам хорошо его использовать.
Вдумчивая критика и предложения многих наших друзей и
коллег очень много добавили как для самой книги, так и для
нашего удовольствия при ее написании. В частности, Майк Би-
апси, Джим Блю, Стью Фельдман, Доуг Мак-Илрой, Билл Рум, Боб
Розин и Ларри Рослер тщательно прочитали множество вариан-
тов. Мы также обязаны Элю Ахо, Стиву Борну, Дэву Двораку,
Чаку Хэлею, Дебби Хэлей, Мариону Харрису, Рику Холту, Стиву
Джонсону, Джону Машею, Бобу Митцу, Ральфу Мьюа, Питеру Нель-
сону, Эллиоту Пинсону, Биллу Плагеру, Джерри Спиваку, Кену
Томпсону и Питеру Вейнбергеру за полезные замечания на раз-
личных этапах и Майку Лоску и Джо Осанна за неоценимую по-
мощь при печатании книги.
Брайен В. Керниган
Деннис М. Ричи
Содержание
Aннотация ........................................ 1
0.1. Введение .......................................7
1. Учебное введение................................ ..
1.1. Hачинаем................................ .......
1.2. Переменные и арифметика........................
1.3. Оператор FOR...................................
1.4. Символические константы........................
1.5. Набор полезных программ........................
1.5.1. Ввод и вывод символов........................
1.5.2. Копирование файла............................
1.5.3. Подсчет символов.............................
1.5.4. Подсчет строк................................
1.5.5. Подсчет слов.................................
1.6. Массивы................................. .......
1.7. Функции................................. .......
1.8. Аргументы - вызов по значению..................
1.9. Массивы символов...............................
1.10. Область действия: внешние переменные...........
1.11. Резюме.................................. .......
2. Типы, операции и выражения........................
2.1. Имена переменных.............................. .
2.2. Типы и размеры данных..........................
2.3. Константы............................... .......
2.3.1. Символьная константа.........................
2.3.2. Константное выражение........................
2.3.3. Строчная константа...........................
2.4. Описания................................ .......
2.5. Арифметические операции........................
2.6. Операции отношения и логические операции.......
2.7. Преобразование типов...........................
2.8. Операции увеличения и уменьшения...............
2.9. Побитовые логические операции..................
2.10. Операции и выражения присваивания..............
2.11. Условные выражения.............................
2.12. Старшинство и порядок вычисления...............
3. Поток управления.............................. ....
3.1. Операторы и блоки..............................
3.2. IF - ELSE.................................... ..
3.3. ELSE - IF......................................
3.4. Переключатель........................... .......
3.5. Циклы - WHILE и FOR............................
3.6. Цикл DO - WHILE................................
3.7. Оператор BREAK.................................
3.8. Оператор CONTINUE..............................
3.9. Оператор GOTO и метки..........................
4. Функции и структура программ......................
4.1. Основные сведения..............................
4.2. Функции, возвращающие нецелые значения.........
4.3. Еще об аргументах функций......................
4.4. Внешние переменные.............................
4.5. Правила, определяющие область действия.........
4.5.1. Область действия.............................
4.6. Статические переменные.........................
4.7. Регистровые переменные.........................
4.8. Блочная структура..............................
4.9. Инициализация........................... .......
4.10. Рекурсия................................ .......
4.11. Препроцессор языка "C".........................
4.11.1. Включение файлов.............................
4.11.2. Mакроподстановка........................ .....
5. Указатели и массивы............................
5.1. Указатели и адреса.............................
5.2. Указатели и аргументы функций..................
5.3. указатели и массивы............................
5.4. Адресная арифметика............................
5.5. указатели символов и функции...................
Начать зарабатывать