- •Основы программирования
- •Содержание
- •Лабораторная работа №1 Линейные и разветвляющиеся вычислительные процессы
- •Краткие теоретические сведения
- •Классификация данных
- •Декларирование объектов
- •Структура программы
- •Константы
- •Операции Операции выражения
- •Арифметические операции
- •Операция присваивания
- •Сокращенная запись операции присваивания
- •X##; - постфиксную.
- •Преобразование типов операндов арифметических операций
- •Операция приведения типа
- •Операции сравнения
- •Логические операции
- •Побитовые логические операции, операции над битами
- •Операция «,» (запятая)
- •Функции вывода информации
- •Функции ввода информации
- •Ввод - вывод потоками
- •Стандартные математические функции
- •Синтаксис операторов языка Си
- •Операция присваивания
- •Условные операторы
- •If (условие ) оператор1;
- •If (условие1) оператор1;
- •Условная операция "? :"
- •Оператор выбора switch
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Циклические операторы while и do–while
- •Вложенные циклы
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Строки, как одномерные массивы символов
- •Указатели и операции над адресами
- •Операции над указателями (адресная арифметика)
- •Связь указателей и массивов
- •Пример 1: Упорядочить по алфавиту массив строк (не более 20) длиной не более 10 символов в каждой:
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа №4 Многомерные массивы, динамическое распределение памяти
- •Краткие теоретические сведения
- •Массивы указателей
- •Указатели на указатели
- •Динамическое размещение данных
- •Проверить, является ли введенная строка полиндромом (справа-налево читается также как и слева-направо).
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Вызов функции.
- •Изменение значений параметров.
- •Область действия переменных
- •Классы памяти.
- •Рекурсивные функции.
- •Операция typedef
- •Указатели на функции
- •Примеры работы с функциями
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Декларация структурного типа данных
- •Создание структурных переменных
- •Обращение к полям структур
- •Вложенные структуры
- •Использование typedef
- •Массивы структур
- •Размещение структурных переменных в памяти
- •Пример на использование структур
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа № 7 Файлы в языке с
- •Краткие теоретические сведения
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Лабораторная работа № 8 Графический режим работы
- •Kраткие теоретические сведения
- •Варианты индивидуальных заданий
- •Контрольные вопросы
- •Команды вставки и удаления (под блоком понимается выделенное подсветкой подмножество символов)
- •Команды работы с блоками
- •Набор текста программы
- •Компиляция, редактирование связей, запуск программы на выполнение
- •Многофайловая компиляция
- •Отладка программы
- •Использование глобальных переменных, объявленных вне файла
- •Литература
Министерство образования республики беларусь
ГоМЕЛЬСКИЙ государственный
МАШИНОСТРОИТЕЛЬНЫЙ ТЕХНИКУМ
Основы программирования
НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ С/C++
Лабораторный практикум для всех специальностей
Гомель 2006
Содержание
ЛАБОРАТОРНАЯ РАБОТА № 1
Линейные и разветвляющиеся
вычислительныые процессы
ЛАБОРАТОРНАЯ РАБОТА № 2
Программирование циклических вычислительных процессов
ЛАБОРАТОРНАЯ РАБОТА № 3
Программирование циклических процессов с использованием
одномерных массивов и строк
ЛАБОРАТОРНАЯ РАБОТА № 4
Программирование циклических процессов с использованием
многомерных массивов, указатели,
динамическое распределение памяти
ЛАБОРАТОРНАЯ РАБОТА № 5
Программирование алгоритмов с использованием функций
пользователя
ЛАБОРАТОРНАЯ РАБОТА № 6
Программирование алгоритмов с использованием структур
ЛАБОРАТОРНАЯ РАБОТА № 7
Программирование с использованием файлов
ЛАБОРАТОРНАЯ РАБОТА № 8
Использование графического режима
ПРИЛОЖЕНИЕ
ЛИТЕРАТУРА
Лабораторная работа №1 Линейные и разветвляющиеся вычислительные процессы
Цель работы:
Изучить правила составления текстов программ на языке С/C++: базовые типы данных, ввод-вывод данных, основные математические функции; операторы безусловного перехода и разветвлений (оператор выбора по условию if, оператор-переключатель switch). Научиться программировать линейные и разветвляющиеся алгоритмы.
Краткие теоретические сведения
Язык С/C++ отражает возможности современных компьютеров. Программы на С/C++ отличаются компактностью и быстротой исполнения. Структура языка С/C++ побуждает программиста использовать в своей работе нисходящее программирование, структурное программирование, пошаговую разработку модулей.
Большинство трансляторов языка C/C++ - компиляторы. Система программирования языка включает препроцессор, компилятор, редактор связей, библиотекарь, редактор текста, отладчик и интегрированную управляющую среду.
Алфавит языка С/C++
В языке С/C++ используются наборы символов:
1) строчные (A,B,C,…….,Y,Z) и прописные (a,b,c,………,y,z) буквы латинского алфавита;
2) арабские цифры от 0до9;
3) специальные символы:
+(плюс),-(минус),*(звездочка ),/(дробная черта),=(равно),>(больше),<( меньше),;(точка с запятой ),&(амперсанд ),[ ](квадратные скобки),{ }(фигурные скобки),( )(круглые скобки),_(знак подчеркивания), (пробел ),. (точка),, (запятая),:(двоеточие),#(номер),%(процент),~ (поразрядное отрицание),? (знак вопроса),!( восклицательный знак),\(обратный слэш).
Классификация данных
В языке C применяются данные двух категорий: простые (скалярные) и сложные (составные) типы данных. К основным (базовым) типам данных относятся целый, вещественный и символьный типы. В свою очередь, данные целого типа могут быть короткими (short), длинными (long) и беззнаковыми (unsigned). Приведем размеры и возможные диапазоны базовых типов данных (таблица 1):
Таблица 1
Наименование типа |
Тип данных |
Объем памяти, байт |
Диапазон значений |
Символьный |
char |
1 |
-128…127 |
Целый |
int |
2 |
-32768…32767 |
Короткий |
Short |
2(1) |
-32768…32767(-128…127) |
Длинный |
Long |
4 |
-2147483648…2147483647 |
Беззнаковый целый |
Unsigned int |
2 |
0…65535 |
Беззнаковый длинный |
Unsigned long |
4 |
0…424967295 |
Вещественный |
Float |
4 |
3,14*10-38…3,14*1038 |
Вещественный с двойной точностью |
Double |
8 |
1,7 *10-308 1,7 *10308 |
Сложные типы данных подразделяются на массивы, структуры (struct), объединения или смеси (union), перечисления (enum). Более подробно они рассмотрены в других лабораторных работах данного практикума.