Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_i_chislennye_metody_Voprosy.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
146.43 Кб
Скачать
  1. Дані з рухомою крапкою та їх особливості.

В С++ существуют два типа данных с плавающей точкой: float (4Б) и doudle (8Б). Типы данных с плавающей точкой предназначены для хранения чисел с плавающей точкой. Типы данных float и double могут хранить как положительные, так и отрицательные числа с плавающей точкой. У типа данных float размер занимаемой памяти в два раза меньше, чем у типа данных double, а значит и диапазон принимаемых значений тоже меньше. Если тип данных float объявить с приставкой long, то диапазон принимаемых значений станет равен диапазону принимаемых значений типа данных double. В основном, типы данных с плавающей точкой нужны для решения задач с высокой точностью вычислений, например, операции с деньгами.

  1. Ключові слова, які використовуються для визначення даних. Одиночні дані та масиви.

Идентификатор (в дальнейшем, для краткости - ID) – это имя программного объекта (константы, переменной, метки, типа, функции, модуля, поля в структуре). В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания; первым символом ID может быть буква или знак подчеркивания, но не цифра; пробелы внутри ID не допускаются.

Длина идентификатора определяется реализацией (версией) транслятора Cи и редактора связей (компоновщика). Современная тенденция - снятие ограничений длины идентификатора.

Ключевые (зарезервированные) слова не могут быть использованы в качестве идентификаторов.

Основные ключевые слова Си:

auto

break

case

char

const

continue

default

do

double

else

enum

extern

float

for

goto

if

int

long

register

return

short

signed

sizeof

static

struct

switch

typedef

union

unsigned

void

volatile

while

Массив – совокупность данных одного типа.

В массиве главную роль играют его элементы, а сам массив являясь переменной играет второстепенные роли.

При работе с обычными массивами программист знает сколько памяти нужно выделить массиву для работы и какого типа элементы он должен собрать в себя. Компилятору эти вещи нужно сообщать.

Для создания массива компилятору необходимо знать тип данных и требуемый класс памяти

Массивы могут иметь те же типы данных и классы памяти, что и простые переменные

Квадратные скобки это своеобразный индикатор того, что происходит работа с массивом

При объявлении массива, внутри квадратных скобок указывается число элементов для массива

При использовании массива, внутри квадратных скобок указывается номер элемента из массива

Номер элемента массива называется индексом массива

Внешние и статические массивы можно инициализировать.

Автоматические и регистровые массивы инициализировать нельзя.

Массив требует такой же инициализации как и переменные, иначе в него может попасть информационный мусор.

  1. Засоби ініціювання даних під час опису. Засоби визначення текстових рядків.

Инициирование – задание переменных и текстових строк.

Все объекты (переменные, функции и пр.), с которыми работает программа, в языке Си необходимо декларировать, т.е. объявить компилятору об их присутствии в программе. При этом возможны две формы декларации:

- описание, не приводящее к выделению памяти;

- определение, при котором под объект будет выделен объем оперативной памяти, в соответствии с его типом; в этом случае объект можно сразу инициализировать, т.е. задать его начальное значение.

Кроме констант, которые можно задавать в исходном тексте, все объекты программы должны быть явно декларированы по следующему формату:

<атрибуты> <список ID объектов>;

элементы списка разделяются запятыми, а атрибуты - разделителями. Например: int i,j,k; float a,b;

Объекты программы в общем случае имеют следующие атрибуты:

<класс памяти> - характеристика способа размещения объектов в памяти (статическая, динамическая), определяет область види­мости и время жизни переменной (по умолчанию - auto), данные атрибуты будут рассмотрены позже;

<тип> - характеристика механизма интерпретации данных, т.е. это совокупность информации о том, сколько объекту нужно выделить памяти, какой вид имеет представление информации и какие действия над ней допустимы (по умолчанию - int).

Класс памяти и тип – атрибуты необязательные и могут отсутст­во­вать, тогда их значения установятся по умолчанию.

Примеры декларации простых переменных:

int i,j,k;

char r;

double gfd;

Строка – одномерный масив однобайтных переменых

При объявлении переменной ей можно присвоить начальное значение, присоединяя инициатор к описателю. Инициатор начинается со знака "=" и имеет следующие формы.

Строка представляет собой последовательность (одномерный массив) из одного или более символов, последним из которых является нулевой символ таблицы ASCII '\0'. Это единственный вид строки, определенный в C.

Строковая константа (литерал) – это набор символов, заключенных в двойные кавычки, например: "Работа со строками". Такие константы хранятся именно как массивы типа char. В конце строковой константы явно указывать символ ´\0´ не нужно (он будет добавлен автоматически в ходе компиляции).

Строковые константы можно использовать при инициализации массивов:

сhar S[ ]="Работа со строками";

Не следует путать понятия строки и символа. Символьная константа заключается в одинарные кавычки, а строковая – в двойные.

Например, 'c' – символьная константа, а "c" – строковая константа.

Литерал можно задать с помощью директивы препроцессора define:

# define STR "…"

Строковая переменная может быть сформирована как одномерный массив типа char либо с помощью указателя на переменную типа char. Количество символов в массиве (объем выделяемой памяти) должно быть не меньше, чем количество символов в строке плюс один символ для хранения символа нуль.

В языке С++ имеются следующие типы данных для работы со строками:

  1. одномерный массив char;

  2. специальный тип string, который в свою очередь существует в разных вариантах, соответствующих различным стандартам:

  1. AnsiString ;

  2. string из библиотеки STL.

Все перечисленные типы поддерживаются компилятором C++ Builder'а.