Dreammmless.
-
Автор темы
- #1
Предыдущая тема от Dreammm - https://yougame.biz/threads/153075/
Оригинальная статья -
Данные
В уроке 1.1 - операторы и структура программы вы узнали, что большинство инструкций в программе являются операторами и что операторы группируются в функции. Эти операторы выполняют действия, которые (надеюсь) генерируют любой результат, для которого была разработана программа.
Но как программы на самом деле дают результаты? Они делают это, манипулируя (читая, изменяя и записывая) данными. В вычислительной технике данные - это любая информация, которая может быть перемещена, обработана или сохранена компьютером.
Данные на компьютере обычно хранятся в формате, который эффективен для хранения или обработки (и поэтому не читается человеком). Таким образом, при компиляции программы “Hello world” появляется текст “Hello world!" преобразуется в более эффективный формат для использования программой (двоичный, который мы обсудим в следующем уроке).
Объекты и переменные
Все компьютеры имеют память, называемую оперативной памятью (сокращенно от random access memory), которая доступна для использования вашими программами. Вы можете думать о оперативной памяти как о серии почтовых ящиков, которые могут использоваться для хранения данных во время работы программы. Отдельный фрагмент данных, хранящийся где-то в памяти, называется значением.
В некоторых старых языках программирования (например, Apple Basic) вы можете напрямую обращаться к этим почтовым ящикам (оператор может сказать что-то вроде go get the value stored in mailbox number 7532).
В C++ прямой доступ к памяти не разрешен. Вместо этого мы получаем доступ к памяти косвенно через объект. Объект - это область хранения (обычно память), которая имеет значение и другие связанные с ним свойства (которые мы рассмотрим в будущих уроках). Когда объект определен, компилятор автоматически определяет, где объект будет помещен в память. В результате, вместо того, чтобы сказать иди со значением, хранящимся в номер почтового ящика 7532, можно сказать, пойти получить значение, хранящееся по этому объекту и компилятор знает, где в памяти искать, что значение. Это означает, что мы можем сосредоточиться на использовании объектов для хранения и извлечения значений и не беспокоиться о том, где они на самом деле находятся в памяти.
Объекты могут быть именованными или неназванными (анонимными). Именованный объект называется переменной, а имя объекта - идентификатором. В наших программах большинство объектов, которые мы создаем, будут переменными.
Пример переменной
Для того чтобы создать переменную, мы используем специальный вид оператора объявления, называемый определением (мы уточним разницу между объявлением и определением позже).
Вот пример определения переменной с именем x:
Во время компиляции, когда компилятор видит это утверждение, он делает себе пометку, что мы определяем переменную, давая ей имя x, и что она имеет тип int (подробнее о типах в данный момент). С этого момента (с некоторыми ограничениями, о которых мы поговорим в следующем уроке) всякий раз, когда компилятор видит идентификатор x, он будет знать, что мы ссылаемся на эту переменную.
При запуске программы (называемой runtime) создается экземпляр переменной. Создание экземпляра - это причудливое слово (англ. Instantiation), которое означает, что объект будет создан и ему будет присвоен адрес памяти. Переменные должны быть созданы до того, как их можно будет использовать для хранения значений. Для примера предположим, что переменная x создается в ячейке памяти 140. Всякий раз, когда программа затем использует переменную x, она будет обращаться к значению в ячейке памяти 140. Экземпляр объекта иногда также называют экземпляром (англ. instance).
Типы данных
До сих пор мы рассматривали, что переменные - это именованная область хранения, которая может хранить значение данных (как именно хранятся данные-это тема для будущего урока). Тип данных (чаще просто называемый типом) сообщает компилятору, какой тип значения (например, число, буква, текст и т. д.) будет хранить переменная.
В приведенном выше примере нашей переменной x был присвоен тип int, что означает, что переменная x будет представлять собой целое значение. Целое число (англ. integer) - это число, которое может быть записано без дробной составляющей, например 4, 27, 0, -2 или -12. Короче говоря, мы можем сказать, что x-это целочисленная переменная.
В C++ тип переменной должен быть известен во время компиляции (когда программа компилируется), и этот тип не может быть изменен без перекомпиляции программы. Это означает, что целочисленная переменная может содержать только целочисленные значения. Если вы хотите сохранить какое-то другое значение, вам нужно будет использовать другую переменную.
Целые числа-это всего лишь один из многих типов, которые C++ поддерживает из коробки. Для иллюстрации приведем еще один пример определения переменной с помощью типа данных double:
C++ также позволяет создавать собственные пользовательские типы. Это то, что мы будем делать много раз в будущих уроках, и это часть того, что делает C++ мощным.
В этих вводных главах мы будем придерживаться целочисленных переменных, потому что они концептуально просты, но вскоре мы рассмотрим многие другие типы, которые может предложить C++.
Определение нескольких переменных
Можно определить несколько переменных одного типа в одном операторе, разделив имена запятой. Следующие 2 фрагменты кода, которые представляют собой то же:
При определении нескольких переменных таким образом есть две распространенные ошибки, которые обычно совершают новые программисты (ни одна из них не является серьезной, так как компилятор поймает их и попросит вас исправить их):
Первая ошибка заключается в том, что при последовательном определении переменных каждой переменной присваивается определенный тип.
Вторая ошибка заключается в попытке определить переменные разных типов в одном и том же операторе, что недопустимо. Переменные различных типов должны быть определены в отдельных операторах.
В C++ мы используем переменные для доступа к памяти. Переменные имеют идентификатор, тип и значение (и некоторые другие атрибуты, которые здесь неуместны). Тип переменной используется для определения того, как следует интерпретировать значение в памяти.
В следующем уроке мы рассмотрим, как придать значения нашим переменным и как на самом деле их использовать.
Время викторины!
Вопрос №1 - Что такое "данные"?
Вопрос №2 - Что такое "значение"?
Вопрос №3 - Что такое "переменная"?
Вопрос №4 - Что такое "идентификатор"?
Вопрос №5 - Что такое "тип"?
Вопрос №6 - Что такое "целочисленное значение" (англ. integer)?
Спасибо за прочтение :).
Оригинальная статья -
Пожалуйста, авторизуйтесь для просмотра ссылки.
Данные
В уроке 1.1 - операторы и структура программы вы узнали, что большинство инструкций в программе являются операторами и что операторы группируются в функции. Эти операторы выполняют действия, которые (надеюсь) генерируют любой результат, для которого была разработана программа.
Но как программы на самом деле дают результаты? Они делают это, манипулируя (читая, изменяя и записывая) данными. В вычислительной технике данные - это любая информация, которая может быть перемещена, обработана или сохранена компьютером.
Программа может получать данные для работы различными способами: из файла или базы данных, по сети, от пользователя, вводящего данные с клавиатуры, или от программиста, вводящего данные непосредственно в исходный код самой программы. В программе "Hello world“ из вышеупомянутого урока текст "Hello world!” был вставлен непосредственно в исходный код программы, предоставляя данные для использования программой. Затем программа манипулирует этими данными, отправляя их на монитор для отображения.Ключевой момент
Программы - это наборы инструкций, которые манипулируют данными для получения желаемого результата.
Данные на компьютере обычно хранятся в формате, который эффективен для хранения или обработки (и поэтому не читается человеком). Таким образом, при компиляции программы “Hello world” появляется текст “Hello world!" преобразуется в более эффективный формат для использования программой (двоичный, который мы обсудим в следующем уроке).
Объекты и переменные
Все компьютеры имеют память, называемую оперативной памятью (сокращенно от random access memory), которая доступна для использования вашими программами. Вы можете думать о оперативной памяти как о серии почтовых ящиков, которые могут использоваться для хранения данных во время работы программы. Отдельный фрагмент данных, хранящийся где-то в памяти, называется значением.
В некоторых старых языках программирования (например, Apple Basic) вы можете напрямую обращаться к этим почтовым ящикам (оператор может сказать что-то вроде go get the value stored in mailbox number 7532).
В C++ прямой доступ к памяти не разрешен. Вместо этого мы получаем доступ к памяти косвенно через объект. Объект - это область хранения (обычно память), которая имеет значение и другие связанные с ним свойства (которые мы рассмотрим в будущих уроках). Когда объект определен, компилятор автоматически определяет, где объект будет помещен в память. В результате, вместо того, чтобы сказать иди со значением, хранящимся в номер почтового ящика 7532, можно сказать, пойти получить значение, хранящееся по этому объекту и компилятор знает, где в памяти искать, что значение. Это означает, что мы можем сосредоточиться на использовании объектов для хранения и извлечения значений и не беспокоиться о том, где они на самом деле находятся в памяти.
Объекты могут быть именованными или неназванными (анонимными). Именованный объект называется переменной, а имя объекта - идентификатором. В наших программах большинство объектов, которые мы создаем, будут переменными.
В общем программировании термин объект обычно относится к переменной, структуре данных в памяти или функции. В языке C++ термин объект имеет более узкое определение, исключающее функции.
Пример переменной
Для того чтобы создать переменную, мы используем специальный вид оператора объявления, называемый определением (мы уточним разницу между объявлением и определением позже).
Вот пример определения переменной с именем x:
C++:
int x; // определение переменной с именем x типа int
При запуске программы (называемой runtime) создается экземпляр переменной. Создание экземпляра - это причудливое слово (англ. Instantiation), которое означает, что объект будет создан и ему будет присвоен адрес памяти. Переменные должны быть созданы до того, как их можно будет использовать для хранения значений. Для примера предположим, что переменная x создается в ячейке памяти 140. Всякий раз, когда программа затем использует переменную x, она будет обращаться к значению в ячейке памяти 140. Экземпляр объекта иногда также называют экземпляром (англ. instance).
Типы данных
До сих пор мы рассматривали, что переменные - это именованная область хранения, которая может хранить значение данных (как именно хранятся данные-это тема для будущего урока). Тип данных (чаще просто называемый типом) сообщает компилятору, какой тип значения (например, число, буква, текст и т. д.) будет хранить переменная.
В приведенном выше примере нашей переменной x был присвоен тип int, что означает, что переменная x будет представлять собой целое значение. Целое число (англ. integer) - это число, которое может быть записано без дробной составляющей, например 4, 27, 0, -2 или -12. Короче говоря, мы можем сказать, что x-это целочисленная переменная.
В C++ тип переменной должен быть известен во время компиляции (когда программа компилируется), и этот тип не может быть изменен без перекомпиляции программы. Это означает, что целочисленная переменная может содержать только целочисленные значения. Если вы хотите сохранить какое-то другое значение, вам нужно будет использовать другую переменную.
Целые числа-это всего лишь один из многих типов, которые C++ поддерживает из коробки. Для иллюстрации приведем еще один пример определения переменной с помощью типа данных double:
C++:
double width; // определение переменной ширины типа double
В этих вводных главах мы будем придерживаться целочисленных переменных, потому что они концептуально просты, но вскоре мы рассмотрим многие другие типы, которые может предложить C++.
Определение нескольких переменных
Можно определить несколько переменных одного типа в одном операторе, разделив имена запятой. Следующие 2 фрагменты кода, которые представляют собой то же:
C++:
int a;
int b;
// то же самое, что и:
int a, b;
Первая ошибка заключается в том, что при последовательном определении переменных каждой переменной присваивается определенный тип.
C++:
int a, int b; // неправильно (ошибка компилятора)
int a, b; // правильно
C++:
int a, double b; // неправильно (ошибка компилятора)
int a; double b; // правильно (но не рекомендуется)
// правильно и рекомендованно (легче для чтения)
int a;
double b;
Вообщем,Правило
Хотя язык позволяет это сделать, избегайте определения нескольких переменных в одном операторе (даже если они имеют один и тот же тип). Вместо этого определите каждую переменную в отдельном операторе (а затем используйте однострочный комментарий, чтобы задокументировать, для чего она используется).
В C++ мы используем переменные для доступа к памяти. Переменные имеют идентификатор, тип и значение (и некоторые другие атрибуты, которые здесь неуместны). Тип переменной используется для определения того, как следует интерпретировать значение в памяти.
В следующем уроке мы рассмотрим, как придать значения нашим переменным и как на самом деле их использовать.
Время викторины!
Вопрос №1 - Что такое "данные"?
Данные - это любая последовательность символов (цифр, букв и т. д.), которая может быть интерпретирована как что-то значащее.
Вопрос №2 - Что такое "значение"?
Значение - это отдельный фрагмент данных, хранящихся в памяти.
Вопрос №3 - Что такое "переменная"?
Переменная - это именованная область памяти.
Вопрос №4 - Что такое "идентификатор"?
Идентификатор - это имя, по которому осуществляется доступ к переменной.
Вопрос №5 - Что такое "тип"?
Тип указывает программе, как интерпретировать значение в памяти.
Вопрос №6 - Что такое "целочисленное значение" (англ. integer)?
Целочисленное значение - это число, которое может быть записано без дробной составляющей.
Спасибо за прочтение :).