ООП C++_1
.pdf1.2 Фундаментальные типы данных
1. Интегральные типы
Имя типа
char или _int[8] short или _int[16]
[int] или long или
_int[32]
long long или
_int[64] bool
Подтипы |
Размер , |
Интервал |
|
байт |
значений |
[signed] char |
1 |
-128..127 |
unsigned char |
|
0..255 |
[signed] short |
2 |
-32768..32767 |
unsigned short |
|
0..65535 |
[signed] [int] |
4 |
-231.. 231-1 |
unsigned [int] |
|
0.. 232-1 |
[signed] long |
|
|
unsigned long |
|
|
[signed] long long |
8 |
-263.. 263-1 |
Unsigned long long |
|
0.. 264-1 |
|
1 |
false (0), true(1) |
Для совместимости с С по-прежнему считается: 0 – false; не 0 – true. 11
2. Вещественные типы
Тип |
Размер, |
Значащих |
Минимальное |
Максимальное |
|
байт |
цифр |
положительное |
положительное |
|
|
|
число |
число |
float |
4 |
6 |
1.175494351е-38 |
3.402823466е38 |
double |
8 |
15 |
2.2250738585072014 |
1.797693134862318 |
(long |
|
|
е-308 |
e308 |
|
|
|
|
|
double) |
|
|
|
|
3. Неопределенный («пустой») тип void
Нельзя объявлять значения типа void, этот тип используется только при объявлении:
|
нетипизированных указателей; |
|
|
функций, не возвращающих значений (процедур). |
12 |
1.3 Объявление переменных и констант
Формат:
[<Изменчивость>] [<Тип>]<Список идентификаторов>[=<Значение>];
где <Изменчивость> – описатель возможности изменения значений: const – константа,
volatile – независимо меняющаяся переменная, без указания – обычная переменная
<Тип> – описатель типа: int, char, float, double и т.д.;
<Список идентификаторов> – список имен переменных или констант; <Значение> – начальное значение переменной или значение
константы.
|
Примеры: |
|
а) int a, b; |
// две целые переменные |
|
б) float c=1.05,d(3.5); // инициализированные значения |
||
в) |
const unsigned char letter=’a’; // константа – код буквы «a» |
|
г) |
int const a=15; |
// целая константа 15 – тип int – по умолчанию ! |
д) const int a(1); |
13 |
Перечисляемый тип
Используется для объявления совокупности поименованных целых констант.
Формат:
enum {<Ид>[=<Целое>] [,<Ид>[<>]…]}
<Список переменных>;
Пример: |
Имя |
|
переменной |
||
|
enum {SUN, MON, TUES, FRI=5, SAT} day;
SUN =0, MON = 1, TUES = 2, FRI=5, SAT=6
Константы присваиваются, начиная с нуля или с указанного значения.
14
Объявление типа
Появилось только в С++. Формат:
typedef <Описание типа> <Имя объявляемого типа>;
Примеры: |
Имя |
нового типа |
1)typedef unsigned int word;
2)typedef enum {false, true} boolean;
Имя нового типа
15
1.4 Стандартные функции ввода/вывода 1 Форматный ввод /вывод
Ввод:
int scanf(<Форматная строка>,
<Список адресов переменных>);
// возвращает количество значений или EOF(-1)
Вывод:
int printf(<Форматная строка>, <Список выражений>);
где <Форматная строка> - строка, которая помимо символов содержит спецификации формата вида для выводимых значений:
%[-] [<Целое 1>] [.<Целое 2>] <Формат>
«-» - выравнивание по левой границе, <Целое 1> - ширина поля вывода;
<Целое 2> - количество цифр дробной части вещественного числа;
<Формат> - определяется специальной литерой. |
16 |
Спецификации формата
d - целое десятичное число;
u - целое десятичное число без знака;
o - целое число в восьмеричной системе счисления;
x - целое число в шестнадцатеричной системе счисления (% 4x - без гашения незначащих нулей);
f - вещественное число;
e - вещественное число в экспоненциальной форме; c - символ;
p - указатель (адрес); s - символьная строка.
Кроме этого, форматная строка может содержать: \n - переход на следующую строку;
\n hhh - вставка символа с кодом ASCII hhh (код задается в шестнадцатеричной системе счисления);
%% - печать знака %.
17
Примеры форматного ввода/вывода
а) i=26;
printf ("%-6d %% %o %x\n", i, i, i);
26 %321A
б) scanf(”%d %d”,&a,&b);
Вводимые значения: 1) 24 28 2) 24
28
в) scanf("%d,%d",&a,&b);
Вводимые значения: 24,28
г) scanf("%s",name); |
|
Вводимые значения: Иванов Иван |
|
Результат ввода: name="Иванов" |
18 |
2 Ввод/вывод строк
Ввод:
char* gets(<Строковая переменная>);
// возвращает копию строки или NULL
Вывод:
int puts (<Строковая константа или переменная>);
Примеры:
а) puts("Это строка");
Результат: Это строка
б) gets(st);
Вводимые значения: Иванов Иван
Результат: st ="Иванов Иван"
19
3 Ввод/вывод символов
Ввод символа:
int getchar(); // возвращает символ или EOF
Вывод символа:
int putchar(<Символьная переменная или константа>);
Примеры:
а) ch=getchar( ); б) putchar(’t’);
20