В определении констант и макросов используются только прописные буквы.
Четыре типа констант:
-целые;
-вещественные;
-символьные;
-строковые.
1) Целые
Константы целого типа могут задаваться в десятичной, восьмеричной или шестнадцатеричной системой счисления. Первой цифрой 10-ой системы счисления не должно быть 0. Восьмеричные константы начинаются с 0, за которыми могут быть цифры от 0 до 7. Шестнадцатеричные константы начинаются с 0 далее следуют x или X , а затем – 16-ые цифры от 0 до 9.
В любой целой константе справа можно приписать l или L и это будет означать long, а если и или И, то целая константа без знака.
2) Константы вещественного типа (или константы с плавающей точкой)
Константы вещественного типа состоят из цифр, десятичной точки и знаков десятичного порядка l или E.
Пример: -1,2е-3; 0,000355Е6.
3) Символьные константы
Символьные константы заключаются в апострофы “j’, “d”, “A”. Все символьные константы имеют значения типа int.
Управляющие символы: (все они пишутся c \)
\n новая строка
\t горизонтальная табуляция
\v вертикальная табуляция
\b возврат на символ или забой символа
\r возврат на начало строки
\f пробои бумаги
\\ обратный слеш
\ , одинаковые кавычки
\ ,, двойные кавычки
\a звуковой сигнал
4) Строковые константы
Состоят из 0 или более символов, заключенных в двойные кавычки.
Пример: “исходная информация: ”
Особенность представления строковых констант - в памяти отводится только один байт больший, чем для размещения всех символов строки.
Этот последний байт заполняется нулевым значением. Этот нулевой байт имеет специальное значение (‘\0’).
“a” - строковая константа и занимает 2 байта
‘a’
‘\0’
‘a’ - символьная константа и занимает 1 байт
printf() и scanf() осуществляют форматированный ввод и вывод на консоль. Форматированный ввод и вывод означает, что функции могут читать и выводить в разном формате, которым мы можем управлять.
Команды формата начинаются с символа %, за которым следует код формата.
Команды формата:
%c - вывод символьных переменных
%d - целое десятичное число
%i - целое десятичное число
%e - вещественное число с десятичным порядком (1,23е-3)
%f - вещественное число с плавающей точкой (-12,326)
%g - выдает % e или %f, что короче
%o - восьмеричное число
%s - строка символов
%u - беззнаковое число
%x - шестнадцатеричное число
%n - указатель или адрес элемента.
К командам формата могут быть применены модификаторы l или L для вывода длинных чисел.
Между знаком % и форматом команды может стоять целое число. Оно указывает на наименьшее поле, отводимое при печати. Если строка или число больше этого поля, то они печатаются полностью, игнорируя ширину поля. Выравнивание выдачи производится по правому краю. Если нужно выровнять по левому краю поля, то за знаком % следует поставить знак _.
Пример:
int a=15;
int b= -325;
printf(“ a=%d \ t b=%5d\n”,a,b);
Чтобы указать число десятичных знаков после точки, можно указать поле, отводимое под все число после %, и через точку указать поле, в котором будут располагаться десятичные знаки.
Пример:
float x=3.77425;
float y= -725.63;
printf(“ x=%f \t y=%7.2f \n”,x,y);
Синтаксис
scanf(“строка формата”, <объект 1>,…,<объект n>);
Строка формата содержит те же форматирующие символы, что и printf.
Разделителями между двумя вводимыми числами может быть символ _, знак табуляции или знак новой строки.
Пример:
int n;
float a,b;
scanf(“ %d%f%f”, &n&a&b);
Все переменные, которые мы вводим, указываются с помощью адресов в функциях языка С.
- вычитание (унарный минус)
+ сложение
* умножение
/ деление
% деление по модулю (остаток от деления целых чисел)
++ увеличение на единицу
-- уменьшение на единицу.
Операции -, +, *, / применяются ко всем базовым типам данных. Если операнды имеют один тип, то результат арифметической операции имеет тот же тип. Поэтому когда операция / применяется к целым переменным или символьным, остаток отбрасывается.
Пример:
8/3=2 и 1/3=0, а 27%5=2
Операции ++ и - - могут стоять перед операндами (префиксная форма) или после операндов (постфиксная форма).
Операции x=x+1, ++x, x++ дают один и тот же результат, но имеют отличаи при использовании в выражениях.