Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Арифметические операции и присваиваниеСтр 1 из 4Следующая ⇒
* – в примере приведены префиксная и постфиксная формы операций соответственно. В префиксной форме сначала выполняется операция, а затем ее результат используется, в постфиксной сначала используется текущее значение переменной, а затем выполняется операция. Операция присваивания (=) работает в соответствии с обычными математическими требованиями: значение справа присваивается переменной слева. Операции отношения
Используются для сравнения операндов. Возвращают true (не NULL) – истина, если соотношение верно, и false (NULL) – ложь, если не верно. NULL – это двоичный 0, т.е. когда байт состоит из 0. Ближайший аналог – 0 в переменной целого типа. Логические операции
Возвращают true (не NULL) – истина, или false (NULL) – ложь. А и В могут быть выражениями. Операция «! » возвращает true, если операнд равен NULL. Операция «& & » возвращает true, если оба операнда не равны NULL. Операция «||» возвращает true, если хотя бы один операнд не равен NULL. Операция запятая (, ) Соединяет два (или более, если задан список выражений через запятую) произвольных выражения, вычисляемых слева направо. Результат и его тип определяются последним выражением. Обычно используется в операторе цикла for для сокращения записи. Например: for (i = 1, j = 10; i == j; i++, j--) {buf = mas[i]; mas[i] = mas[j]; mas[j] = buf; } // Производит реверс массива mas Условная операция (? : ) Общий вид условной операции
условие? выражение_1: выражение_2;
Если условие верно (не NULL), то выполняется выражение_1, иначе выполняется выражение_2. Например:
Y = X> 0? X+7: X * X; //Если Х больше 0, то Y = Х+7, иначе Y = Х2. Операция sizeof Определяет размер своего операнда (переменной, объекта, типа) в байтах. Возвращает целое число. Операция имеет две формы: sizeof выражение; sizeof (имя_типа); Например: sizeof a; //вернет размер переменной а sizeof (int); // вернет размер типа int (4 байта) 4.7. Операция адресации (& ) и косвенной адресации (*) Операция * - позволяет получить значение, на которое указывает указатель (расположенное по заданному адресу). Операция & - позволяет определить адрес операнда (например переменной). 4.8. Операции доступа к элементам: (.) и (–> ) Операции используются для доступа к полям структур, объединений, элементам классов. Если доступ осуществляется по имени самого объекта, то используется операция «.», если с помощью указателя на объект, то используется «–> ». Например: struct pb { double x, y; } d1; //Объявляем переменную d1 типа структуры pb с двумя полями struct pb *d_1; //Объявляем указатель d_1 на структуру типа pb d1.x = 6.264845; //Присваиваем полю x структуры d1 значение d_1 = & d1; //Присваиваем указателю d_1 адрес структуры d1
d_1–> y = 56.325255; /*Присваиваем полю y структуры d1 значение через указатель d_1* Приоритет операций Приоритет операций в С и С++ в основном соответствует правилам, принятым в математике. Если есть сомнения, в каком порядке будут выполняться операции, или в сложных выражениях, рекомендуется применение круглых скобок, имеющих высокий приоритет. Операторы
Безусловные операторы break, return, cotinue Безусловные операторы сами по себе в программе не используются, а только в составе с другими операторами или в функциях. break – позволяет досрочно закончить выполнение цикла или оператора выбора. continue – позволяет начать новую итерацию (шаг) цикла без завершения предыдущей. return – позволяет завершить работу функции и возвращает управление в ту точку, откуда она была вызвана, а также возвращает результат функции.
Оператор условия if Позволяет выбрать один из вариантов выполнения действий в зависимости от условия. Общий вид оператора
if (условие) { оператор_1; } else { оператор_2; } Если условие истинно (не равно 0), выполняется оператор_1, если ложно, то выполняется оператор_2. Конструкция else необязательна. Например:
int x, z; if (x> 7) { z = x + 4; } else { z = x + x; };
Оператор выбора switch Оператор switch предназначен для организации выбора из множества различных вариантов. Формат оператора следующий:
switch ( выражение_выбора ) { case значение_1: оператор_1; break; // Не обязательно case значение_2: оператор_2; break; // Не обязательно ... case значение_n: оператор_n; break; // Не обязательно default: оператор; // Не обязательно }
где выражение_выбора – любое выражение или переменная, значение которых должно быть целым; значение - целые или символьные константы. Все они должны быть уникальными. Порядок выполнения оператора switch: - вычисляется выражение_выбора; - вычисленное значение последовательно сравнивается со значениями, следующими за ключевыми словами case; - если значение совпадает с выражением_выбора, то управление передается на оператор, стоящий после двоеточия за соответствующим ключевым словом case и выполняются все операторы до конца оператора switch или до оператора break ; - если нет ни одно совпадения, то управление передается на оператор, помеченный ключевым словом default, а в случае его отсутствия – на следующий после switch оператор. Оператор цикла for Организует цикл со счетчиком. Общий вид оператора:
for (выражение_1; выражение_2; выражение_3) // заголовок цикла {операторы; } // тело цикла
где выражение_1 – задает начальное значение счетчика цикла; выражение_2 – условие цикла (цикл будет повторяться, пока условие истинно); выражение_3 – увеличение счетчика цикла. Например:
for (i = 1; i < = 100; i = i + 1) sum = sum + i;
Оператор цикла while Организует цикл с предусловием. Общий вид оператора:
while (условие) {операторы; }
Условие – выражение, которое принимает логическое значение true – истина (не NULL) или false – ложь (NULL). Выполнение оператора повторяется до тех пор, пока значением условия является true. Условие вычисляется заново перед каждой итерацией. Например:
while (N > 1) { N = N / 10; } Оператор цикла do while Организует цикл с постусловием. Общий вид оператора:
do {операторы; } while (условие);
Условие – выражение, которое принимает логическое значение true – истина (не NULL) или false – ложь (NULL). Выполнение оператора повторяется до тех пор, пока значением условия является true. Условие вычисляется заново после каждой итерации. Например:
do { N = N / 10; } while (N > 1) Функции
Функция – программный блок, который может вызываться из любой части программы. При вызове в них передаются некоторые переменные, константы и выражения, являющиеся аргументами. Функция возвращает одно значение определенного типа (определяет тип функции), которое замещает в вызывающем выражении имя функции. Программа на языке Си состоит, по крайней мере, из одной функции - функции main. С нее всегда начинается выполнение программы. Встретив имя функции в выражении, программа вызовет эту функцию, т.е. передаст управление на ее начало и начнет выполнять операторы. Достигнув конца функции или оператора return, управление вернется в ту точку, откуда функция была вызвана. Существует три понятия: - определение функции – описание действий, выполняемых функцией; - объявление функции (задание прототипа функции) – задание типа возвращаемого значения (типа функции), имени функции, списка передаваемых в функцию параметров; - вызов функции. Определения используемых функций могут следовать за определением функции main, перед ним, или находиться в другом файле. Общий вид определения функции:
тип_результата имя_функции (список_формальных_параметров) { … операторы; return; //может отсутствовать }
где тип_результата - один из стандартных типов; имя_функции – любой допустимый идентификатор; список_формальных_параметров – перечисление всех формальных аргументов с указанием их типа (объявление переменных, которые будут переданы в функцию при обращении к ней). Например:
int factorial (int n) //Заголовок функции { int a; //Объявление локальных переменных функции …..//Действия, выполняемые функцией return a; }
Если функция определена после main, то до вызова функции нужно её объявить (записать прототип функции). Объявление функции имеет такой же вид, что и определение, с той лишь разницей, что тело функции отсутствует. При вызове функции указывается имя функции и список (в скобках) фактических параметров (переменных, которым присвоены определенные значения). В качестве фактических параметров могут использоваться как значения, так и переменные. В любом случае количество фактических и формальных параметров одинаково и значения передаются в порядке записи. Функции нельзя передавать массивы и функции, а только указатели на них. Например:
F = factorial (5); T = factorial (2)-7; M = factorial (n); P = mm (d, c, b, a);
Популярное:
|
Последнее изменение этой страницы: 2016-07-14; Просмотров: 1358; Нарушение авторского права страницы