![](/user_photo/2706_HbeT2.jpg)
- •Программирование
- •2. Начало работы в среде
- •2.1. Вызов Borland c
- •2.2. Использование меню
- •2.3. Работа с окнами. Использование мыши
- •2.4. Первая программа
- •2.5. Работа с файлами
- •2.6. Основные приемы работы с текстовым редактором
- •2.7. Меню Edit
- •3. В конце работы Вы должны уметь
- •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 |