Структурированные типы данных
К структурированным типам данных относятся структуры и объединения.
struct <name> {type1 name1; type2 name2;}; // структура
union <name> {type1 name1; type2 name2;}; // объединение (все данные размещены с одного адреса в памяти)
Константы
Целые константы задаются с помощью целых чисел без разделяющей точки и имеют тип int. Можно явно указать тип long или unsigned при помощи использования суффиксов соответственно «l», «L», «u», «U».
Пример: 123L, 43u, 53lu, 63UL
Константа с плавающей точкой может включать семь частей: целая часть, десятичная точка, дробная часть, символ экспоненты, показатель десятичной степени (со знаком или без), суффикс. При отсутствии суффикса константы имеют представление double, суффикс f или F соответствует float, суффикс l или L – long double.
В записях вещественных констант могут опускаться (не одновременно): или целая или дробная часть; или десятичная точка или признак экспоненты; суффикс.
Пример: 45. .6 4.6 1.25f 3.5e-4 5E+6L
Перечислимые константы вводятся при помощи служебного слова enum. Это целочисленные константы, которым присвоены идентификаторы. Идентификаторы могут быть перечислены через запятую, тогда им последовательно присваиваются значения от нуля, или для каких-нибудь из них могут быть указаны значения, которые меняют порядок присвоения.
Примеры:
enum {zero ,one, two, three} соответствует zero=0, one=1, two=2, three=3.
enum {one=1, two, three} соответствует one=1, two=2, three=3.
enum {ten=10, two=2, three} соответствует ten=10, two=2, three=3.
|
|
Символьные (литерные) константы – это один или два символа, заключённые в апострофы. Во время компиляции символьные константы заменяются их кодами. Для записи специальных символов используют эскейп-последовательности, которые состоят из двух-четырёх символов и начинаются с символа «обратный слеш». Например \n соответствует переводу строки (код 10), \r – возврат каретки (код 13), \t – табуляция (код 09) и т.д. Для записи некоторых символов также используются эскейп-последовательности: \\ – обратный слеш, \” – двойная кавычка, \’ – одинарная кавычка, \? – знак вопроса.
ВНИМАНИЕ Частой ошибкой является запись «\» вместо «\\», т.к. она не определяется компилятором.
Строковые константы – это набор символов, заключённый в двойные кавычки. в строковых константах также могут быть применены эскейп-последовательности. Для записи строковой константы, которая занимает несколько строк, в конце каждой из них должен быть использован символ «\».
Операции
Присваивание.
x=a;
Присваивания является операцией и имеет возвращаемое значение, что позволяет использовать её в других выражениях.
A=x=9;
5+(x=4) → 9
Операция присваивания является правоассоциативной, то есть, несколько подряд записанных операций присваивания будут выполняться справа налево.
|
|
Арифметические:
a+b; a-b; a*b; a/b– соответственно сложение, вычитание, умножение, деление.
a%b - остаток от деления
ВНИМАНИЕ при делении целочисленных операндов результат также целочисленный (например 5/2 даст 2)
a<<b, a>>b - сдвиги операнда а на b двоичных разрядов влево / вправо.
-a; +a – унарные минус и плюс.
a&b - поразрядное логическое И (например, 1001b & 1100b → 1000b)
a|b - поразрядное логическое ИЛИ
a^b - поразрядное логическое исключающее ИЛИ (XOR)
~x - логическое поразрядное отрицание
Логические (результат – логическое значение).
В языке «С» результатом логической операции является целое число: «1», если результат истинен, и «0», если ложен. В языке «С++» результатом является логическое значение.
a&&b, a||b - логические И и ИЛИ
Например, 5&&3 → 1 (в значении ИСТИНА), 8||0 → 1, 5&&0 → 0.
a<b ,a>b, a<=b,a>=b - все понятно
a= =b - проверка на равенство (например, 5==3 → 0, 4==4 → 1)
a!=b - проверка на неравенство
!x - логическое общее отрицание
Операции работы с указателями.
&x - взятие адреса
*x - разыменовывание указателя
Укороченные операции:
|
|
x+=a - тоже, что и x=x+a
аналогично определены операции x-=a, x*=a, x/=a, x%=a, x&=a, x|=a, x^=a, x<<=a, x>>=a.
Инкремент и декремент
++x, --x - увеличивает или уменьшает x на 1, затем подставляет в выражение.
x++ ,x-- - подставляет x в выражение, а затем увеличивает/уменьшает на 1.
Пример (в каждом примере изначально x=3):
(++x)+6 → 10, (x++)+6 → 9
(в обоих случаях в результате x=4)
(++x) + (++x) → 9
(x++) + (x++) → 7
Операция ","
возвращает крайнее правое значение.
Пример (объявлены переменные x,x1,x2,x3):
x = (x1=4+6, x2=x1-2, x3=x2+7)
В результате: x1=10, x2=8, x3=15, x=15.
Операция "?:"
x?a:b - возвращает a, если х истинно, иначе возвращает b.
Пример:
(5>2?4:6) → 4, (8>3?5:9) → 9, 5+(7>3?5:2) → 10
Дата добавления: 2018-05-13; просмотров: 194; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!