Язык программирования Си


Язык программирования Си

Приложение A. Справочное руководство
A Введение
A Соглашения о лексике
A Лексемы (tokens)
A Комментарий
A Идентификаторы
A Ключевые слова

A Константы
A Целые константы
A Символьные константы
А Константы с плавающей точкой
A Константы-перечисления
A Строковые литералы
A Нотация синтаксиса
A Что обозначают идентификаторы
A Класс памяти
A Базовые типы

A Производные типы
A Квалификаторы типов
A Объекты и Lvalues
A Преобразования
A Целочисленное повышение
A Целочисленные преобразования
A Целые и числа с плавающей точкой
A Типы с плавающей точкой
А Арифметические преобразования

A Указатели и целые
A Тип void
А Указатели на void
A Выражения
A Генерация указателя
A Первичные выражения
A Постфиксные выражения
A Обращение к элементам массива
A Вызов функции

A Обращение к структурам
A Постфиксные операторы инкремента и декремента
А Унарные операторы
А Префиксные операторы инкремента и декремента
A Оператор получения адреса
A Оператор косвенного доступа
A Оператор унарный плюс
A Оператор унарный минус
A Оператор побитового отрицания
A Оператор логического отрицания

A Оператор определения размера sizeof
A Оператор приведения типа
A Мультипликативные операторы
A Аддитивные операторы
A Операторы сдвига
A Операторы отношения
A. Операторы равенства
A. Оператор побитового И
A. Оператор побитового исключающего ИЛИ
A. Оператор побитового ИЛИ

A. Оператор логического И
A. Оператор логического ИЛИ
А. Условный оператор
A. Выражения присваивания
A. Оператор запятая
A. Константные выражения
A Объявления
A Спецификаторы класса памяти
А Спецификаторы типа
A Объявления структур и объединений

A Перечисления
А Объявители
A Что означают объявители
A Объявители указателей
А Объявители массивов
А Объявители функций
A Инициализация

A Имена типов
А Объявление typedef
A. Эквивалентность типов
A Инструкции
A Помеченные инструкции
A Инструкция-выражение
A Составная инструкция
A Инструкции выбора

A Циклические инструкции
A Инструкции перехода
А. Внешние объявления
A. Определение функции
A. Область видимости и связи
A. Лексическая область видимости
A. Связи

A. Препроцессирование
A. Трехзнаковые последовательности
A. Склеивание строк
А. Макроопределение и макрорасширение
A. Включение файла
A. Условная компиляция
A. Нумерация строк
A. Генерация сообщения об ошибке

A. Прагма
A. Пустая директива
A.. Заранее определенные имена
A. Грамматика
Приложение B. Стандартная библиотека
B Ввод-вывод: stdio.h

B Операции над файлами
B Форматный вывод
B Форматный ввод
B Функции ввода-вывода символов
B Функции прямого ввода-вывода
B Функции позиционирования файла
B Функции обработки ошибок

B Проверки класса символа: ctype.h
B Функции, оперирующие со строками: string.h
B Математические функции: math.h
B Функции общего назначения: stdlib.h
B Диагностика: assert.h
B Списки аргументов переменной длины: stdarg.h
B Дальние переходы: setjmp.h

B Сигналы: signal.h
B. Функции даты и времени: time.h
B. Зависящие от реализации пределы: limits.h и float.h
Приложение C. Перечень изменений
Глава Обзор языка
Начнем, пожалуй

Переменные и арифметические выражения
Инструкция for
Именованные константы
Ввод-вывод символов

Копирование файла

Язык программирования Си

Подсчет символов
Подсчет строк
Подсчет слов
Массивы
Функции

Аргументы. Вызов по значению
Символьные массивы
Внешние переменные и область видимости
Глава Типы, операторы и выражения

Имена переменных
Типы и размеры данных
Константы
Объявления
Арифметические операторы
Операторы отношения и логические операторы
Преобразования типов

Операторы инкремента и декремента
Побитовые операторы
Операторы и выражения присваивания
Условные выражения
Приоритет и очередность вычислений
Глава Управление

Инструкции и блоки
Конструкция if-else
Конструкция else-if
Переключатель switch
Циклы while и for
Цикл do-while
Инструкции break и continue

Инструкция goto и метки
Глава Функции и структура программы
Основные сведения о функциях
Функции, возвращающие нецелые значения
Функции, возвращающие нецелые значения - 2
Внешние переменные

Области видимости
Заголовочные файлы
Статические переменные
Регистровые переменные
Блочная структура

Инициализация
Рекурсия
Препроцессор языка Си
.Включение файла
.Макроподстановка
.Условная компиляция
Глава Указатели и массивы
Указатели и адреса

Указатели и аргументы функций
Указатели и массивы
Адресная арифметика
Символьные указатели функции

Массивы указателей, указатели на указатели
Многомерные массивы
Инициализация массивов указателей
Указатели против многомерных массивов
Аргументы командной строки

Указатели на функции
Сложные объявления

Глава Структуры
Основные сведения о структурах
Структуры и функции
Массивы структур
Указатели на структуры

Структуры со ссылками на себя
Просмотр таблиц
Средство typedef

Объединения
Битовые поля
Глава Ввод и вывод
Стандартный ввод-вывод
Форматный вывод (printf)
Списки аргументов переменной длины

Форматный ввод (scanf)
Доступ к файлам
Управление ошибками (stderr и exit)

Ввод-вывод строк
Другие библиотечные функции
Операции со строками
Анализ класса символов и преобразование символов
Функция ungetc
Исполнение команд операционной системы
Управление памятью
Математические функции
Генератор случайных чисел
Глава Интерфейс с системой UNIX

Дескрипторы файлов

Язык программирования Си


Нижний уровень ввода-вывода (read и write)
Системные вызовы open, creat, close, unlink
Произвольный доступ (lseek)
Пример. Реализация функций fopen и getc
Пример. Печать каталогов

Пример. Распределитель памяти

Самодельные электронные устройства в быту

Степень цивилизованности общества во многом определяется тем временем, которое оно предоставляет человеку для культурного досуга. Можно сократить продолжительность рабочего дня, но не подумать о быте — и тогда домашние дела «съедят» все свободное время.
Социалистическое государство стремится как можно полнее удовлетворять потребности народа. Создана широкая сеть предприятий бытового обслуживания. Кроме того, целая отрасль промышленности занята производством электрических и электронных бытовых приборов и устройств, позволяющих облегчить ручной труд.
Когда есть свободное время, появляется возможность заняться любимым делом. Для многих — это радиолюбительство. С одной стороны, радиолюбители, обладающие определенными знаниями и навыками, легче справляются с ремонтом приборов, с другой — сами создают новые устройства или усовершенствуют старые.
Следует особо подчеркнуть, что работа с электронными и электрическими приборами, а также вмешательство в их конструкцию, требуют знания техники безопасности. В электрических приборах опасность создается не только напряжением сети, но и механическими передачами и нагревательными элементами.
Поэтому человеку, делающему первые шаги в радиолюбительстве, нужно начинать с конструирования приборов с низковольтным питанием, осуществляемым через трансформатор от сети или от батареи. В несложных сигнальных устройствах устанавливаются электромагниты и двигатели, работающие также от батарей. Их использование в домашнем хозяйстве (от электронного дверного звонка до средств сигнализации, устанавливаемых на кухне, в подвале или детской комнате) имеет целый ряд преимуществ.

MIDI-клавиатура на PIC16F84
Простой регулятор мощности
Простые электромузыкальные инструменты
Музотрон


Содержание раздела