Программирование >>  Арифметические и логические операции 

1 ... 13 14 15 [ 16 ] 17 18 19 ... 53


присваивания ниже приоритета всех операций отношений. Для задания правильного порядка вычислений используются скобки.

Логические операции

В языке имеются три логические операции:

♦ && операции И (and)

♦ операции ИЛИ (or)

♦ ! отрицание

Аргументами логических операций могут быть любые числа, включая задаваемые аргументами типа char. Результат логической операции - единица, если истина, и нуль, если ложь. Вообще все значения, отличные от нуля, интерпретируются как истинные.

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

Вычисление выражений, содержащих логические операции, производится слева направо и прекращается (усекается), как только удается определить результат.

Если выражение составлено из логических утверждений (т.е. выражения, вырабатывающие значения типа int), соединенных между собой операцией И (&&), то вычисление выражения прекращается, как только хотя бы в одном логическом утверждении вырабатывается значение нуль.

Если выражение составлено из логических утверждений, соединенных между собой операцией ИЛИ (), то вычисление выражения прекращается, как только хотя бы в одном логическом утверждении вырабатывается ненулевое значение.

Вот несколько примеров, в которых используются логические операции:

if( i > 50 && ] == 24)

if( valuel < value2 && (value3 > 50 value4 < 20) )

Операции присваивания

К операциям присваивания относятся =, +=, -=, *= и /=, а также префиксные и постфиксные операции ++ и --.

Все операции присваивания присваивают переменной результат вычисления выражения. Если тип левой части присваивания отличается от типа правой части, то тип правой части приводится к типу левой.

В одном операторе операция присваивания может встречаться несколько раз. Вычисления производятся справа налево.

Например:

a = ( b = c ) * d;

Вначале переменной d присваивается значение с, затем выполняется операция умножения на d, и результат присваивается переменной а.

Операции +=, -=, *= и /= являются укороченной формой записи операции присваивания. Их применение проиллюстрируем при помощи следующего описания:

a += b означает a = a + b a -= b означает a = a - b a *= b означает a = a * b a /= b означает a = a / b

Префиксные и постфиксные операции ++ и -- используют для увеличения (инкремент) и уменьшения (декремент) на единицу значения переменной.

Семантика указанных операций следующая:

♦ ++a - увеличивает значение переменной а на единицу до использования этой переменной в выражении.

♦ а++ - увеличивает значение переменной а на единицу после использования этой переменной в выражении.

♦ --a - уменьшает значение переменной а на единицу до использования этой переменной в выражении.

♦ a-- - уменьшает значение переменной а на единицу после использования этой переменной в выражении.

Операцию sizeof (размер) можно применить к константе, типу или переменной. В результате будет получено число байтов, занимаемых операндом.

Например:

printf ( \nРазмер памяти под целое °/od , sizeof( int) ); printf ( \nРазмер памяти под cимвол d , sizeof( сhar) );



Глава 7.

Логическая организация программы и простейшее использование функций

Процесс разработки программного обеспечения предполагает разделение сложной задачи на набор более простых задач и заданий. В Турбо С++ поддерживаются функции как логические единицы (блоки текста программы), служащие для выполнения конкретного задания. Важным аспектом разработки программного обеспечения является функциональная декомпозиция.

Функции имеют нуль или более формальных параметров и возвращают значение скалярного типа, типа void (пусто) или указатель. При вызове функции значения, задаваемые на входе, должны соответствовать числу и типу формальных параметров в описании функции.

Если функция не возвращает значения (т.е. возвращает void), то она служит для того, чтобы изменять свои параметры (вызывать побочный эффект) или глобальные для функции переменные.

Например, функция, возвращающая куб ее вещественного аргумента:

double cube( double x )

return x * x * x ; }

Аргумент х типа double специфицируется вслед за первой открывающей скобкой. Описание extern, помещаемое в функцию main, является ссылкой вперед, позволяющей использовать функцию cube в функции main. Ключевое слово extern можно опускать, но сама ссылка вперед на описание функции является обязательной.

Глава 8.

Логическая организация простой программы

Турбо С++ предоставляет необычайно высокую гибкость для физической организации программы или программной системы.

Структура каждой функции совпадает со структурой главной программы (main). Поэтому функции иногда еще называют подпрограмма-

ми. Подпрограммы решают небольшую и специфическую часть общей задачи.

Глава 9.

Использование констант различных типов

В языке Турбо С+ + имеются четыре типа констант:

♦ целые

♦ вещественные (с плавающей точкой)

♦ символьные

♦ строковые.

Константы целого типа

Константы целого типа могут задаваться в десятичной, двоичной, восьмеричной или шестнадцатеричной системах счисления.

Десятичные целые константы образуются из цифр. Первой цифрой не должен быть нуль.

Восьмеричные константы всегда начинаются с цифры нуль, вслед за которой либо не стоит ни одной цифры, либо стоят несколько цифр от нуля до семерки.

Шестнадцатеричные константы всегда начинаются с цифры нуль и символа х или Х, все, за которыми может стоять одна или более шест-надцатеричных цифр.

Шестнадцатеричные цифры - это десятичные цифры от 0 до 9 и латинские буквы: a, b, c, d, e, f, или A, B, C, D, E, F.

Например: задание константы 3478 в десятичном, восьмеричном и шестнадцатеричном виде:

int a = 3478, b = 06626, c = 0xD96;

К любой целой константе можно справа приписать символ l или L, и это будет означать, что константа - длинная целая (long integer). Символ u или U, приписанный к константе справа, указывает на то, что константа целая без знака (unsigned long).



Считается, что значение любой целой константы всегда неотрицательно. Если константе предшествует знак минус, то он трактуется как операция смены знака, а не как часть константы.

Константы вещественного типа

Константы с плавающей точкой (называемые вещественными) состоят из цифр, десятичной точки и знаков десятичного порядка е или

1. 2e1 .1234 .1e3

.1 2E1 1.234 0.0035e-6

1.0 2e-1 2.1e-12 .234

Символьные константы

Символьные константы заключаются в апострофы (кавычки). Все символьные константы имеют в Турбо С++ значение типа int (целое), совпадающее с кодом символа в кодировке ASCII.

Одни символьные константы соответствуют символам, которые можно вывести на печать, другие - управляющим символам, задаваемым с помощью esc-последовательности, третьи - форматирующими символами, также задаваемым с помощью esc-последовательности.

Например:

♦ символ апостроф задается как \

♦ переход на новую строку - как \

♦ обратный слэш - как \\

Каждая esc-последовательность должна быть заключена в кавычки.

Управляющие коды

\n -

Новая строка

\t -

Горизонтальная табуляция

\v -

Вертикальная табуляция

\b -

Возврат на символ

\r -

Возврат в начало строки

\f -

Прогон бумаги до конца страницы

\\ -

Обратный слэш

♦ \ - Одинарная кавычка

♦ \ - Двойная кавычка

♦ \а - Звуковой сигнал

♦ \? - Знал вопроса

♦ \ddd - Код символа в ASCII от одной до трех восьмеричных цифр

♦ \xhhh - Код символа в ASCII от одной до трех шестнадцатеричных цифр.

Строковые константы

Строковые константы состоят из нуля или более символов, заключенных в двойные кавычки. В строковых константах управляющие коды задаются с помощью esc-последовательности. Обратный слэш используется как символ переноса текста на новую строку.

Пример описания строковых констант:

♦ include <stdio.h> main( )

char *str1, *str2;

str1= Пример использования\n\n ;

str2= строковых\ констант.\n\n ;

printf(str1);

printf(str2);

Глава 10.

Управляющие структуры

Управляющие структуры или операторы управления служат для управления последовательностью вычислений в программе. Операторы ветвления и циклы позволяют переходить к выполнению другой части программы или выполнять какую-то часть программы многократно, пока удовлетворяется одно или более условий.

Блоки и составные операторы

Любая последовательность операторов, заключенная в фигурные скобки, является составным оператором (блоком). Составной оператор не должен заканчиваться (;), поскольку ограничителем блока служит са-



1 ... 13 14 15 [ 16 ] 17 18 19 ... 53

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика