- •Оглавление
- •6. Ввод-вывод 52
- •11. Операторы. Дополнение 93
- •12. Передача данных потоком 100
- •13. Файлы 103
- •14. Структура программы 109
- •15. Указатели, массивы, строки 118
- •16. Работа с экраhом 137
- •17. Управление программой с помощью клавиатуры 151
- •Введение
- •1. Основные понятия и определения
- •1.1. Компьютер
- •Процессор
- •Периферия
- •1.2. Алгоритмы
- •1.3. Программы и языки
- •Основные понятия языка программирования
- •Выполнение программы
- •Машинный и алгоритмический языки
- •Метаобозначения
- •Этапы обработки программы на компьютере
- •Терминология
- •Трансляция
- •Редактирование связей (компоновка)
- •Загрузка
- •1.4. Данные
- •Системы счисления
- •Типы и совокупности данных.
- •Вещественные
- •Логические
- •Совокупности данных
- •2. Элементы языка
- •2.1. История языков с и Basic
- •2.2. Алфавит
- •2.3. Идентификаторы
- •2.4. Знаки разрядки
- •2.5. Комментарии
- •2.6. Запись текста программы
- •3.1.1. Целые
- •3.1.2. Данные с плавающей точкой
- •3.1.3. Логический тип
- •3.1.4. Символьные данные
- •3.1.5. Дополнительные типы данных
- •3.2. Совокупности данных
- •3.2.1. Массивы
- •Объявления массивов
- •Обращение к элементу массива
- •3.2.2. Структуры
- •4.1. Арифметические операторы Основные
- •Дополнительные
- •Приоритет
- •4.2. Операторы конкатенации
- •4.3. Операторы сравнения
- •4.4. Логические операторы
- •4.5. Обращение к функции
- •4.6. Встроенные функции
- •4.7. Заключительные замечания
- •5.1. Объявления
- •5.2. Присваивание
- •5.3. Безусловный переход
- •5.4. Инструкция If. Пустая инструкция
- •5.5. Составная инструкция
- •5.6. Циклы
- •5.6.1. Циклы с предусловием
- •Циклы while
- •Циклы for
- •5.6.2. Циклы с постусловием
- •5.6.3. Вложенные циклы
- •5.7. Управляемые переходы
- •5.7.1. Инструкция break
- •5.7.2. Инструкция continue
- •5.7.3. Инструкции exit
- •5.8. Многоальтернативный выбор
- •5.8.1. Инструкция switch (язык с)
- •5.8.2. Инструкция select case (язык Basic)
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •6. Ввод-вывод
- •6.1. Управляющая строка
- •6.1.1. Спецификация d (целые десятичные числа)
- •6.1.2. Спецификация f (десятичные числа с плавающей точкой)
- •6.1.3. Спецификация e (десятичные числа с плавающей точкой)
- •6.1.4. Спецификация g (универсальная спецификация)
- •6.1.5. Вывод символьной информации
- •6.2. Инструкции printf и scanf. Схема ввода-вывода
- •7.1.1. Распределение скаляров
- •7.1.2. Распределение массивов
- •7.1.3. Статическое и динамическое распределение памяти
- •7.2. Блоки
- •7.3. Процедуры
- •7.3.1. Определения процедур
- •7.3.2. Связь между вызывающей и вызываемой функциями
- •Механизмы передачи данных
- •Прототипы функций (c)
- •Передача скаляров Возвращаемое значение
- •Входные данные
- •Выходные данные
- •Передача массивов
- •Передача функций
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •8. Препроцессор
- •8.1. Определение символических констант
- •8.2. Включение файлов в текст программы
- •9.1. Формирование листинга
- •Перенос:
- •9.2. Комментарии
- •9.3. Имена Имена объектов программы должны быть осмысленными.
- •3. Литералы.
- •10.5. Подмассивы (сечения) (c)
- •10.6. Динамические массивы (b)
- •10.7. Структуры и объединения (c)
- •10.7.1. Структуры
- •10.7.2. Рекурсивные структуры
- •10.7.3. Поля битов
- •10.7.4. Объединения (смеси)
- •10.7.5. Переменные структуры
- •10.9. Пользовательские типы данных
- •10.9.1. Инструкция type (b)
- •10.9.2. Инструкция typedef (c)
- •10.10. Преобразование типов
- •10.10.1. Автоматические преобразования
- •10.10.2. Явные преобразования
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •11. Операторы. Дополнение
- •11.1. Уровень 1
- •11.2. Уровень 2 (унарные или одноместные операторы)
- •11.3. Уровень 3 (мультипликативные операторы)
- •11.4. Уровень 4 (аддитивные операторы)
- •11.5. Уровень 5 (сдвиги)
- •11.6. Уровень 6 (отношения)
- •11.7. Уровень 7 (равенство и неравенство)
- •11.8. Поразрядные операторы
- •11.9. Логические операторы
- •11.10. Уровень 13 (условное выражение)
- •11.11. Уровень 14 (операторы присваивания)
- •11.12. Уровень 15 (оператор ',' - запятая)
- •11.13. Некоторые замечания
- •11.14. Постоянные выражения
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •12. Передача данных потоком
- •12.1. Спецификация "s" управляющей строки функций scanf и printf
- •12.2. Функции getchar и putchar
- •12.3. Функции gets и puts
- •12.4. Внутренняя передача данных (функции sscanf и sprintf)
- •13.2. Описание файла
- •13.3. Открытие и закрытие файлов
- •13.4. Средства языка с
- •13.4.1. Открытие и закрытие файла
- •13.4.2. Основные функции обмена
- •13.5. Средства языка Basic
- •13.5.1. Открытие и закрытие файла Инструкция open
- •Инструкция close
- •13.5.2. Работа с файлами Инструкция input
- •Функция input
- •Инструкция line input
- •Инструкция write
- •Инструкция print
- •Инструкция width
- •Длина файла
- •Функция MsgBox
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •14. Структура программы
- •14.1. Элементы структуры программы.
- •14.1.1. Язык c
- •14.1.2. Язык Basic
- •14.2. Область видимости (действия) и время жизни переменных
- •14.2.1. Язык c
- •14.2.2. Язык Basic
- •14.3. Проект программы
- •14.3.1. Использование директивы препроцессора #include
- •14.3.2. Средства управления проектом
- •14.4. Инициализация данных
- •2. Массивы.
- •15.1. Указатели
- •Определение указателей
- •Задание значений
- •Вывод значений
- •15.2. Указатели и массивы
- •15.3. Работа со строками
- •15.3.1. Литералы
- •15.3.2. Переменные
- •15.3.3. Операторы и функции
- •15.4. Динамические объекты
- •15.5. Типичные ошибки, связанные с указателями Отсутствие инициализации указателя
- •Двойное указание
- •Hе выполнено освобождение выделенной памяти
- •Задание адреса локальной (auto) переменной
- •15.6. Примеры использования указателей. Структуры данных
- •15.6.1. Стек
- •15.6.2. Однонаправленный список
- •15.7. Ссылки и многомерные массивы
- •15.8. Рекурсивные процедуры
- •15.8.1. Рекурсивное решение
- •15.8.2. Нерекурсивное решение. Стек в виде массива
- •15.8.3. Нерекурсивное решение. Стек в виде списка
- •Вопросы для самопроверки и контроля Вопросы для самопроверки
- •Контрольные вопросы
- •16. Работа с экраhом
- •16.1. Текстовый режим(textmode)
- •16.1.2. Управление режимом и окном
- •16.1.3. Управление атрибутом(цветами символа и фона в окне)
- •16.1.4. Информация о текстовом режиме
- •16.1.5. Пример
- •16.1.6. Пример(продолжение)
- •16.2. Графический режим
- •16.2.1. Установка и закрытие
- •16.2.2. Форматирование Цвета
- •Битовые образы(pattern)
- •Текстовые фонты
- •Восстановление установок по умолчанию
- •16.2.3. Размещение на экране Окна
- •Координаты курсора и перемещения
- •16.2.4. Вывод на экран Текст
- •Прямоугольники
- •Эллипсы
- •Многоугольники
- •Пиксели
- •16.2.5. Дополнительные функции
- •Простые циклы
- •Вложенные циклы
- •Процедуры
- •Работа со строками
- •Приложения
- •П1.1. Меню File (Файл)
- •П1.2. Меню Options (Установки среды)
- •П1.3. Разное
- •П1.4. Редактирование текста
- •П1.5. Сообщения
- •Трансляция
- •Компоновка (редактирование связей)
- •Ошибки времени выполнения
- •П1.6. Отладка
- •Прогон до точки прерывания
- •Пошаговое выполнение программы
- •Установка точек прерывания
- •Получение значений объектов программы
- •П1.7. Окна
- •Управление окнами
- •Приложение 2. Среда разработки Visual Basic Express
- •П2.1. Запуск среды
- •П 2.2. Подготовка к работе с новым проектом
- •П2.3. Окна и режимы работы
- •П2.4. Главное меню
- •П2.5. Меню File (Файл)
- •П2.6. Редактирование текста
- •П2.7. Меню View (Обзор)
- •П2.8. Меню Project (Проект)
- •П2.9. Отладка
- •Точки прерывания
- •Определение значений объектов программы в момент прерывания
- •Продолжение работы
- •П2.10. Меню Tools (Средства)
- •П2.11. Меню Window (Окно)
- •Приложение 3. Ответы на вопросы для самопроверки
- •2. Элементы языка
- •3. Элементы данных
- •4. Выражения
- •5. Основные инструкции
- •6. Ввод-вывод
- •7. Процедуры
- •8. Препроцессор
- •9. Стиль программирования
- •10. Данные. Дополнение
- •11. Операторы. Дополнение
- •12. Передача данных потоком
- •13. Файлы
- •14. Структура программы
- •15. Указатели, массивы, строки
- •16. Работа с экраном
- •17. Управление программой с помощью клавиатуры
- •Приложение 4. Темы для курсовой работы
- •Библиографический список
П1.2. Меню Options (Установки среды)
Пункты этого меню позволяют настроить среду на текущие условия работы. Будут рассмотрены только режимы (опции), минимально необходимые для работы. Большинство режимов установлены по умолчанию, поэтому надо просмотреть установки и изменить только нужные. Ниже будут приведены рекомендуемые опции. Если какие-либо пункты меню не упоминаются, то их следует изучить самостоятельно по мере приобретения опыта работы. В опциях указываются только рекомендуемые значения из некоторого списка и "флажки", которые надо установить.
Меню Compiler (Транслятор) – устанавливает опции транслятора.
Code generation (Генерация кода):
- Model (Модель памяти)Large (Большая);
- OptionsTreat enums as ints (Трактовать тип enum как целые);
Unsigned characters (Тип char без знака);
- Assume SS equals DSDefault of memory model (В соответствии с моделью памяти).
Advanced code generation (Расширенная генерация кода):
- Floating point (Операции с плавающей точкой)Emulation (Эмуляция);
- Instruction set (Система команд)8088/8086;
- OptionsGenerate underbars (Генерировать подчеркивания);
Debug info in OBJs (Включать отладочную информацию в объ-
ектный код);
Fast floating point (Оптимизация операций с плавающей точкой);
Automatic far data (Для данных класса automatic использовать
far указатели).
Entry/exit code (Код входа-выхода):
- Prolog/epilog code generation (Генерация кода пролога/эпилога)DOS
Standard;
- Calling convention (Соглашения по вызову процедур)C;
- Stack options (Режим обработки стека)Standard stack frame (Стандарт-
ный) и Test stack overflow (Контроль переполнения стека).
C++ options:
- Use C++ compiler (Использование С++ компилятора)CPP extension (Для
файлов с расширением .cpp);
- остальные не трогать.
Optimizations (Оптимизация кода):
- OptimizationsStandard stack frame; остальные "флажки" сбросить;
- Register variables (Регистровые переменные)Automatic;
- Common subexpressions (Общие подвыражения)No optimization;
- Optimize for (Оптимизация по)Size (по размеру кода).
Source (Исходный код):
- Keywords (Ключевые слова)Borland C++;
- Source optionsNested comments (Вложенные комментарии);
- Identifier length (Длина идентификатора)32.
Messages (Диагностические сообщения)Display (Показ):
- Display warnings (Показ предупреждений)Selected (Выбранные);
- Errors: Stop after 25 (Останавливать показ ошибок после обнаружения 25);
- Warnings: Stop after 100 (Останавливать показ предупреждений после обнаружения 100).
Make (Компоновка или редактирование связей):
- Break make on (Не продолжать при обнаружении)Errors (Ошибок);
- After compiling (После компиляции)Run linker (Запускать компоновщик);
- Check auto-dependencies (Проверять автозависимости)Установить "Флажок".
Linker (Компоновщик) – устанавливает его режимы.
Settings (Установки):
- Map file (Файл карты памяти)Off (Не создавать);
- Output (Выход)Standard DOS EXE;
- OptionsDefault libraries (Библиотеки по умолчанию);
Warn duplicate symbols (Предупреждать о дубликатных символах);
"No stack" warning (Предупреждать о переполнении стека);
Case-sensitive link (Различать регистр символов при компоновке).
Libraries (Библиотеки):
- LibrariesGraphics library (Библиотеки графики);
- ObjectWindows LibraryNone (Не включать);
- Container class libraryNone;
- Standard run-time libraries (Стандартные библиотеки времени выполнения)
Static (Статические).
Debugger (Отладчик) – устанавливает режимы встроенного символического
отладчика:
- Source debuggingOn (Включать информацию для отладки);
- Display swappingSmart (Автоматическое переход из окон отладки в окно редактирования и обратно);
- Режим показаShow both (Показывать десятичные и шестнадцатиричные значения);
- Program heap size 64 K bytes (Размер программной "кучи" 64 кбайта).
Directories (Директории или папки) – задает папки для хранения файловой информации:
- Include directories (Папки, где должны располагаться .h файлы)
c:\bc\include; c:\bc\include\sys;
- Library directories (Папка, где располагаются стандартные библиотеки)
c:\bc\lib;
- Output directories (Папка, куда помещаются .obj, .exe и .map файлы)
u:\<фамилия>\<задача>.
Environment (Окружение, интерфейс).
Preferences (Предпочтения):
- Screen lines (Число строк экрана)25 lines;
- Source tracking (Отслеживание при отладке)Current window (Текущее окно);
- Command set (Система команд)Native (Встроенная);
- Auto save (Автосохранение)все сохранять.
Editor (Редактор):
- OptionsCreate backup files (Сохранять предыдущие версии исходных файлов с расширением .bak);
Insert mode (Режим вставки);
Autoindent mode (Режим автоотступа);
Use tab character (Вставлять при отступе символ Tab);
Syntax highlighting (Синтаксические выделения (цветом));
Backspace unindents (Клавиша Backspace выставляет текущую
строку на предыдущий уровень отступа);
Persistent blocks;
- Tab size (Размер табуляции)4;
- Default extension (Расширение по умолчанию)C.
Mouse (Мышь):
- Right mouse button (Правая кнопка мыши)Topic search (Поиск контекстной подсказки);
- остальные не трогать.
Desktop (Рабочий стол) – устанавливает информацию, сохраняемую между сеансами работыустановить все опции, кроме второй.
Colors (Цвета) – позволяет раскрасить в различные цвета отдельные элементы интерфейса. Разобраться самостоятельно.
Save (Сохранить) – позволяет сохранить отдельные группы элементов среды, отличающиеся от сохраняемых по умолчанию.
