Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 288; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.45.238 (0.011 с.) |