Размер памяти под переменную a 4
Размер памяти под массив d 2000
11. Операция “запятая”
Операция “запятая” для связывания между собой выражений. Список выражений, разделенный запятыми, трактуется как единое выражение и вычисляется слева направо. Пример
if (c=getchar(),c’a’)
Читается символ в переменную с и сравнивается с символом ‘a’, результат целое число.
Приведение и преобразование типов
Для выполнения однозначного преобразования (cast) объектов одного типа в другой в С имеется специальная конструкция вида:
(имя_типа) выражение;
Пример
float r=3.5;
Int i;
i=(int) r;
Преобразование одного типа в другой тип данных выполняется в соответствии со следующими условиями:
— преобразование используется для однозначного перевода данного значения в другой тип;
— операнд автоматически приводится к другому типу перед выполнением соответствующей арифметической или логической операции;
— если операнд одного типа присваивается лево допустимому объекту другого типа, то приведение типов выполняется автоматически;
— аргумент функции может автоматически приводится к требуемому типу прямо в вызове функции;
— результат выполнения функции может быть автоматически приведен к требуемому типу в момент возврата из функции.
Управляющие структуры
Управляющие структуры – это конструкции языка, позволяющие управлять логикой выполнения программы. Управляющие структуры можно разделить на две группы: структуры выбора и циклы.
Блоки и составные операторы
Любая последовательность операторов, заключенная в { } скобки, является составным оператором (блоком). Внутри блока каждый оператор должен заканчиваться “;”. Составной оператор можно использовать везде, где синтаксис языка допускает обычный оператор.
Пример
if (x+y+zw)
{
cout
x+=3; y-=4; z*=6;
}
Пустой оператор
Он представляется символом “;” перед которым нет выражения. Пустой оператор используется там, где синтаксис языка требует присутствия в данном месте программы оператора, однако по логике программы оператор должен отсутствовать. Необходимость в использовании пустого оператора часто возникает при программировании циклов, когда действия, которые могут быть выполнены в теле цикла, целиком помещаются в заголовке цикла.
Конструкции выбора
К ним относятся операторы: условный операторif; условный оператор if else; условная операция?;
операторswitch.
Оператор if
Синтаксис
If (выражение)
Оператор;
Если выражение в заголовке условного оператора вырабатывает ненулевое значение, то оператор в условном операторе выполняется, в противном случае, управление передается оператору, следующему за if.
Пример
Int t;
if (t
if (t=12) printf(“Добрый день!”);
Оператор if else
Синтаксис
If (выражение)
Оператор1;
Else
Оператор2;
Если значение выражения не равно 0, то выполняется оператор1, в противном случае – оператор2.
Можно допускать вложенные if else, но следует помнить, что else всегда относится к ближайшему if.
Пример
Int t;
if (t
printf (“Доброе утро!”);
Else
printf(“Добрый день!”);
Условная операция ?
Эта операция может с успехом использоваться вместо конструкции if else там, где входящие в нее операторы являются простыми выражениями.
Синтаксис:
Результат=выражение?выражение1:выражение2;
Пример1
#include
Main()
{
int i=6, j=4;
int result=(i
printf(“%d\n”,result);
} // В этом случае result инициализируется j
Пример 2
#include
Main()
{
int i=6, j=4;
(i
}// Выполняется второй оператор printf
Пример 3
#include
Main()
{
int i=3, j=5;
printf(“Минимум из i и j – это %d\n”,(i
}
Минимум из i и j – это 3
Оператор switch
Конструкция switch заменяет разветвленный многократный оператор if else
Синтаксис:
Switch(выражение)
{
case константное_выражение 1:
Оператор1;
case константное_выражение 2:
Оператор2;
…
case константное_выражение n:
Оператор n;
default:
Оператор;
}
После вычисления выражения в заголовке оператора его результат последовательно сравнивается с константными выражениями, начиная с самого верхнего, пока не будет установлено их соответствие. Тогда выполняется оператор (операторы) внутри соответствующего case,управление передается на следующее константное выражение и проверки продолжаются. Именно поэтому в конце каждой последовательности должен присутствовать оператор break. Осуществляется выход из конструкции switch.
Ветка default (умолчание) может отсутствовать. Если она есть, то последовательность операторов, стоящая непосредственно за default и “:”, выполняется только тогда, когда сравнение ни с одним из стоящих выше константных выражений не истинно.
Пример
#include
Статьи к прочтению:
Топ-10 Самые умные животные планеты — Интересные факты
Похожие статьи:
-
Принцип работы динамической памяти
Единственная способность выяснить заряжен или разряжен конденсатор, является попытка разрядить его. Если конденсатор был заряжен (т.е. хранил единичный…
-
Память для типов данных (rtti-информация)
Современные компиляторы с объектно-ориентированных языков программирования предусматривают, что результирующая программа может обрабатывать не только…