- •Часть 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.Экспериментальный раздел работы
- •Список литературы
Работа 4 Числовые типы данных
Цель работы:
освоить основные приемы работы с целыми типами данных;
изучить стандартные вещественные типы данных в языке C;
изучить методы составления алгебраических выражений;
научиться создавать, вводить и запускать простейшие линейные программы расчета по формулам;
научиться создавать собственные пользовательские подпрограммы-функции;
закрепить навыки работы в среде C++.
I.Теоретический раздел работы
1.1. Целые типы данных
В СИ имеется несколько целых типов данных, отличающихся размером памяти, отводимой для хранения значения данного, и способом записи знака значения. Для объявления целых переменных используются спецификаторы_типа представленные в табл.1
Таблица 1
Тип |
Размер в байтах |
Диапазон значений |
char |
1 |
от -128 до 127 |
int |
2 или 4 |
как long или short |
short |
2 |
от -32768 до 32767 |
long |
4 |
от -2 147 483 648 до 2 147 483 647 |
unsigned сhar |
1 |
oт 0 до 255 |
unsigned int |
2 или 4 |
как unsigned long или unsigned short |
unsigned short |
2 |
от 0 до 65535 |
unsigned long |
4 |
от 0 до 4 294 967 295 |
Заметим, что ключевые слова signed и unsigned необязательны. Они указывают как интерпретируется нулевой бит объявляемой переменной, т.е., если указано ключевое слово unsigned, то нулевой бит интерпретируется как часть числа, в противном случае нулевой бит интерпретируется как знаковый. В случае отсутствия ключевого слова unsigned целая переменная считается знаковой. В том случае, если спецификатор_типа состоит из ключевого типа signed или unsigned и далее следует идентификатор переменной, то она будет рассматриваться как переменная типа int.
Cпецификатор_типа char требуется для представления символьных переменных, которые в СИ могут использоваться как арифметические данные. Значением объекта типа char является код (размером 1 байт) соответствующий представляемому символу. Для представления символов русского алфавита необходимо использовать тип unsigned char, так как коды русских букв превышают величину 127.
Например:
unsigned int n;
unsigned int b;
signed char lat;
unsigned char rus;
int c; (подразумевается signed int c )
unsigned d; (подразумевается unsigned int d )
signed f; (подразумевается signed int f )
Следует сделать следующее замечание, в языке СИ не определено представление в памяти и диапазон значений для переменных со спецификаторами_типа int и unsigned int. Размер памяти для переменной типа int определяется длиной машинного слова, которое имеет различный размер на разных машинах. Так на 16-ти разрядных машинах размер слова равен 2-м байтам, на 32-х разрядных машинах соответственно 4-м байтам, т.е. тип int эквивалентен типам short int, или long int в зависимости от архитектуры используемой ПЭВМ. Таким образом, одна и та же программа может правильно работать на одном компьютере и неправильно на другом.
Целая константа - это число записанное в программе в десятичной, восьмеричной или шестнадцатеричной форме. Десятичная целая константа может состоять из десятичных цифр, причем первая цифра не должна быть нулем. Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных цифр (среди цифр должны отсутствовать восьмерка и девятка, так как эти цифры не входят в восьмеричную систему счисления). Шестнадцатеричная константа начинается с обязательной последовательности 0х или 0Х и содержит одну или несколько шестнадцатеричных цифр (цифры представляющие собой набор цифр шестнадцатеричной системы счисления: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
Примеры целых констант:
Десятичная |
Восьмеричная |
Шестнадцатеричная |
16 |
020 |
0x10 |
127 |
0117 |
0x2B |
240 |
0360 |
0xF0 |
Если требуется сформировать отрицательную целую константу, то используют знак "-" перед записью константы (который будет называться унарным минусом). Например: -0x2A, -088, -16 .
Для того чтобы любую целую константу определить типом long, достаточно в конце константы поставить букву "l" или "L", для того, чтобы сделать константу беззнаковой, можно использовать букву u или U . Буквы L и U можно использовать одновременно. Пример:
5l, 6l, 128L, 0105L, OX2A11L, 0x004000c2ul.
В заголовочном файле values.h есть встроенные константы MAXINT и MAXLONG позволяют определить границы диапазонов целых типов int и long.