![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Integer – целое число со знаком
Стандартные Pascal Integer – целое число со знаком Определение внешнего вида значений Форма Бэкуса-Наура: <целое без знака>::= <цифра> {<цифра>} <целое>::= <целое без знака> | + <целое без знака> | – <целое без знака> 1.2.Определение диапазона и возможных зарезервированных констант: Диапазон значений: От -32768 до 32767 Константы: MaxInt = 32767 Определение операций Арифметические: +, -, *, / Арифметические дополнительные: div, mod Сравнения: =, <, >, <>, >=, <=, in (присутствие в множестве) Логические: и (and), или (or), не (not), исключающее или (xor) 1.4.Определение процедур и функций, которые могут применяться к этому типу: Математические abs(x) - модуль sqr(x) – возведение в квадрат sqrt(x) – квадратный корень (результат: real) ln(x) – натуральный логарифм (результат: real) randon(x) – случайное число от 0 до x random – случайное число от 0 до 1 Тригонометрические: sin(x) – синус (результат: real) cos(x) – косинус (результат: real) arctan(x) – арктангенс (результат: real) Прочие: pred(x) – предыдущее число succ(x) – следующее число odd(x) – выдает true если x нечетно 1.5.Ввод/вывод: Допустимы (read/readln/write/writeln) Допустимо изменение ширины поля печати – write(x:5); 1.6.Представление значений в памяти ЭВМ: Занимает 2 байта 0..14 бит- значение числа 15 бит- знак (нумерация бит идёт с конца) Real – вещественное число Определение внешнего вида значений Форма Бэкуса-Наура: <число с фиксированной точкой>::= <целое>. <целое без знака> Например: 0.003 -2.71828 48.8900 +2.0 <число с плавающей точкой>::= <целое> E <целое> | <число с фикс. точкой> E <целое> Например: -5.4E-3 3E5 9.43E-03 3E+2 2.2. Определение диапазона и возможных зарезервированных констант: Диапазон значенией: ~ 2.9*10-39 – 1.7*1038 Константы: Pi = 3.14159265358979 MaxReal = 1.7E308 MinReal = 4.94065645841247E-324 Определение операций Арифметические: +, -, *, / Сравнения: =, <, >, <>, >=, <= 2.4. Определение процедур и функций, которые могут применяться к этому типу: Математические abs(x) - модуль sqr(x) – возведение в квадрат sqrt(x) – квадратный корень ln(x) – натуральный логарифм int(x) – целая часть числа x, получаемая путем округления до ближайшего меньшего целого frac(x) – дробная числа часть числа x Тригонометрические: sin(x) – синус cos(x) – косинус arctan(x) – арктангенс
2.5. Ввод/вывод: Допустимы (read/readln/write/writeln) Допустим вывод в экспоненциальной форме – write(x:5); Допустим вывод определенного числа символов после запятой – write(x:5:5); 2.6. Представление значений в памяти ЭВМ: Занимает 6 байт 0..39 бит-мантисса 40..45 бит-порядок 46 бит-знак порядка 47 бит-знак мантиссы Char – символ Определение внешнего вида значений Формы Бэкуса-Наура: <буква>::= A | B | C | … X | Y | Z | a | b | c | … x | y | z <цифра>::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <знак>::= ~ |! | @ |#| $| %| ^| & | *| (| - | + |) | = | \ |: |; |: |? | № |. |, <char>::= ‘ <буква> | <цифра> | <знак> ‘ 3.2. Определение диапазона и возможных зарезервированных констант: Диапазон значений: Byte: 0..255 Константы: Нет Определение операций Сравнения: =, <, >, <>, >=, <= 3.4. Определение процедур и функций, которые могут применяться к этому типу: Succ(x) - возвращает следующий символ литерного множества; Pred(x) - возвращает предыдущий символ литерного множества; Ord(x) - возвращает значение кода литеры; Chr(x) - возвращает значение литеры по ее коду, является обратной по отношению к функции Ord. UpCase(x) – преобразование символа x из строчных букв латинского алфавита в прописные 3.5. Ввод/вывод: Допустимы (read/readln/write/writeln) 3.6. Представление значений в памяти ЭВМ: Занимает 1 байта 0..7 бита- значение числа Boolean – логичесткий Определение внешнего вида значений Форма Бэкуса-Наура: <boolean>::= True | False 4.2. Определение диапазона и возможных зарезервированных констант: Диапазон значений: True/False Константы: Нет Определение операций Сравнения: =, <> 4.4. Определение процедур и функций, которые могут применяться к этому типу: Нет 4.5. Ввод/вывод: Только вывод (write/writeln) 4.6. Представление значений в памяти ЭВМ: Занимает 1 байт Значение = true Значение = false Сложные Pascal Array – массив Определение внешнего вида значений Формы Бэкуса-Наура: нет 1.2.Определение диапазона и возможных зарезервированных констант: Диапазон значений: Определяется только для каждого элемента непосредственно, обусловлен базовым типом (зависит от того, массив чего задается) Константы: Нет Определение операций Работа с каждым элементом как с обычной переменной базового типа Обращение к элементу – в квадратных скобках, например: a[1] – обращение к первому элементу массива a.
1.4.Определение процедур и функций, которые могут применяться к этому типу: Для всего массива целиком не определяются Определяются для каждого элемента непосредственно как для объекта базового типа 1.5.Ввод/вывод: Допустимы поэлементно (read[i]/readln[i]/write[i]/writeln[i]) 1.6.Представление значений в памяти ЭВМ: Последовательно все элементы, размер каждого – размер базового типа Record – запись Определение внешнего вида значений Формы Бэкуса-Наура: нет 2.2. Определение диапазона и возможных зарезервированных констант: Диапазон значений: Определяется только для каждого поля Обусловлен базовым типом каждого поля непосредственно Константы: Нет Определение операций Для всей записи – оператор with with <record> do Begin … end; Для каждого поля записи – соответствуют операциям базового типа этого поля 2.4. Определение процедур и функций, которые могут применяться к этому типу: Sizeof(record) – объем занимаемого пространства в памяти Для каждого поля записи – соответствуют процедурам и функциям базового типа этого поля 2.5. Ввод/вывод: Допустимы по полям (read(record1.variable)/readln(record1.variable)/write(record1.variable)/writeln(record1.variable)) или через «with» - with record1 do begin readln(variable); // и т.п. end; 2.6. Представление значений в памяти ЭВМ: Все поля располагаются последовательно, размер каждого поля соответствует размерности его базового типа. При этом происходит «выравнивание». Также записи дополняются, для гарантии, что они закончены, 4-х байтовой границей. Set Определение внешнего вида значений Формы Бэкуса-Наура: нет 3.2. Определение диапазона и возможных зарезервированных констант: Диапазон значений: Любой порядковый тип с элементами, для которых функция Ord возвращает значения в диапазоне от 0 до 255 Пример: type Константы: Нет Определение операций + объединение - разность * пересечение Операция in проверяет принадлежность элемента множеству 3.4. Определение процедур и функций, которые могут применяться к этому типу: Процедуры и функции: Нет 3.5. Ввод/вывод: Чтобы вывести значения элементов множества, необходимо перебрать всевозможные значения в цикле и проверить их на принадлежность множеству с помощью операции in: for i:=0 to 255 do 3.6. Представление значений в памяти ЭВМ: Хранится в побитовой структуре, но занимает целое число байт, количество которых определяется размерностью множества. Например, если множество определяется как ‘0’..’9’ (т.е. содержит десять элементов), в памяти будет выделено под него два байта. Один байт = 8 бит, а нам нужно разместить 10 бит, т.е. округляем «вверх» до шестнадцати и получаем два байта. Для пустого множества все биты равны нулям. Далее, в памяти все биты нумеруются и если элемент с определенным номером добавляется в множество, то каждый соответствующий бит (с этим же номером) принимает значение 1. Перечислимый Определение внешнего вида значений Формы Бэкуса-Наура: нет Пример: type 4.2. Определение диапазона и возможных зарезервированных констант: Диапазон значений: Задаётся самостоятельно Константы: Нет Определение операций нет 4.4. Определение процедур и функций, которые могут применяться к этому типу:
нет 4.5. Ввод/вывод: нет 4.6. Представление значений в памяти ЭВМ: Значения перечислимого типа занимают 4 байта. Ограниченный Определение внешнего вида значений Интервальный тип представляет собой подмножество значений целого, символьного или перечислимого типа и описывается в виде a..b, где a - нижняя, b - верхняя граница интервального типа: var 5.2. Определение диапазона и возможных зарезервированных констант: Диапазон значений: Задаётся самостоятельно Константы: Нет Определение операций нет 5.4. Определение процедур и функций, которые могут применяться к этому типу: нет 5.5. Ввод/вывод: нет 5.6. Представление значений в памяти ЭВМ: Тип, на основе которого строится интервальный тип, называется базовым для этого интервального типа. Значения интервального типа занимают 4 байта. File – типизированные файлы Определение операций нет 6.4. Определение процедур и функций, которые могут применяться к этому типу: Assign(f, ‘путь’) – ассоциация файловой переменной с файлом Reset(f) – открытие файла на чтение Rewrite(f) – открытие файла на запись Close(f) – закрытие файла EoF(f) – проверка, достигнут ли конец файла (результат – boolean) Seek(f, физический номер) – смещение на позицию в файле FileSize(f) – получает размер файла FilePos(f) – получает текущую позицию в файле (физический номер «предыдущего» элемента) Truncate(f) – удаляет все элементы типизированного файла с текущей позиции файлового указателя до конца файла 6.5. Ввод/вывод: Read(f, значение) – если файл открыт для чтения Write(f, значение) – если файл открыт для записи 6.6. Представление значений в памяти ЭВМ: Как на жестком диске Pointer Определение операций Указатели можно сравнивать на равенство (=) и неравенство (<>). В дополнение к этому типизированные указатели можно сравнивать, используя операции <, >, <=, >=. Для доступа к ячейке памяти, адрес которой хранит типизированный указатель, используется операция разыменования ^: var Операция разыменования не может быть применена к бестиповому указателю. Типизированный указатель может быть неявно преобразован к бестиповому: type preal=^real; Обратное преобразование может быть выполнено только явно: pr:=preal(p); 7.4. Определение процедур и функций, которые могут применяться к этому типу: New(p) - процедура; p - типизированный указатель; выделяет динамическую память размера, равного размеру типа, на который указывает p, и возвращает указатель на нее в переменной p
Dispose(p) - процедура; p - типизированный указатель; освобождает динамическую память по указателю p, ранее выделенную процедурой New GetMem(p,n) - процедура; p - указатель любого типа, n - integer; выделяет динамическую память размера n байт и возвращает указатель на нее в переменной p FreeMem(p) - процедура; p - указатель любого типа; освобождает динамическую память по указателю p, ранее выделенную процедурой GetMem FillMem(v,count,x) - процедура; v - переменная любого типа, count - integer, x - byte; заполняет count значениями x область памяти, занимаемую переменной v. Контроль выхода за границы не производится CopyMem(src,dest,count) - процедура; src, dest - pointer, count - integer; копирует count байт из памяти, расположенной по адресу src, в память, расположенную по адресу dest. Допускается использовать перекрывающиеся диапазоны памяти. 7.5. Ввод/вывод: Нет 7.6. Представление значений в памяти ЭВМ: нет
String – строки Определение операций Сравнения: =, <, >, <> Происходит «посимвольное» сравнение 1.4.Определение процедур и функций, которые могут применяться к этому типу: Length(s) - функция; s - string; результат - integer; возвращает длину строки s. Copy(s,index,count) - функция; s - string, index и count - integer; результат - string; возвращает подстроку строки s длины count, начиная с позиции index. Delete(s,index,count) - процедура; s - string, index и count - integer; удаляет в строке s count символов начиная с позиции index. Insert(subs,s,index) - процедура; s, subs - string, index - integer; вставляет подстроку subs в строку s с позиции index. Pos(subs,s) - функция; s, subs - string; результат - integer; возвращает позицию первой подстроки subs в строке s (или 0 если подстрока не найдена). SetLength(s,n) - процедура; s - string, n - integer; устанавливает длину строки s равной n. Str(x,s), Str(x:n,s), Str(x:n:m,s) - процедура; s - string, x - integer, real и n, m - integer; преобразует x к строковому представлению (во втором и третьем случаях согласно формату вывода, устанавливаемому n и m) и записывает результат в строку s. Val(s,v,code) - процедура; s - string, v - integer, real, и code - integer; преобразует строку s к числовому представлению и записывает результат в переменную v. Если преобразование возможно, то в переменной code возвращается 0, если невозможно, то в code возвращается ненулевое значение. Concat(s1,...,sn) - функция; s1,..., sn - string; результат - string; возвращает строку, являющуюся результатом слияния строк s1,..., sn. Результат тот же, что у выражения s1+s2+...+sn.
Также можно работать с каждым символом непосредственно как с переменной символьного типа, обращаясь к нему как к элементу массива (нумеруются начиная с единицы, обращение к нулевому символу считается ошибочным). 1.5.Ввод/вывод: Допустимы (read/readln/write/writeln) 1.6.Представление значений в памяти ЭВМ: Де-факто строка – это массив символов. Занимает число байт, равное размерности строки + 1, т.е.первый байт отводится под значение размерности. Text – текстовые файлы Определение операций Нет 2.4. Определение процедур и функций, которые могут применяться к этому типу: Assign(f, ‘путь’) – ассоциация файловой переменной с файлом
Reset(f) – открытие файла на чтение Rewrite(f) – открытие файла на запись Append(f) – открытие файла на дозапись Close(f) – закрытие файла 2.5. Ввод/вывод: Read(f, значение) – если файл открыт для чтения Readln(f, значение) – если файл открыт для чтения Write(f, значение) – если файл открыт для записи или дозаписи Writeln(f, значение) – если файл открыт для записи или дозаписи EoF(f) – проверка, достигнут ли конец строки в файле (результат – boolean) 2.6. Представление значений в памяти ЭВМ: Как на жестком диске
СИ Int – целое число со знаком Определение операций Арифметические: + (сложение),- (вычитание),* (умножение), / (целочисленное деление), % (вычисление остатка) ++(инкремент) --(декремент) Сравнения: <,<=,>,>=,==,!= Поразрядные: ~(НЕ),&(И),|(ИЛИ),^(исключающее ИЛИ) Побитового сдвига: <<(сдвиг влево),>>(сдвиг вправо) Составные операции присваивания: +=, –=, *=, /=, %=,>>=,<<=,&=,|=,^=,~= Логические:!(НЕ),&&(И),||(ИЛИ),^(исключающее ИЛИ) 1.4.Определение процедур и функций, которые могут применяться к этому типу: Математические: div(), abs() прочие: raise(), exit(), assert(), isalnum(), isalpha(), isblank(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit(),, malloc(), tolower(), toupper(), sizeof(), _Exit(), putchar(), putc(), ungetc() 1.5.Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %d – аргумент рассматривается как целое 10-тичное число со знаком %u – целое 10-тичное без знака %x – 16-ричное целое без знака %o – 8-ричное целое без знака 1.6.Представление значений в памяти ЭВМ: Занимает 4 байта 0..30 бит- значение числа 31 бит- знак
Определение операций Арифметические: + (сложение),- (вычитание),* (умножение), / (целочисленное деление), % (вычисление остатка) ++(инкремент) --(декремент) Сравнения: <,<=,>,>=,==,!= Поразрядные: ~(НЕ),&(И),|(ИЛИ),^(исключающее ИЛИ) Побитового сдвига: <<(сдвиг влево),>>(сдвиг вправо) Составные операции присваивания: +=, –=, *=, /=, %=,>>=,<<=,&=,|=,^=,~= Логические:!(НЕ),&&(И),||(ИЛИ),^(исключающее ИЛИ) 2.4.Определение процедур и функций, которые могут применяться к этому типу: srand(), sizeof() 2.5.Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %d – аргумент рассматривается как целое 10-тичное число со знаком %u – целое 10-тичное без знака %x – 16-ричное целое без знака %o – 8-ричное целое без знака 2.6.Представление значений в памяти ЭВМ: Занимает 4 байта 0..31 бит- значение числа
Short-короткое целое Определение операций Арифметические: + (сложение),- (вычитание),* (умножение), / (целочисленное деление), % (вычисление остатка) ++(инкремент) --(декремент) Сравнения: <,<=,>,>=,==,!= Поразрядные: ~(НЕ),&(И),|(ИЛИ),^(исключающее ИЛИ) Побитового сдвига: <<(сдвиг влево),>>(сдвиг вправо) Составные операции присваивания: +=, –=, *=, /=, %=,>>=,<<=,&=,|=,^=,~= Логические:!(НЕ),&&(И),||(ИЛИ),^(исключающее ИЛИ) 3.4.Определение процедур и функций, которые могут применяться к этому типу: sizeof() 3.5.Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %d – аргумент рассматривается как целое 10-тичное число со знаком %u – целое 10-тичное без знака %x – 16-ричное целое без знака %o – 8-ричное целое без знака 3.6.Представление значений в памяти ЭВМ: Занимает 2 байта 0..14 бит- значение числа 15 бит- знак Определение операций Арифметические: + (сложение),- (вычитание),* (умножение), / (целочисленное деление), % (вычисление остатка) ++(инкремент) --(декремент) Сравнения: <,<=,>,>=,==,!= Поразрядные: ~(НЕ),&(И),|(ИЛИ),^(исключающее ИЛИ) Побитового сдвига: <<(сдвиг влево),>>(сдвиг вправо) Составные операции присваивания: +=, –=, *=, /=, %=,>>=,<<=,&=,|=,^=,~= Логические:!(НЕ),&&(И),||(ИЛИ),^(исключающее ИЛИ) 4.4.Определение процедур и функций, которые могут применяться к этому типу: sizeof() 4.5.Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %d – аргумент рассматривается как целое 10-тичное число со знаком %u – целое 10-тичное без знака %x – 16-ричное целое без знака %o – 8-ричное целое без знака 4.6.Представление значений в памяти ЭВМ: Занимает 2 байта 0..15 бит- значение числа
Long-длинное целое Определение операций Арифметические: + (сложение),- (вычитание),* (умножение), / (целочисленное деление), % (вычисление остатка) ++(инкремент) --(декремент) Сравнения: <,<=,>,>=,==,!= Поразрядные: ~(НЕ),&(И),|(ИЛИ),^(исключающее ИЛИ) Побитового сдвига: <<(сдвиг влево),>>(сдвиг вправо) Составные операции присваивания: +=, –=, *=, /=, %=,>>=,<<=,&=,|=,^=,~= Логические:!(НЕ),&&(И),||(ИЛИ),^(исключающее ИЛИ) 5.4.Определение процедур и функций, которые могут применяться к этому типу: ldiv(), labs(), sizeof() 5.5.Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %d – аргумент рассматривается как целое 10-тичное число со знаком %u – целое 10-тичное без знака %x – 16-ричное целое без знака %o – 8-ричное целое без знака 5.6.Представление значений в памяти ЭВМ: Занимает 4 байта 0..30 бит- значение числа 31 бит- знак
Определение операций Арифметические: + (сложение),- (вычитание),* (умножение), / (целочисленное деление), % (вычисление остатка) ++(инкремент) --(декремент) Сравнения: <,<=,>,>=,==,!= Поразрядные: ~(НЕ),&(И),|(ИЛИ),^(исключающее ИЛИ) Побитового сдвига: <<(сдвиг влево),>>(сдвиг вправо) Составные операции присваивания: +=, –=, *=, /=, %=,>>=,<<=,&=,|=,^=,~= Логические:!(НЕ),&&(И),||(ИЛИ),^(исключающее ИЛИ) 6.4.Определение процедур и функций, которые могут применяться к этому типу: sizeof() 6.5.Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %d – аргумент рассматривается как целое 10-тичное число со знаком %u – целое 10-тичное без знака %x – 16-ричное целое без знака %o – 8-ричное целое без знака 6.6.Представление значений в памяти ЭВМ: Занимает 4 байта 0..31 бит- значение числа
Char-символьный Определение операций Арифметические: + (сложение),- (вычитание),* (умножение), / (целочисленное деление), % (вычисление остатка) ++(инкремент) --(декремент) Сравнения: <,<=,>,>=,==,!= Поразрядные: ~(НЕ),&(И),|(ИЛИ),^(исключающее ИЛИ) Побитового сдвига: <<(сдвиг влево),>>(сдвиг вправо) Составные операции присваивания: +=, –=, *=, /=, %=,>>=,<<=,&=,|=,^=,~= Логические:!(НЕ),&&(И),||(ИЛИ),^(исключающее ИЛИ) 7.3.Определение процедур и функций, которые могут применяться к этому типу: sizeof() 7.4.Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %d – аргумент рассматривается как целое 10-тичное число со знаком %u – целое 10-тичное без знака %x – 16-ричное целое без знака %o – 8-ричное целое без знака %c – символ 7.5.Представление значений в памяти ЭВМ: Занимает 1 байта 0..6 бит- значение числа 7 бит- знак
Unsigned Char-символьный Определение операций Арифметические: + (сложение),- (вычитание),* (умножение), / (целочисленное деление), % (вычисление остатка) ++(инкремент) --(декремент) Сравнения: <,<=,>,>=,==,!= Поразрядные: ~(НЕ),&(И),|(ИЛИ),^(исключающее ИЛИ) Побитового сдвига: <<(сдвиг влево),>>(сдвиг вправо) Составные операции присваивания: +=, –=, *=, /=, %=,>>=,<<=,&=,|=,^=,~= Логические:!(НЕ),&&(И),||(ИЛИ),^(исключающее ИЛИ) 8.3.Определение процедур и функций, которые могут применяться к этому типу: sizeof() 8.4.Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %d – аргумент рассматривается как целое 10-тичное число со знаком %u – целое 10-тичное без знака %x – 16-ричное целое без знака %o – 8-ричное целое без знака %c – символ 8.5.Представление значений в памяти ЭВМ: Занимает 1 байта 0..7 бита- значение числа
Float-вещественное Определение операций Арифметические: + (сложение),- (вычитание),* (умножение),/ (деление) Сравнения: <,<=,>,>=,==,!= Составные операции присваивания: +=, –=, *=, /= 9.4.Определение процедур и функций, которые могут применяться к этому типу: ТРИГОНОМЕТРИЧЕСКИЕ: ВСЕ МАТИМАТИЧЕСКИЕ: ВСЕ ОСТАЛЬНЫЕ: sizeof() 9.5.Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %f – вещественное с фиксированной точкой %e – вещественное с плавающей точкой 9.6.Представление значений в памяти ЭВМ: Занимает 4 байт 0..22 бит-мантисса 23..30 бит-порядок 31 бит-знак Определение операций Арифметические: + (сложение),- (вычитание),* (умножение),/ (деление) Сравнения: <,<=,>,>=,==,!= Составные операции присваивания: +=, –=, *=, /= 10.4. Определение процедур и функций, которые могут применяться к этому типу: ТРИГОНОМЕТРИЧЕСКИЕ: ВСЕ МАТЕМАТИЧЕСКИЕ: ВСЕ ОСТАЛЬНЫЕ: sizeof() 10.5. Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %f – вещественное с фиксированной точкой %e – вещественное с плавающей точкой 10.6. Представление значений в памяти ЭВМ: Занимает 8 байт 0..51 бит-мантисса 52..62 бит-порядок 63 бит-знак Определение операций Арифметические: + (сложение),- (вычитание),* (умножение),/ (деление) Сравнения: <,<=,>,>=,==,!= Составные операции присваивания: +=, –=, *=, /= 11.4. Определение процедур и функций, которые могут применяться к этому типу: ТРИГОНОМЕТРИЧЕСКИЕ: ВСЕ МАТИМАТИЧЕСКИЕ: ВСЕ ОСТАЛЬНЫЕ: sizeof() 11.5. Ввод/вывод: ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ IOSTREAM Ввод: cin >> <переменная>; Вывод: cout << <переменная>; ПРИ ИСПОЛЬЗОВАНИИ БИБЛИОТЕКИ STDIO.H Ввод: scanf(<строка формата>,<список переменных>); Вывод: printf(<строка формата>,<список переменных >); ОСНОВНЫЕ ФОРМАТЫ: %f – вещественное с фиксированной точкой %e – вещественное с плавающей точкой 11.6. Представление значений в памяти ЭВМ: Занимает 10 байт 0..63 бит-мантисса 64..78 бит-порядок 79 бит-знак
Составные типы данных Си Struct - структура Определение операций Определяется только для каждого поля Обусловлен базовым типом каждого поля непосредственно 1.4.Определение процедур и функций, которые могут применяться к этому типу: Обусловлен базовым типом каждого поля непосредственно struct DATATYPE { int value_1; //поле типа int - 2 байта float value_2; //поле типа float - 4 байта char value_3; //поле типа char - 1 байт };
При последующем объявлении переменных, относящихся к DATATYPE, в Си обязательно использование ключевого слова struct, в С++ - не обязательно. struct DATATYPE type1; // объявление type1 типа DATATYPE (union) в Си DATATYPE type1; // объявление type1 типа DATATYPE (union) в С++
Получить размер любой переменной, относящейся к DATATYPE можно через функцию sizeof. Для type1 размер = sizeof(type1); 1.5.Ввод/вывод: Операции ввода/вывода для каждого поля эквивалентны операциям, предусмотренным для типов этих полей. Обращение к каждому полю происходит через «.» (точку). type1.value_1 = 5; //присвоили полю value_1 значение 5 type1.value_2 = 3.1; //присвоили полю value_2 значение 3.1 1.6.Представление значений в памяти ЭВМ: В памяти все поля структуры располагаются последовательно, общий размер структуры равен сумме размеров каждого поля (для type1 будет равен 2+4+1=7 байт).
Union - объединение Определение операций Определяется только для каждого поля Обусловлен базовым типом каждого поля непосредственно 2.4.Определение процедур и функций, которые могут применяться к этому типу: Обусловлен базовым типом каждого поля непосредственно union DATATYPE // Объявление нового типа union («объединение») – DATATYPE { char ch; //поле типа char - 1 байт int i; //поле типа int - 2 байта float f; //поле типа float - 4 байта double d; //поле типа double - 8 байт };
При последующем объявлении переменных, относящихся к DATATYPE, в Си обязательно использование ключевого слова union, в С++ - не обязательно. union DATATYPE var1; // объявление var2 типа DATATYPE (union) в Си DATATYPE var1; // объявление var1 типа DATATYPE (union) в С++
Каждое поле, хранящееся в union-е, может содержать любое значение заданного типа. var1.i = 6; // Использовать переменную как целое (int) var1.d = 5.327; // Использовать переменную как дробную (double)
Получить размер любой переменной, относящейся к DATATYPE можно через функцию sizeof. Для var1 размер = sizeof(var1); 2.5.Ввод/вывод: Операции ввода/вывода для каждого поля эквивалентны операциям, предусмотренных для типов этих полей. Обращение происходит через «.» (точку). 2.6.Представление значений в памяти ЭВМ: Каждый новый тип, описанный как union, занимает в памяти число байт, равное размеру максимального поля этого типа. Так, например, описанный выше тип DATATYPE занимает 8 байт в памяти, т.к. его поле максимальной длины – d (double занимает в памяти 8 байт).
Enum – перечисление Определение операций После того, как определено перечисление, можно создавать переменные нового типа и работать с ними: cardinal_dirs ch = north;
В данном случае переменные типа cardinal_dirs могут принимать только четыре значения: north, south, east, west. Элементы в перечислении нумеруются от нуля. Т.е. north = 0, east = 1, south = 2, west = 3. Вместо перечисления можно было создать четыре константы: const int north = 0; const int east = 1; const int south = 2; const int west = 3; 3.4.Определение процедур и функций, которые могут применяться к этому типу: sizeof() 3.5.Ввод/вывод: нет. 3.6.Представление значений в памяти ЭВМ: В памяти cardinal_dirs также будет записана как ряд констант: четыре целые значения, по 2 байта каждое (итого: 2 байта * 4 элемента = 8 байт занимают все элементы). Имена (north/east/south/west) определены только в пределах исходного кода программы.
Статические массивы Определение операций Определяется только для каждого поля Обусловлен базовым типом каждого поля непосредственно
Пример объявления одномерного массива: int x[5]; //создать массив из шести элементов целого типа. Далее можно обратиться к каждому элементу массива - например, использовать операцию присваивания: x[0]=1; x[1]=2; x[2]=3; x[3]=4; x[4]=5; Т.е. нумерация элементов всегда идет с нулевого элемента. 4.4.Определение процедур и функций, которые могут применяться к этому типу: sizeof(), 4.5.Ввод/вывод: операции ввода/вывода – как для переменных базового типа (в данном случае типа int). Можно последовательно ввести или вывести весь массив, циклически изменяя индекс элемента. 4.6.Представление значений в памяти ЭВМ: В памяти элементы массива хранятся последовательно, «друг за другом». Размер каждого элемента равен занимаемому объему памяти базового типа. Так, массив из пяти элементов типа int займет 5*2=10 байт в памяти. В «многомерных» массивах элементы хранятся «по строкам», также последовательно.
Динамические массивы Определение операций Определяется только для каждого поля Обусловлен базовым типом каждого поля непосредственно * - взятие значения по адресу & - взятие адреса Пусть есть некоторая переменная n типа int, равная 5 – ее можно задать ранее каким-либо способом, либо получить в процессе работы программы. Далее нужно создать динамический массив размерности n.
int *p; //объявляем указатель 5.4.Определение процедур и функций, которые могут применяться к этому типу: p = (int *) malloc (n*sizeof(int)); //выделили область памяти размером n*(размер типа int) – т.е. 2*5=10 байт, указатель на начало области памяти вернули в p
после работы с массивом необходимо освободить память: free((void*) p);
sizeof() можно применять функции указателей 5.5.Ввод/вывод: операции ввода/вывода – как для переменных базового типа (в данном случае типа int). Можно последовательно ввести или вывести весь массив, циклически изменяя индекс элемента. 5.6.Представление значений в памяти ЭВМ: В памяти элементы массива хранятся последовательно, «друг за другом». Размер каждого элемента равен занимаемому объему памяти базового типа..
Указатели Определение операций Присвоение указателю адреса переменной: int c = 10; int *ptr = &c; * - взятие значения по адресу & - взятие адреса (получение ссылки)
Ссылка - это, в принципе, тот же указатель, но с упрощенным синтаксисом. int a; // - переменная типа int int &b = a; // - ссылка на a Если функции параметр передается как ссылка, то функция работает не с копией параметра, а с самим параметром.
Арифметические: +, - Сравнения: <,<=,>,>=,==,!= Логические:!(НЕ),&&(И),||(ИЛИ) 1.4.Определение процедур и функций, которые могут применяться к этому типу: Прочее: free(), ctime(), asctime(), gmtime(), localtime(), setlocale(), strftime(),time(), realloc(), atexit(), atof(), atoi(), atol(), atoll(), bsearch(),getenv(), mblen(), mbstowcs(), mbtowc(), qsort(), signal(), strtod(),strtof(), strtol(), strtold(), strtoul(), system(), wcstombs(), wctomb(), memchr(), memcmp(), memcpy(), memmove(), memset(), strcat(),strchr(), strcmp(), strcoll(), strcpy(), strcspn(), strerror(), strlen(),strncat(), strncmp(), strncpy(), strpbrk(), strrchr(), strspn(), strstr(),strtok(), strxfrm(), sizeof(), fclose(), feof(), ferror(), fflush(), fgetc(), fgetpos(), fgets(), fopen(), fprintf(), fputc(), fputs(), fread(), freopen(), fscanf(), fseek(), fsetpos(), ftell(), fwrite(), getc(), gets(), perror(), printf(), putc(), puts(), remove(), rename(), rewind(), scanf(), setbuf(),setvbuf(), snprintf(), sp
|
|||||||||
Последнее изменение этой страницы: 2016-08-06; просмотров: 294; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.165.168 (0.015 с.) |