- •Часть I
- •Работа 1 Знакомство со средой Borland c
- •1. Введение
- •2. Начало работы в среде
- •2.1. Вызов Borland c
- •2.2. Использование меню
- •2.3. Работа с окнами. Использование мыши
- •2.4. Первая программа
- •2.5. Работа с файлами
- •2.6. Основные приемы работы с текстовым редактором
- •2.7. Меню Edit
- •3. В конце работы Вы должны уметь
- •Работа 2 Обзор элементов языка с
- •I. Теоретический раздел работы
- •1.1. Введение
- •1.2. Структура программы на языке Borland c
- •Состав языка
- •1.3.1. Константы и переменные
- •1.3.2. Типы данных в с
- •Ввод и вывод данных
- •II. Экспериментальный раздел работы
- •III. Дополнительный материал
- •IV. Раздел заданий для самостоятельной работы
- •Работа 3 Операции языка Си, оператор присваивания
- •I.Теоретический раздел работы
- •1.1. Знаки операций в Си
- •1.2.Выражения
- •2. Оператор присваивания
- •3. Алгебраические выражения
- •4. Описание пользовательских подпрограмм-функций
- •II. Экспериментальный раздел работы
- •III. Раздел заданий для самостоятельной работы
- •Работа 4 Числовые типы данных
- •I.Теоретический раздел работы
- •1.1. Целые типы данных
- •1.1.1. Операции над целыми типами данных
- •1.1.2. Представление целых чисел в компьютере
- •1.1.3. Некоторые стандартные подпрограммы для работы с целыми числами
- •1.2. Представление вещественных чисел в эвм
- •II.Экспериментальный раздел работы
- •III. Раздел заданий для самостоятельной работы.
- •Работа 5 Операторы отношений и логические операторы
- •I.Теоретический раздел работы
- •1.1. Некоторые сведения о логическом типе данных
- •1.2. Оператор условного перехода if...Else
- •1.3. Условный оператор switch
- •II. Экспериментальный раздел работы
- •Работа 6 Инструкции управления. Операторы Си, реализующие повторения
- •I. Теоретический раздел работы
- •1.1. Оператор цикла с предусловием
- •1.2. Оператор цикла с постусловием
- •1.3. Оператор цикла со счётчиком
- •1.4. Операторы завершения цикла
- •II.Экспериментальный раздел работы
- •Список литературы
1.1.1. Операции над целыми типами данных
Над элементами целого типа определены операции: сложения (+), вычитания (-), умножения(*), деление(/) и вычисления остатка от целочисленного деления (%). В целочисленной арифметике используется другой символ для операции деления, поскольку, работая с операндами целого типа, вы получайте результаты, также принадлежащие целому типу. Например
19 /3 = 6; 3 / 4 = 0; 13/ 5 = 2.
Выделение остатка от деления двух целых чисел осуществляется операндом mod , например
19 % 3 = 1; 3 % 4 =3; 13 % 5 = 3.
В общем случае можно записать:
a % b = a – b*(a / b).
Над данными целого типа определены также операции сдвига влево (<<) и сдвига вправо (>>). Применение этих операций к беззнаковым целым типам эквивалентно операциям умножения и деления на степень 2. Например,
5 << 3 эквивалентно операции ;
40 >> 3 эквивалентно операции .
В компьютере все числа представлены в двоичной системе счисления. Операции сдвига смещают все биты вправо (>>) или влево (<<). При этом лишние биты отбрасываются, а освободившиеся места заполняются нулями. Например,
00000111 << 3 => 00111000
00111000 >> 3 => 00000111
Применяя операции сдвига к целым типам со знаком, следует иметь в виду, что старший бит отводится под знак числа. Правый сдвиг присваивает этому биту нулевое значение, т.е. знак плюс, а левый сдвиг может приводить к произвольному результату.
1.1.2. Представление целых чисел в компьютере
В машине числа хранятся в двоичной системе счисления. Под целый тип shortint отводится 8 бит памяти. Биты в двоичном слове нумеруются на арабский манер справа налево. Крайний левый бит отводится под знак числа: 0 кодирует положительные числа, 1 – отрицательные. Например,
0 => 00000000; 1 => 00000001; 2 => 00000010; …7 => 00000111; …127 => 01111111;
Такое представление числа А называется прямым кодом и обозначается . По прямому коду заменой всех 0 на 1 и всех 1 на 0 строится обратный код R(A). Отрицательные целые числа представляются в коде, называемом дополнительным и обозначаемом как D(A). Дополнительный код равен D(A)=R( -1). Например,
-1 => 11111111; -2 => 11111110; -3 => 11111101; -4 =>11111100; -128 => 10000000 .
1.1.3. Некоторые стандартные подпрограммы для работы с целыми числами
Для работы с порядковым типом данных полезны следующие функции:
floor(double x)-находит самое большое целое число, не большее, чем x;
ceil(double x) –находит минимальное целое, не меньшее чем x;
Эти функции находится в заголовочном файле math.h
1.2. Представление вещественных чисел в эвм
В математике каждому числу ставится в соответствие точка на числовой оси. При работе на компьютере из-за того, что числа хранятся в ячейках памяти, эта ось ограничена. Границы зависят от формы представления числа и количества разрядов в ячейках памяти машины.
Привычная нам форма записи чисел, например 3.1415 , - это запись десятичных чисел с фиксированной точкой. Однако удобнее при составлении программ пользоваться записью в форме с плавающей точкой. Десятичное число D в этой форме записи имеет вид где m –мантисса числа, n – его порядок. Мантиссу числа записывают в нормализованной форме так, чтобы , где – разрядность числа. Например,
В языке C++ при записи чисел с фиксированной точкой для обозначения «умножить на десять в степени» вводится буква Е, например
Цифры, предшествующие букве Е, образуют мантиссу числа, а цифры, следующие за ней – порядок.
Компьютер из-за ограниченности его разрядной сетки оперирует лишь с конечным подмножеством действительных чисел. Оно определяется разрядностью , а также границами порядка числа Границы порядка определяют ограниченность действительных чисел по величине, а разрядность - дискретность их распределения на отрезке числовой оси.
В С++ имеется два стандартных вещественных типов, характеристики которых приведены в таблице:
Таблица 4. Вещественные типы |
|
Float |
Значения в диапазоне от -3.4 x 10-38 до 3.4 x 1038 |
double |
Значения в диапазоне от 1.7х 10-308 до 1.7х 10308 |