Учебное пособие: Основы C
При печати в первой функции печатается два значения: значение X 7 и адрес X (назначаемый компилятором). Во второй функции также печатается два значения: символ, на который указывает msg (П), и значение msg, которое является адресом этого символа (также назначен компилятором).
Старшинство операций в Си соответствует старшинству операций в математике.
Оператор запятая.
Для организации множественных выражений, расположенных внутри круглых скобок используется оператор запятая. Выражение внутри скобок вычисляется слева направо, и все выражение принимает значение, которое было вычислено последним. Например:
char X,Y;
(X = Y, Y = getch())
присваивает переменной X значение Y, затем считывает символ, вводимый с клавиатуры, и запоминает его в Y. Результатом всего выражения, в итоге, будет значение введенного с клавиатуры символа.
Операторы управления.
Оператор If... дает возможность в зависимости от условия выполнять ту или иную ветвь программы. Синтаксис оператора следующий:
If условие выражение1 else выражение2;
Условие должно давать результат в виде логического значения истинности или ложности. Выражение1 будет выполняться если условие истинно. Выражение2 будет выполняться если условие ложно.
Существует сокращенный вариант оператора:
If условие выражение1
Пример. Определить, является ли введенное число днем недели, т.е. входит ли число в диапазон от 1 до 7.
#include <stdio.h>
int A;
main()
{
printf("? ");
scanf("%d",&A);
if ((A < 1) || (A > 7))
printf("Error %d\n",A);
else printf("OK %d\n",A);
}
Выражение условия (A<1) || (A>7) будет давать TRUE, если выполняется A<1 или A>7 - в этом случае выполняется ветка printf('Error ',A);, иначе ветка printf('OK ',A);.
Существует другой вариант записи оператора If ... Пример:
#include <stdio.h>
main()
{