int i; // целое число со знаком, занимает в памяти стандартное машинное слово – 2 байта, диапазон значений от -32768 до 32767
long l; // целое число со знаком, двойное слово – 4 байта
short s; // целое число со знаком, короткое слово или байт
char c; // целое число со знаком, байт, диапазон значений от -128 до 127
Вещественные типы данных (числа с плавающей точкой).
Тип float используется, в основном, при вводе-выводе, занимает в памяти 4 байта.
Тип double (8 байт) обеспечивает стандартную точность вычислений в арифметических выражениях, поэтому любая переменная типа float перед использованием в выражении автоматически преобразуется в double. Кроме того, если в операции присутствует одна переменная типа double, а вторая является целым числом, то последняя также преобразуется (приводится) к double.
Представление символьных данных.
Представление и обработка символьной информации в С основаны на использовании базового целочисленного типа данных char, каждый байт которого может хранить либо двоичное число, либо символ текста, за которым стандартами закреплено значение байта, называемого кодом символа.
|
|
4.4. Тип void.
Множество значений типа void пусто; используется для определения функций, которые не возвращают никакого значения, для указания пустого списка аргументов функции и в операции приведения типов.
Структура программы
Программа на языке Си представляет собой строку символов, состоящую из лексических элементов (лексем): констант (литералов), зарезервированных слов, идентификаторов, знаков операций и ограничителей (разделителей).
// комментарии
// Глобальные объявления
#<директивы_препроцессора> // например, #include <stdio.h> или “myfile.h”
<прототипы_используемых_функций>; // имеют вид: <тип_функции> <имя_функции>(список_формальных_параметров);
<объявление_внешних_переменных>; // имеет вид: extern <имя_переменной>;
<тип_главной_функции> main(<список_формальных_параметров>); // например, int main(void) – функция, с которой начинается выполнение программы
{
<объявление_переменных>;
<последовательность_операторов>;
}
<тип_функции> <имя_функции_1>(<список _формальных_параметров>)
{
<объявление_переменных>;
<последовательность_операторов>;
}
…
Операции и выражения
Операции являются элементарными конструкциями и представляют собой действия, которые могут быть выполнены над переменными базовых типов данных.
Группа последовательно выполняемых операций (элементарных конструкций) над переменными (обозначаемыми символами) образует выражение, которое является правилом вычисления значения, например, a+b.
Операндами называются переменные, константы, выражения, участвующие в операции.
|
|
Унарной операцией называется операция над одним операндом.
Бинарной операцией называется операция над двумя операндами.
Операции и выражения представляют собой безусловную последовательность действий.
6.1. Знаки операций.
Операции | Назначение операций |
() [ ] ->. | операции наивысшего приоритета, которые используются при вызове функций, индексировании элементов массива, операции выбора компонентов структурированного объекта (прямой и косвенный) |
! + - ++ -- & * | унарные операции: логическое отрицание, положительное значение, изменение знака, увеличение на единицу, уменьшение на единицу, получение адреса, обращение по адресу |
* / % | мультипликативные бинарные операции: умножение, деление, получение остатка от деления целочисленных операндов |
+ - | аддитивные бинарные операции: сложение, вычитание |
<< >> | операции поразрядного сдвига: влево, вправо |
< <= >= > ==!= | операции отношения: меньше, меньше или равно, больше или равно, больше, равно, не равно |
& ^ | | логические бинарные операции: поразрядные конъюнкция, исключающее ИЛИ, дизъюнкция |
&& || | логические бинарные операции: конъюнкция, дизъюнкция |
?: | условная тернарная операция (три операнда) |
= *= /= %= += -= &= ^= |= <<= >>= | операции присваивания: простое, после соответствующей операции |
, | операция группирует вычисления слева направо |