int main(int nNumberofArgs, char pszArgs[])
-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
В этом уроке я дорасскажу прошлый урок, постараюсь не совершать прошлых ошибок, на которые мне указали. Madison1337 , ты меня больше так не пугай).
Опять же, начнем, но для начала - прочитайте это .
Чтобы понять эту проблему, представим 1/3 в виде бесконечной последовательности 0.33333... Однако, в программировании, в отличие от математики понятие периода не имеет смысла , так как точность компьютерных вычислений ограничена, где-то наша бесконечная дробь должна оборваться. Следовательно, усреднив числа 1,2,2, мы получим не точное, а приблизительное значение 1,666667. В некоторых случаях, ошибки округления может исправить сам С++; например, выводя информацию на экран С++ вместо числа 0,9998... может выдать значение 1.
Попытка вычисления значения за пределами допустимого диапазона для данного типа называется переполнением. Стандарт С++ обычно оставляет результат переполнения неопределенным, то есть компилятор в праве самостоятельно решать, как поступить в этом случае. Это еще один пример из множества гибкости С++, в отличии от других ЯП, которую обеспечили его разработчики.
На платформе ПК переполнением при работе с числами с плавающей точкой приводит к генерации исключения, которое, будучи не обработанным, вызовет остановку вашей программы. Как ни странно выглядит остановка программы, переполнением в случае целых чисел куда хуже, С++ выдаст неверное значение.
Объявление в С++ - это инструкция, которая определяет переменную.
Во время объявления переменных можно сообщить им значение путем помещения знака равенства и константы после имени переменной. Этот процесс называется инициализацией. Ну а теперь к блоку "Автоматические объявления".
Давайте рассмотрим это объявление:
Тут некоторые могли бы спросить, почему бы С++ не вывести данный тип переменной самостоятельно? Ответ на вопрос: Почему бы и нет?. Вы можете сделать это написав так:
Это означает, что переменная Var объявлена, как тот же тип, что и константа 1, а переменная Var 2 - как тот же тип, что и константа 2L.
Так же, есть очень интересная особенность С++. Если вы хотите объявить переменную того же типа, что некоторую другую переменную, то для этого вы можете воспользоваться словом
C++ заменяет decltype(Var) типом переменной Var (в нашем случае int)
На этом всё. В следующем уроке мы точно разберем нашу первую программу. Так же пишите, где я мог допустить ошибку, всем удачи и спасибо за прочтение.
Опять же, начнем, но для начала - прочитайте это .
Потеря точности.
Сразу скажу, действительные переменные не могут решить всех вычислительных проблем. К примеру, точность float ограничена шестью разрядами, есть и расширенный разряд - double, может содержать 13 разрядов.Чтобы понять эту проблему, представим 1/3 в виде бесконечной последовательности 0.33333... Однако, в программировании, в отличие от математики понятие периода не имеет смысла , так как точность компьютерных вычислений ограничена, где-то наша бесконечная дробь должна оборваться. Следовательно, усреднив числа 1,2,2, мы получим не точное, а приблизительное значение 1,666667. В некоторых случаях, ошибки округления может исправить сам С++; например, выводя информацию на экран С++ вместо числа 0,9998... может выдать значение 1.
Диапазон числовых типов.
Давайте рассмотрим диапазон числовых типов Microsoft Visual Studio. ( Это вы сможете прочесть на сайте Microsoft:
Пожалуйста, авторизуйтесь для просмотра ссылки.
)Попытка вычисления значения за пределами допустимого диапазона для данного типа называется переполнением. Стандарт С++ обычно оставляет результат переполнения неопределенным, то есть компилятор в праве самостоятельно решать, как поступить в этом случае. Это еще один пример из множества гибкости С++, в отличии от других ЯП, которую обеспечили его разработчики.
На платформе ПК переполнением при работе с числами с плавающей точкой приводит к генерации исключения, которое, будучи не обработанным, вызовет остановку вашей программы. Как ни странно выглядит остановка программы, переполнением в случае целых чисел куда хуже, С++ выдаст неверное значение.
Автоматические объявления.
В прошлом уроке я кое-что забыл вам рассказать. Что же такое объявление и инициализация?Объявление в С++ - это инструкция, которая определяет переменную.
Во время объявления переменных можно сообщить им значение путем помещения знака равенства и константы после имени переменной. Этот процесс называется инициализацией. Ну а теперь к блоку "Автоматические объявления".
Давайте рассмотрим это объявление:
Код:
int Var = 1;
Код:
auto Var = 1;
auto Var2 = 2L;
Так же, есть очень интересная особенность С++. Если вы хотите объявить переменную того же типа, что некоторую другую переменную, то для этого вы можете воспользоваться словом
decltype();
Код:
int Var;
decltype(Var) Var2; //переменная Var2 имеет тот же тип, что и переменная Var
На этом всё. В следующем уроке мы точно разберем нашу первую программу. Так же пишите, где я мог допустить ошибку, всем удачи и спасибо за прочтение.
Последнее редактирование: