Основные операторы и знаки операций 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основные операторы и знаки операций



Знаки операций – это один или более символов, определяющих действия над операндами. Внутри знака операций пробелы не допускаются. Операции делятся на унарные, бинарные и тернарные по количеству участвующих в них операндов.

1. = — оператор присваивания. Например, если а и b — переменные, то за­пись а = b говорит о том, что переменной а присваивается значение перемен­ной b. Допускаются и такие выражения: а= b =с. Здесь переменные а и b по­лучают значение переменной с

2. +.—,*,/ — знаки операций сложения, вычитания, умножения и деле­ния. Например, а1 = b1 + с1; а2 = b2 — с2; ba 3= b 3* c 3; a 4= b 4/ o 4

3. <, >, ==, >=,<=,!=- знаки операций отношения: < - меньше, > — больше, = = — равно, >= — больше или равно, < = — меньше или равно,! = — не равно. Например, истинны выражения: 3 >2, 4! == 5,2 < = 2,6 = = 6

4. % — знак операции деления по модулю. В выражении с = а% b перемен­ной с присваивается значение остатка от деления а на b

5. /*, */ — совокупность знаков, используемых для записи комментари­ев. Например: /* программа написана сотрудниками кафедры ЭВМ МРТИ*/. Текст комментариев употребляется только для пояснений и никаких действий в программе не вызывает

6.; — символ, которым оканчиваются каждый оператор и каждая строка с обращением к функции

7. ++, — — знаки операций увеличения или уменьшения на единицу значения операнда

8. &&, ||,! - знаки логических операций "И", "ИЛИ" и "НЕ"

9. &, |,^,<<,>>, ~ - знаки поразрядных логических операций, выполняемых над одноименными битами машинного слова: "И", "ИЛИ", "Исключающее ИЛИ", сдвиг влево, сдвиг вправо, инверсия

10.?: — знаки, используемые в тернарной операции

11. *, & — знаки адресных операций

12. +=,-=,*=,/=,%=, <<=,>>=, &=, ^ =, | = - знаки для за­писи в другой форме выражений вида a = a + b. Здесь к значению переменной а прибавляется значение переменной b и новое полученное значение присваива­ется а. Если а=2, b =3, то после выполнения этой операции а=5. Приведенное выражение можно переписать в другом видег а += b (т.е. увеличить а на значе­ние b)

13., — знак специальной операции, которая носит название запятая

14.., —> — знаки, используемые при работе с записями (данными, относящимися к структурированному типу)

15. [, ] - скобки, используемые для записи индексов массивов

16. (,) — скобки, используемые для установления очередности выполне­ния операций и записи аргументов функции

17. " - знак, используемый для задания символьной информации (например, в случае ее вывода на экран дисплея либо на печатающее устройство)

18. ‘- знак для задания символьных констант

Константы

Константами называют неизменяемые величины. Различаются целые, вещественные, символьные и строковые константы.

Символьная константа состоит из заключенного в одиночные кавычки символа, например'*'. Символы в языке Си фактически являются целочисленными значениями. Их числовое значение соответ­ствует внутреннему (машинному) представлению символов в некотором принятом стандартном коде. Например, в коде А5С II значение символа 'А' равно 65, ' b ' - 98, '2' - 50. Присваивание значения переменной ab типа char: ab =' T '. Если апострофов нет, что используется переменная T, которую забыли описать. Значениями переменной или константы типа char могут быть только одиночные символы. ab =' TT ' – неправильно. Для вывода символа, который невозможно набрать на клавиатуре, используется код ASCII. Нужно указать номер символа с предшествующим знаком “обратная косая черта”.Н-р, b ='\007'(для вывода звукового сигнала).Номер символа должен быть записан в 8-ричном виде.

Символы, не имеющие графического изображения, и некоторые специальные символы записывают следующим образом; \ n - новая строка, \ t - табуляция, \0 - нуль (пусто), \\ - обратная косая черта, \' – апостроф, \ b - возврат на шаг, \г -возврат каретки, \ f - перевод страницы. Такая комбинация выглядит как два символа, но фактически это один символ. Присвоение константам символических имен происхо­дит с помощью директивы препроцессора # define. Например, запись # define МАХ 100 перед текстом основной программы определяет имя МАХ, являющееся синонимом константы 100. Транслятор потом будет заменять вхождение указанного имени в программе на соответствующую константу.

Строковая константа - это последовательность нуля или более символов, заключенная в двойные кавычки, например "ИНТЕРЕСНОЕ СООБЩЕНИЕ" или " " (пустая строка). В конце каждой такой строки (в том числе и пустой) транслятор автоматически помещает нулевой символ \0, что сильно облегчает программисту поиск конца строки. Надо только не забывать, что число резервируемых для хранения строки ячеек (байтов) памяти должно быть на единицу больше числа символов в строке. Технически строка символов представляет собой одномерный массив, каждый элемент которого - один символ.

Комментарии

Комментарий – начинается с двух символов // и заканчивается символом перехода на новую строку или заключается между /* и */. Внутри комментария можно использовать любые допустимые на данном компьютере символы, а не только символы из алфавита языка С++, поскольку компилятор комментарии игнорирует. Вложенные комментарии стандартом не допускаются, хотя в некоторых компиляторах разрешены.

Структура программы
Программа состоит из функций, описаний и директив препроцессора. Одна из функций должна иметь имя main. Выполнение программы начинается с первого оператора этой функции. Простейшее определение функции имеет следующий формат: тип_возвр._знач имя ([параметры]) { операторы} Если функция возвращает какое-либо значение, перед именем функции указывается ее тип, в противном случае – ключевое слово void. Тело функции заключается в фигурные скобки. Функции не могут быть вложенными. Каждый оператор заканчивается. Составные операторы (операторы, состоящие из нескольких простых) заключаются в фигурные скобки. Пример структуры программы, содержащий функции main,f1,f2. Директивы препроцессора Описания int main() { Операторы главной функции Вызов функции f1() Вызов функции f2() } int f1() { Операторы функции f1 } int f2() { Операторы функции f2 }   Переменные Общий вид оператора описания переменных: [класс памяти] [const] тип имя [инициализатор]; где: · класс памяти – auto, extern, static и register; · const означает, что значение переменной изменить нельзя. Такую переменную называют именованной константой или просто константой. · инициализатор (присвоение начального выражения) в двух формах: со знаком =значение или в круглых скобках (значение). Примеры: int a=1; //переменная а целого типа const char h=’H’; // символьная константа H char s, sf=’f’; // инициализация относится к sf Если переменная определена внутри блока, она называется локальной переменной, если вне блока – глобальной. Класс памяти определяет время жизни и область действия программного объекта (переменной). По умолчанию переменные, описанные внутри функции, являются автоматическими. Можно подчеркнуть это явно при помощи ключевого слова auto. Автоматические переменные имеют локальную область действия. Только функция, в которой переменная описана, "знает" ее. Другие функции могут использовать переменные с тем же именем, но это должны быть независимые переменные, находящиеся в разных ячейках памяти. Автоматическая переменная начинает существовать при вызове функции, содержащей ее. Когда функция завершает свою работу и возвращает управление туда, откуда ее вызвали, автоматическая переменная исчезает. Область действия автоматической переменной ограничена блоком ({}), в котором она описана. Переменная, описанная вне функции, является внешней. Внешнюю переменную можно описать внутри функции, использующей ее, при помощи ключевого слова extern. Внешние переменные существуют, пока работает программа, и так как эти переменные доступны любой функции, они не исчезнут, если какая-нибудь функция закончит свою работу. static – статические переменные имеют такую же область действия, что и автоматические, но они не исчезают, когда содержащая их функция завершит свою работу. Компилятор хранит их значения от одного вызова функции до другого. В зависимости от расположения оператора описания статические переменные могут быть глобальными и локальными. Обычно переменные хранятся в памяти машины. Регистровые же переменные запоминаются в регистрах центрального процессора, где доступ к ним и работа с ними выполняются гораздо быстрее, чем в памяти. В остальном регистровые переменные аналогичны автоматическим переменным. Если нет необходимого количества свободных регистров, то переменная становится обычной автоматической. Рекомендуется чаще использовать автоматический класс памяти, так как это позволяет организовать автономную работу функций. Использовать глобальные переменные необходимо лишь тогда, когда это действительно необходимо.

Основные типы данных

Тип данных определяет:

· внутренне представление данных в памяти компьютера;

· множество значений, которые могут принимать величины этого типа;

· перации и функции, которые можно применять к величинам этого типа.

 

Для описания основных типов (стандартных) определены следующие ключевые слова:

· int (целый);

· char (символьный);

· char_t (расширенный символьный);

· bool (логический);

· float (вещественный)

· double (вещественный с двойной точностью).

Первые четыре типа называют целочисленными, последние два - типами с плавающей точкой.

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

short (короткий);

long (длинный);

signed (знаковый);

unsigned (беззнаковый).

Целый тип int

Размер типа int не определяется стандартом, а зависит от компьютера и компилятора. Для 16-разрядного процессора под величины этого типа отводится 2 байта, а для 32-разрядного – 4 байта.

Спецификатор short перед именем типа указывают компилятору, что под число требуется отвести 2 байта независимо от разрядности процессора. Спецификатор long означает, что целая величина будет занимать 4 байта. Таким образом, на 16-разрядном компьютере эквивалентны int и short int, а на 32-разрядном – int и long int.

Внутренне представление величины целого типа – целое число в двоичном коде. При использовании спецификатора signed старший бит числа интерпретируется как знаковый (0 –положительное число, 1 – отрицательное). Спецификатор unsigned представляет только положительные числа, поскольку старший разряд рассматривается как часть кода числа. Таким образом, диапазон значений типа int зависит от спецификаторов.

По умолчанию все целочисленные считаются знаковыми, то есть спецификатор signed можно опускать.

Символьный тип char

Под величину символьного типа отводится 1 байт. Тип char может быть со знаком или без знака. В величинах со знаком можно хранить значения в диапазоне от –128 до 127. При использовании спецификатора unsigned – в пределах от 0 до 255.

Расширенный символьный тип wchar_t

предназначен для работы с символами, для которых недостаточно 1 байта, например, для кодировки Unicod. Размер этого типа соответствует типу short. Строковые константы типа wchar_t записываются с префиксом L.(L”Gates”).

Логический тип bool

Величины этого типа принимают значения true(1) и false(0).



Поделиться:


Последнее изменение этой страницы: 2021-04-20; просмотров: 108; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.162.87 (0.011 с.)