Объявления перечислимых типов




Синтаксис:

enum[признак]{список}[декларатор[,декларатор]...]; enum признак[идентификатор[,декларатор]...];

Объявления стpуктуp

Синтаксис:

struct [пpизнак]{список-объявлений-компонент} [деклаpатоp[,деклаpатоp]...]; struct пpизнак[деклаpатоp[,деклаpатоp]...];

"Объявление стpуктуpы" задает имя стpуктуpной пеpеменной и последовательность значений пеpеменной (называемых "компонентами" стpуктуpы), котоpые могут иметь pазличные типы. Пеpеменная этого типа стpуктуpы содеpжит опpеделенные этим типом последовательности.

Объявления об'единений

Синтаксис:

union [признак]{список-объявлений-компонент} [декларатор[,декларатор.]..]; union признак[декларатор[,декларатор]...];

Объявления массивов

Синтаксис: спецификатор-типа декларатор[пост-выражение]; спецификатор-типа декларатор[];

При объявлении массива задается его имя и тип его элементов. Кроме того, можно задать число элементов массива.

Объявления указателей

Синтаксис:

спецификатор-типа *[модифицирующий-спецификатор]декларатор;

При объявлении указателя указывается имя переменной указателя и задается тип объекта, на который эта переменная указывает. Объявленная в качестве указателя переменная хранит адрес памяти.

Объявления функций (Прототипы)

Синтаксис: [спецификатор-класса-хранения] [спецификатор-типа]декларатор ([список-формальных-параметров]) [,список-деклараторов]...;

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

Инициализация

Синтаксис: =инициализатор

Используя инициализатор в объявлении функции можно присвоить переменной начальное значение. Переменной при этом будет присвоено значение инициализатора. Инициализатору предшествует знак равенства (=).

Составные типы

Синтаксис: ={список-инициализаторов}

Инициализаторы в "списке-инициализаторов" отделяются друг от друга запятой. Каждый инициализатор списка это либо постоянное выражение либо список инициализаторов.

Инициализаторы строк

Синтаксис: ="символы"

Выражения и Присвоения

Операторы С

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

- ~! отрицание и дополнение * & адресация и получение адреса sizeof размер + унарный плюс

Бинарные операторы ассоциируются слева направо. В языке С имеются следующие бинарные операторы:

* / % мультипликативные + - аддитивные << >> сдвиг < > <= >= ==!= отношения & | ^ битовые && || логические, последовательные вычисления

В языке С есть только один тернарный оператор условия (?:). Он ассоциируется справа налево.

Побитовая обработка

Операторы языка С побитовой обработки описываются следующим образом:

& Оператор побитового-И сравнивает каждый бит своего первого операнда с соответствующим битом его второго операнда. Если оба бита равны 1, то и результирующий бит устанавливается в 1. В противном случае результирующий бит устанавливается в 0. | Оператор побитового включающего-ИЛИ сравнивает каждый бит своего первого операнда с соответствующим битом его второго операнда. Если хотя бы один бит равен 1, то и результирующий бит устанавливается в 1. В противном случае результирующий бит устанавливается в 0. ^ Оператор побитового исключающего-ИЛИ сравнивает каждый бит своего первого операнда с соответствующим битом его второго операнда. Если один бит равен 1, а второй бит равен 0, то и результирующий бит устанавливается в 1. В противном случае результирующий бит устанавливается в 0.

Логические операторы

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

Результат логической операции 0 или 1. Тип результата int.

Логические операторы языка С описываются следующим образом:

&& Оператор логического-И дает в результате 1, если оба операнда имеют ненулевое значение. Если хотя бы один из операндов равен 0, то результом будет 0. Если первый операнд операции логического-И равен 0, то второй операнд не вычисляется. || Оператор логического-ИЛИ выполняет операцию включающего-ИЛИ над своими операндами. Результатом будет 0, если оба операнда имеют значение 0. Если хотя бы один из операндов имеет ненулевое значение, то результатом будет 1. Если первый операнд операции логического-ИЛИ имеет ненулевое значение, то второй операнд не вычисляется.

Операторы Присвоения

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

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

++ унарное увеличение -- унарное уменьшение = простое присвоение *= присвоение с умножением /= присвоение с делением %= присвоение остатка += присвоение со сложением -= присвоение с вычитанием <<= присвоение со сдвигом влево >>= присвоение со сдвигом вправо &= присвоение с побитовым-И |= присвоение с побитовым включающим-ИЛИ ^= присвоение с побитовым исключающим-ИЛИ При присвоении тип правого значения преобразуется в тип левого значения.


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: