Основы программирования на языке C

cs 1.6 non steam

Основы программирования на языке C

Происхождение языка Си
Достоинства языка Си
Будущее языка Си
Использование языка Си

Использование текстового редактора для подготовки программ
Исходные и выполняемые файлы
Пример простой программы на языке Си
Пояснения к программе
Первый просмотр
Второй просмотр
Структура простой программы
Дополнительный пример

Основы программирования на языке C

Основные типы данных
Описание различных типов, переменные и константы
Символьные строки
Препроцессор языка Си

Основы программирования на языке C

Основные операции

Операция присваивания: =
Операция сложения: +
Операция вычитания: -
Операция изменения знака: -
Операция умножения: *
Операция деления: /
Операция деления: / - 2
Дополнительные операции
Операция деления по модулю: %
Операция увеличения: ++

Операция уменьшения: --
Перечень операций языка Си
Операции, уровень приоритета которых равен 1
Операция вызова функции: ( )
Операция индексирования массива: []
Операция выбора компонентов структуры или объединения: .
Операция выбора компонентов структуры с указателем: -
Операции, уровень приоритета которых равен 2
Операция косвенной ссылки: *
Операция получения адреса:

Операция отрицания: -
Операция логического отрицания: !
Операция дополнения до 1: ~
Операция увеличения: ++
Операция увеличения, постфиксная: ++
Операция уменьшения: --
Операция уменьшения (постфиксная): --
Операция определения требуемой памяти в байтах: sizeof
Операции, уровень приоритета которых равен 3
Операция умножения: *

Операция деления: /
Операция получения остатка: %
Операции, уровень приоритета которых равен 4
Операция сложения: +
Операция вычитания: -
Операции, уровень приоритета которых равен 5
Операция сдвига влево:
Операция сдвига вправо:
Операции, уровень приоритета которых равно 6
Операция меньше:

Операция больше:
Операция меньше или равно: =
Операция больше или равно: =
Операции, уровень приоритета которых равен 7
Операция равенство: ==
Операция неравенство: !=
Операция, уровень приоритета которой равен 8
Операция поразрядное И:
Операция, уровень приоритета которой равен 9
Операция поразрядное исключающее или: ^

Операция, уровень приоритета которой равен 10
Операция поразрядное включающее или: |
Операция, уровень приоритета которой равен 11
Операция логическое И:
Операция, уровень приоритета которой равен 12
Операция логическое ИЛИ: ||
Операция, уровень приоритета которой равен 13
Операция условный оператор: ?
Операция, уровень приоритета которой равен 14
Операция простое присваивание: =

Операция сложное присваивание: =
Операция присваивания
Операция, уровень приоритета которой равен 15
Операция запятая: ,
Операция запятая: , - 2

Основы программирования на языке C

Выражения

Простейшие выражения
Операторы
Составные операторы
Оператор цикла while
Изучение и использование функций printf( ) и scanf( )
Изучение и использование функций printf( ) и scanf( ) - 2
Изучение и использование функций printf( ) и scanf( ) - 3
Применение функции scanf( )
Применение функции scanf( ) - 2
Применение функции scanf( ) - 3

Иллюстрация
Иллюстрация
Иллюстрация

Основы программирования на языке C

Эквивалентность типов
Преобразование типов
Разбор программы
Операция приведения
Неявное преобразование типа
Арифметические преобразования
Явные преобразования типов

Синтаксис типов

Основы программирования на языке C

Ввод и вывод одного символа
Буферы

Чтение одной строки
Чтение файла
Переключение и работа с файлами
Переключение ввода
Комбинированное переключение
Операционные системы, отличные от OC UNIX

Основы программирования на языке C

Выбор вариантов
Оператор if
Расширение оператора if

Операции отношения
Что такое истина
Осложнение с понятием истина
Логические операции
Операция условия: ?:
Множественный выбор

Основы программирования на языке C

Структурное программирование
Цикл с предусловием
Цикл со счетчиком

Цикл с постусловием
Другие управляющие операторы
Оператор break
Оператор continue
Оператор goto

Основы программирования на языке C


Создание и использование функций
Аргументы функции
Возвращение значений
Локальные переменные
Нахождение адресов
Указатели, первое знакомство
Операция косвенной адресации *

Описание указателей
Подведем итоги по указателям
Функции с переменным количеством аргументов

Основы программирования на языке C

Классы памяти и область действия
Автоматические переменные
Внешние переменные
Статические переменные
Внешние статические переменные

Регистровые переменные

Основы программирования на языке C

Общие сведения
Символические константы: #define

Замена идентификаторов
Использование аргументов с #define
Макроопределение или функция?
Включение файла: #include
Условная компиляция
Номер строки и имя файла
Реакция на ошибки
Пустая директива
Прагмы
Встроенные макроимена

Основы программирования на языке C

Указатели и массивы
Массивы
Указатели
Динамические объекты
Создание динамических объектов
Доступ к динамическим объектам
Время жизни динамического объекта

Связь между указателями и массивами
Строки - дополнительные сведения о тесной связи между указателями и массивами
Инициализация массивов и классы памяти
Функции, массивы и указатели
Операции с указателями

Основы программирования на языке C

Строковые константы
Массивы символьных строк и их инициализация
Массив и указатель: различия

Указатели и строки
Ввод-вывод строк
Обработка строк

Основы программирования на языке C

Определение структурных переменных
Доступ к компонентам структуры
Поля битов в структурах
Объединения

Перечисления
Переменные структуры
Указатели и структуры
Массив структур
Переименование типов

Основы программирования на языке C

Стандартные библиотечные функции
Доступ в библиотеку языка Си
Автоматический доступ

Включение файла
Включение библиотеки
Связь с файлами
Открытие файла: fopen( )
Закрытие файла: fclose( )
Текстовые файлы с буферизацией
Ввод-вывод текстового файла: getc( ), putc( )
Ввод-вывод файла: fprintf( ), fscanf( ), fgets( ), fputs( )
Функции fprintf( ) и fscanf( )

Функция fgets( )
Функция fputs( )
Функция fseek( )
Функция malloc( )
Функция calloc( )

Основы программирования на языке C

Функция получения случайных чисел
Поиск узлов из простых чисел
Матрица инцидентности

Структуры данных
Стеки
Очереди
Связанные списки
Все операции со стеком
Подведем итог

Графические устройства

Основы компьютерной графики были заложены еще на больших ЭВМ, задолго до появления персональных компьютеров. Ее первые практические применения были связаны с решением задач из области автоматизации проектирования архитектурных и инженерно-технических сооружений.
Массовое распространение и непрерывное совершенствование технических характеристик персональных компьютеров и периферийного оборудования способствовало расширению круга задач, при решении которых используется графика. В свою очередь, развитие и усложнение графики стимулирует создание все более совершенного компьютерного видеооборудования. Кроме того, непрерывно расширяется круг специалистов, вовлеченных в программирование и использование графических приложений. Поэтому литература, посвященная различным аспектам видеографики, пользуется постоянным спросом и нуждается в периодическом обновлении. Однако большинство публикуемых книг являются руководствами для пользователей, а не для программистов, поскольку содержат описание техники работы с различными графическими редакторами. Автор решил попытаться восполнить этот пробел и написать руководство, содержащее описание способов программирования базовых элементов компьютерной графики и получения спецэффектов.
В свое время на русский язык было переведено и опубликовано несколько обстоятельных руководств по программированию видеосистем для IBM PC. Технический прогресс беспощаден и они устарели вместе с описанными видеосистемами. Предлагаемая книга продолжает тему программирования видеосистем, но уже современного образца, с использованием стандарта VBE, разработанного ассоциацией VESA. Этот стандарт создавался специально для того, чтобы программирование графических объектов не зависело от особенностей видеокарт, выпускаемых различными фирмами.
В соответствии с темой книги в качестве языка программирования выбран ассемблер для IBM PC. Можно до хрипоты спорить о достоинствах и недостатках ассемблера, но всегда остается класс задач, которые имеет смысл программировать только на этом языке, и всегда остается категория программистов, которые обязаны в совершенстве владеть ассемблером. В первую очередь именно им адресована данная книга. Вместе с тем. книга составлена так, что она может быть использована как практическое руководство для программистов, начинающих изучать ассемблер или желающих углубить свои знания о нем.

Видеосистемы и стандарт VESA
Видеорежимы packed pixel graphics
Работа с текстом
Цвет в коде точки
Приложения
Графические интерфейсы и средства их разработки


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