
- •Программирование
- •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.Экспериментальный раздел работы
- •Список литературы
Работа 3 Операции языка Си, оператор присваивания
Цель работы:
усвоить операции языка Cи;
изучить методы составления алгебраических выражений;
научиться создавать, вводить и запускать простейшие линейные программы расчета по формулам;
научиться создавать собственные пользовательские подпрограммы-функции;
закрепить навыки работы в среде Cи.
I.Теоретический раздел работы
1.1. Знаки операций в Си
Знаки операций обеспечивают формирование выражений. Выражения состоят из операндов, знаков операций и скобок. Каждый операнд является, в свою очередь, выражением или частным случаем выражения – константой или переменной.
Таблица 1
Унарные операции
& |
Получение адреса операнда |
* |
Обращение по адресу (разыменование) |
- |
Унарный минус, меняет знак арифметического операнда |
~ |
Поразрядное инвертирование внутреннего двоичного кода целочисленного операнда (побитовое отрицание) |
! |
логическое отрицание (НЕ). В качестве логических значений используется 0 - ложь и не 0 - истина, отрицанием 0 будет 1, отрицанием любого ненулевого числа будет 0. |
++ |
Увеличение на единицу: префиксная операция - увеличивает операнд до его использования, постфиксная операция увеличивает операнд после его использования, int m=l,n=2; int a=(m++)+n; // a=4,m=2,n=2 int b=m+(++n) ;//a=3 ,m= 1 ,n=3 |
-- |
Уменьшение на единицу: префиксная операция - уменьшает операнд до его использования, постфиксная операция уменьшает операнд после его использования. |
sizeof |
Вычисление размера (в байтах) для объекта того типа, который имеет операнд; имеет две формы sizeof выражение sizeof (тип). Примеры: sizeof(float)//4 sizeof(1.0)//8, т. к. вещественные константы по умолчанию имеют тип double |
Таблица 2
Бинарные операции
| |
+ |
бинарный плюс (сложение арифметических операндов) |
- |
бинарный минус (вычитание арифметических операндов) |
Мультипликативные: | |
* |
умножение операндов арифметического типа |
/ |
деление операндов арифметического типа (если операнды целочисленные, то выполняется целочисленное деление) |
% |
о получение остатка от деления целочисленных операндов |
Операции сдвига (определены только для целочисленных операндов). Формат выражения с операцией сдвига: операнд левый операция сдвига операнд правый. | |
<< |
сдвиг влево битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого операнда, освободившиеся разряды обнуляются |
>> |
сдвиг вправо битового представления значения правого целочисленного операнда на количество разрядов, равное значению правого операнда, освободившиеся разряды обнуляются, если операнд беззнакового типа и заполняются знаковым разрядом, если - знакового |
Поразрядные операции: | |
& |
поразрядная конъюнкция (И) битовых представлений значений целочисленных операндов (бит =1, если соответствующие биты обоих операндов=1) |
| |
поразрядная дизъюнкция (ИЛИ) битовых представлений значений целочисленных операндов (бит =1, если соответствующий бит одного из операндов=1) |
^ |
поразрядное исключающее ИЛИ битовых представлений значений целочисленных операндов (бит =1, если соответствующий бит только одного из операндов=1) |
~ |
поразрядное отрицание битовых представлений значений целочисленных операндов (бит = 1, если соответствующий бит 0) |
Операции сравнения: результатом являются true (не 0) или false(0) | |
< |
меньше, чем |
> |
больше, чем |
<= |
меньше или равно |
>= |
больше или равно |
= = |
равно |
!= |
не равно |
Логические бинарные операции: | |
&& |
конъюнкция (И) целочисленных операндов или отношений, целочисленный результат ложь(0) или истина(не 0) |
|| |
дизъюнкция (ИЛИ) целочисленных операндов или отношений, целочисленный результат ложь(0) или истина(не 0) |
! |
|
|
|
Условная операция.
В отличие от унарных и бинарных операций в ней используется три операнда.
(Выражение1) ? (Выражение2): (Выражение3);
Первым вычисляется значение выражения1. Если оно истинно, то вычисляется значение выражения2, которое становится результатом. Если при вычислении выражения1 получится 0, то в качестве результата берется значение выражения3.
Например: (x<0) ? (-x) : (x) ; //вычисляется абсолютное значение x.
Операция явного (преобразования) приведения типа.
Существует две формы: каноническая и функциональная:
1) (имя_типа) операнд(int)a; //каноническая форма
2) имя_типа (операнд) int(a); //функциональная форма
Таблица 3
Приоритет операций
Ранг |
Операции |
1 |
(), [], -> |
2 |
! ~ - ++--&* (тип) sizeof тип() |
3 |
* / % (мультипликативные бинарные) |
4 |
+ - (аддитивные бинарные) |
5 |
<< >> (поразрядного сдвига) |
6 |
<><=>= (отношения) |
7 |
= != (отношения) |
8 |
& (поразрядная конъюнкция «И») |
9 |
^ (поразрядное исключающее «ИЛИ») |
10 |
| (поразрядная дизъюнкция «ИЛИ») |
11 |
&& (конъюнкция «И») |
12 |
| | (дизъюнкция «ИЛИ») |
13 |
?: (условная операция) |
14 |
= *= /= %= -= &= л= |=«= »= (операция присваивания) |
15 |
, (операция запятая) |