Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015
- Название:Язык программирования C. Лекции и упражнения (6-е изд.) 2015
- Автор:
- Жанр:
- Издательство:Вильямс
- Год:0101
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015 краткое содержание
Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
838 Приложение Б
прочие операции
Операция sizeof возвращает размер операнда, находящегося справа, который измерен в единицах, представляющих собой размер значения char. Обычно размер значения char составляет 1 байт. Операнд может быть спецификатором типа в круглых скобках, как в случае sizeof (float), или же именем определенной переменной, массива и тому подобного, как в случае sizeof foo. Типом выражения sizeof является sizet.
Операция _Alignof (СИ) выдает требование к выравниванию для типа, указанного в операнде. В некоторых системах значения определенного типа должны сохраняться по адресам, кратным какой-то величине, такой как 4. Это целое число является требованием к выравниванию.
Операция (тип) -- это операция приведения, которая преобразует следующее за ней значение в тип, указанный с помощью ключевого слова в круглых скобках. Например, (float) 9 преобразует целое число 9 в число с плавающей запятой 9. 0.
Операция , — это операция запятой, которая связывает два выражения в одно и гарантирует, что левое выражение будет оценено первым. Значением всего результирующего выражения является значение правого выражения. Операция запятой обычно используется для включения большего количества информации в управляющее выражение цикла for.
Пример
for (step = 2, fargo = 0; fargo < 1000; step *= 2) fargo + = step;
Раздел III. Базовые типы и классы хранения
Сводка: базовые типы данных
Базовые типы данных С подразделяются на две категории: целые числа и числа с плавающей запятой. Различные вариации характеризуются разными диапазонами значений и точностью.
Ключевые слова
Базовые типы данных устанавливаются с применением следующих восьми ключевых слов: int, long, short, unsigned, char, float, double и signed (ANSI C).
Целые числа со знаком
Целые числа со знаком могут иметь положительные и отрицательные значения.
• int — базовый целочисленный тип для данной системы.
• long или long int — может содержать целое число, как минимум, равное самому большому значению int, и возможно больше; long занимает не менее 32 битов.
• Самое большое значение short или short int не больше самого большого int, но может быть меньше, short занимает минимум 16 битов. Обычно long больше, чем short, а int — такой же, как один из них. Например, компиляторы С для DOS на IBM PC поддерживают 16-битовые int и short и 32-битовый long.
• Тип long long, предусмотренный стандартом С99, имеет размер не меньше, чем у long, и занимает минимум 64 бита.
Справочные материалы 839
Целые числа без знака
Целые числа без знака могут иметь только нулевое или положительные значения, что расширяет диапазон допустимых положительных чисел. Используйте ключевое слово unsigned перед именем желаемого типа: unsigned int, unsigned long, unsigned short или unsigned long long. Указание только одного ключевого слова unsigned означает то же самое, что и unsigned int.
Символы
Символы — это типографские знаки, такие как А, & и +. По определению для переменной типа char используется один байт памяти. В прошлом наиболее типичным был размер char, равный 8 битам. Однако возможность языка С по обработке расширенных наборов символов может привести к применению 16-битовых и даже 32-битовых символов.
Ключевым словом для обозначения этого типа является char. Некоторые реализации используют char со знаком, другие — char без знака. ANSI С позволяет применять ключевые слова signed и unsigned для указания требуемой формы char. Формально char, unsigned char и signed char — три разных типа, причем тип char имеет такое же представление, как один из двух других.
Булевский тип (С99)
Булевским типом в С99 является _Bool. Это целочисленный тин без знака, который может принимать одно из двух значений: 0 для обозначения лжи и 1 — для истины. Включение заголовочного файла stdbool.h позволяет использовать bool вместо _Bool, true — вместо 1 и false — вместо 0, что обеспечивает совместимость кода с C++.
Вещественные и комплексные типы с плавающей запятой
Стандарт С99 выделяет две области типов с плавающей запятой: вещественные и комплексные. Вместе они образуют типы с плавающей запятой.
Вещественные числа с плавающей запятой могут иметь положительные и отрицательные значения. В языке С распознаются три вещественных типа с плавающей занятой.
• float — базовый тип с плавающей запятой. Может представлять как минимум шесть значащих цифр. Обычно занимает 32 бита.
• double — (возможно) более крупная единица хранения чисел с плавающей запятой. Может допускать больше значащих цифр и, возможно, большие экспоненты, чем тип float. Может представлять, по меньшей мере, 10 значащих цифр. Обычно занимает 64 бита.
• long double — (возможно) еще более крупная единица хранения чисел с плавающей запятой. Может допускать больше значащих цифр и, возможно, большие экспоненты, чем тип double.
Комплексные числа имеют два компонента: действительную часть и мнимую часть. Стандарт С99 внутренне представляет комплексное число в виде двухэлементного массива, в котором первый элемент является действительной частью, а второй — мнимой частью. Существуют три типа комплексных чисел.
• float _Complex — представляет действительную и мнимую части с помощью значений типа float.
Приложение Б
• double _Complex — представляет действительную и мнимую части с помощью значений типа double.
• long double _Complex — представляет действительную и мнимую части с помощью значений типа long double.
В каждом случае тип в префиксе называется соответствующим вещественным типом. Например, соответствующим вещественным типом в double_Complex является double.
В стандарте С99 комплексные типы были необязательными для автономных сред, в которых программы С могли выполняться без операционной системы. В стандарте С11 комплексные типы необязательны и для автономных, и для размещаемых сред.
Существуют также три мнимых типа; они необязательны как для автономных сред, так и для размещаемых сред (сред, в которых программы С выполняются под управлением операционной системы). Мнимое число имеет только мнимую часть.
Ниже приведен список мнимых типов.
• float Imaginary — представляет мнимую часть с помощью значений типа
float.
• double _Imaginary — представляет мнимую часть с помощью значений типа
double.
• long double _Imaginary — представляет мнимую часть с помощью значений типа long double.
Комплексные числа могут быть инициализированы с применением вещественных чисел и значения I, которое определено в complex.h и представляет i, т.е. квадратный корень из -1:
#include // для I
double _Complex z = 3.0; // действительная часть =3.0, мнимая часть = 0
double _Complex w = 4.0 * I; // действительная часть = 0.0, мнимая часть = 4.0
double Complex u = 6.0 — 8.0*1; //действительная часть = 6.0, мнимая часть = -8.0
Библиотека complex.h, обсуждаемая позже в этом приложении, включает функции, которые возвращают действительный и мнимый компоненты комплексного числа.
Читать дальшеИнтервал:
Закладка: