Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
labOOP&P_1.doc
Скачиваний:
2
Добавлен:
10.11.2019
Размер:
151.55 Кб
Скачать

Содержание

Практическая работа №1 2

Практическая работа №2 4

Практическая работа №3 6

Практическая работа №4 8

Практическая работа №6 11

Практическая работа №7 13

Практическая работа №8 14

Практическая работа №9 16

Практическая работа №10 17

Практическая работа №11 20

Практическая работа №12 21

Практическая работа №13 21

Практическая работа №14 22

Литература 23

Практическая работа №1

Цель работы: Изучение основных типов данных и операций языка Си.

К основным типам данных относятся скалярные переменные, включая производный тип - указатель. Любые данные перед их использованием в программе должны быть объявлены:

Класс_памяти область_видимости тип имя;

В зависимости от места объявления переменные могут быть глобальными, если место их определения вне тела функции, и локальные, они описаны в блоках тела функции. Глобальные переменные имеют статическую область памяти и доступны и из других файлов, если они объявлены с ключевым словом extern. Локальные переменные обычно размещаются в стеке и известны внутри своего блока, если локальная переменная объявлена с ключевым словом static, то она размещается в статической области, и сохраняет своё значение после выхода из тела функции. Любые переменные имеют значение и адрес, за исключением переменных, объявленных с ключевым словом register, они не имеют адреса, и выделение регистра для них не гарантировано.

Основными типами являются символьные данные (char), данные целого типа (int) с модификаторами длины (short, long, double). Эти типы могут трактоваться как беззнаковые (unsigned). Данные с плавающей точкой используютя в инженерных расчетах, имеют тип float с модификаторами длины (long, double). Например:

extern unsigned char perekl; /* внешняя переменная из другого файла */

char * pperekl; /* указатель на переменную типа char, область действия и тип памяти определяется местом объявления */

int i; // переменная целого типа.

Из переменных составляется выражение, которое состоит из операций, одна из них операция присвоить (=). В выражение может входить несколько операций присвоения. Если выражение закончено знаком (;), то оно образует оператор следования. Операции присвоения могут быть явными, включающими знак присвоить и неявными (++ и --). Явные операции могут быть составными <знак_операции>=, например, записи

<переменная>=<переменная> <операция><выражение>

соответствует более короткая запись в стиле языка Си

<переменная><операция>=<выражение>,

где допустимыми могут быть следующие опреации, перечисленные через запятую : *, /, %, +, -, <<, >>, &, ^, | (умножение, деление, Операция по модулю, суммирование, вычитание, сдвиг влево, сдвиг вправо, побитовая операция И, побитовая исключающая ИЛИ, побитовая ИЛИ).

Операции объединяются по группам и для каждой группы устанавливается приоритет. Порядок вычислений в выражении определяет приоритет операции.

Ниже предлагаются варианты для вычисления выражений. Тип переменных задан для (a, b, c). Начальные значения вводятся в диалоге и выводятся после вычисления выражения совместно с их адресами.

№ варианта

Выражение

Тип

0

A*=b>>3|c++-c

Unsigned char, int, short int

1

A^=b++==3?--c:b---c

Unsigned int, int, short int

2

A&=b<<3+~++c

Unsigned int, short int, int

3

A|=--b%c++

Unsigned int, int, short int

4

A%=b+++--c%b

Int, int, short int

5

A/=++b*--c>>3

Int, int, short int

6

A>>=b++%--c

Unsigned char, int, short int

7

A<<=~b*--c

Unsigned char, int, short int

8

A-=((b++>>2!=c)+1)|++c

Int, int, unsigned char

9

A+=b+=c*=b>>2

Long int, int, short int

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]