Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Переменная в программировании считается

Переменная в программировании считается

Давайте теперь разберемся с переменными, а именно что они из себя представляют и для чего служат. Разбираться мы будем на практике: для этого мы напишем вторую программу, которая будет запрашивать у пользователя поочередно два целых числа, затем складывать их и результат выводить на экран. Затем уже на этом примере разберемся с сущностью переменных в программировании. Хотя, я думаю, что вы все и сами поймете, изучив пример, в котором используются переменные.

Давайте теперь разберем код, а затем вы создадите новый проект в среде программирования, напишите эту программу, откомпилируете и построите, запустите и сами посмотрите на результаты ее работы. Итак, первая строка — это, как вы уже знаете, однострочный комментарий — в нем мы указываем цель нашей программы (у нас она складывает два числа). Почему однострочный!? Да потому что, если текст комментария должен располагаться в пределах одной, выделенной для него строки. В случае, если он не помещается на одну строку, то перед тем, как его продолжать писать на новой строке, нужно опять поставить две косые черты, предваряющие комментарий » // «. Есть в С++ и многострочный комментарий, пришедший из более раннего языка Си, но им пользуются реже. Вот так он выглядит:

Этот же текст с использованием однострочного комментария выглядел бы так:

Вот мы и разобрались с комментариями. Запомните и используйте в своих программах для ясности!

Разбираем дальше код. Следующая строка кода — это уже известная нам директива препроцессора, подключающая необходимый для работы заголовочный файл iostream.h . Подключаем его, т.к. у нас используются в программе функции вывода ( cout ), ввода ( cin ), перевода курсора на новую строку ( endl ), объявленные в нем. Хочу заметить, что оператор ввода » cin » автоматически переводит курсор на новую строку. Попрактиковавшись вы сами это все скоро увидите.

Далее мы видим главную и обязательную функцию программы — main() . С ней то и начинается построчное выполнение программы. Построчное, потому что в программировании все инструкции выполняются последовательно, если не задано иных условий (условные операторы и циклы будут рассмотрены в следующих главах).

Первая строчка программы — int chislo1; . Для нас она еще незнакома. Хочу вас обрадовать! Это и есть наша первая переменная, а если быть точнее, то ее объявление в программе.

Прежде, чем использовать какую-либо переменную в программе, ее нужно объявить.

Объявить — значит определить тип и присвоить имя. В нашем случае мы определили тип нашей переменной, как int (то есть целое число), а имя дали chislo1 . Для чего при объявлении переменных нужно указывать тип!? Для того, чтобы программа при запуске смогла зарезервировать в оперативной памяти компьютера столько места, сколько необходимо для ее хранения. Для хранения целого числа типа int требуется 4 байта оперативной памяти. Размер такого числа может быть в пределах от чуть более +2 млрд. до чуть более, чем -2 млрд.

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

Итак, для чего служат переменные и где они расположены!? Мы знаем, что компьютер — это прибор, который умеет выполнять большое количество операций, таких как сложение, вычитание, умножение, деление, сравнение двух чисел и т.д. Иными словами, компьютер оперирует данными. Вот эти данные располагаются в переменных. А где же располагаются переменные? После запуска, программа загружается в оперативную память компьютера, где она занимает какое-то определенное пространство, часть из которого занимают переменные.

Переменная — это выделенная нами область в памяти компьютера (выделяем ее с помощью объявления в коде программы), в которой будут храниться наши данные. Почему данные, а не данное? Потому, что судя из названия — эта область памяти перезаписываемая, в отличии от констант, значение которой на протяжении всей программы остается одинаковым и не может быть изменено, перезаписано (объявляется также, как и переменная, за исключением того, что перед определением типа ставится модификатор const , который указывает компилятору, что это данное нельзя изменять).

Переменные могут хранить не только числовые значения, но и символьные, логические. Пока что мы рассматриваем только числовые. В данном случае мы объявили три переменные целого типа.

Можно также объявить эти переменные и в одну строку, т.к. их типы совпадают. Получится так:

Сейчас хочу немного сказать о синтаксисе языка. Как и в любом языке, понятном человеку, в компьютерном языке программирования тоже есть свой синтаксис. С его помощью определяют правила построения инструкций компьютеру. Рассмотрим синтаксис объявления переменных.

Итак, сначала нужно указать тип переменной. В нашем случае — это тип » int «, целочисленная переменная. Затем указывается имя переменной и ставится точка с запятой, т.к. мы знаем, что каждая инструкция в языке С++ заканчивается точкой с запятой. Переменные мы объявили, соответственно, место для них в памяти компьютера уже будет зарезервировано. Но есть одно но. переменным еще не присвоено значение, поэтому различные операции (сложение, вычитание, сравнение и т.д.) с ними производить еще нельзя. В них содержится различный «мусор» (ненужные значения). Поэтому смотрим следующие строки:

Выводим сообщение-подсказку пользователю о том, что нужно ввести первое число. В следующей строке с помощью оператора ввода cin программа считывает с потока ввода введенное пользователем с клавиатуры число и сохраняет его в переменную chislo1 . Теперь данная переменная уже не содержит «мусор», а содержит введенное пользователем число и, соответственно, с ним можно производить различные операции. Далее идет запрос на ввод второго числа и также программа сохраняет его в переменную chislo2 .

Итак, мы запросили у пользователя два числа, сохранили их в переменных chislo1 и chislo2 , теперь с ними можно производить различные операции. В нашем случае мы должны будем найти их сумму и сохранить в переменную summa . Следующая строчка кода находит их сумму и сохраняет в переменную summa :

Здесь мы видим оператор присваивания » = » и оператор сложения » + «. Что они делают, я думаю, что вы уже догадались. Запомните только одну вещь: в отличие от математики в программировании знак присваивания («=») работает чуть по другому — то, что находится справа от него, присваивается той переменной, что слева. Т.е. сначала складываются две переменные chislo1 и chislo2 , а затем их результат записывается в переменную summa . Теперь можно пользоваться этой переменной, что мы и сделаем в следующей строке кода.

Следующая строка кода выводит значение этой переменной на экран:

Вот и все. Как видите — ничего сложного. А если и что-то непонятно, то это только поначалу.

Теперь начинаем кодить. Набирайте программу в среде CodeBlocks, компилируйте, запускайте на выполнение и экспериментируйте с ней. Вот теперь хоть какая-то, а польза уже есть с нашей программы, она складывает два числа как-никак)))

Для закрепления материала на операторы ввода/вывода и работу с переменными давайте наберем еще одну программу. Предлагаю разобраться с ней вам самим. Нового в ней будет то, что операции сложения, вычитания, деления и умножения можно производить непосредственно в потоке вывода, т.е. не нужно будет объявлять еще дополнительно переменную для хранения результата произведенных операций. Это еще одно удобство языка С++.

Не забывайте делать отступы для лучшей читабельности и ясности кода. Это очень важное замечание!

  1. Переменная — это область в памяти компьютера, которая хранит данные, которые могут меняться (отчего и название — переменная).
  2. Эти данные бывают разных типов: числовые, символьные, логические. Пока что мы с вами рассмотрели только числовые целые (int).
  3. Абсолютно все в компьютере на низком уровне сводиться к работе с переменными (данными), поэтому без них компьютер и программирование потеряли бы смысл.

Напишите программу, которая запрашивает у пользователя три числа, записывает их в ранее объявленные переменные, а затем с помощью первого оператора вывода выводит их сумму, а во втором операторе вывода выводит их произведение. Сравните ваш код с кодом на следующей странице.

Вы также можете сами себе выдумать подобное задание и реализовать. Больше работайте в редакторе с программой, экспериментируйте с кодом и у вас все получится!

Типы переменных в программировании

Значение переменной, занесенное и хранимое в ячейке с ее именем, может быть различным по типу числом (целым или действительным) либо символьным текстом. В соответствии со значением переменные называются целыми, действительными, символьными. Операции, которые можно произвести с числами, нельзя осуществить с символьным текстом. Объем памяти для хранения разных по типу значений тоже потребуется различный. При хранении целого числа занимать место под нулевую дробную часть нерационально. Поэтому в некоторых языках программирования предусмотрены операторы, объявляющие тип переменной с указанным именем. Следовательно, для хранения значений в этом случае будет отведено столько места, чтобы поместить знак и собственно целую часть. В других языках программирования прямо в имени переменной употребляют значки (символы), чтобы указать транслятору, сколько может понадобиться места под хранение значения данной переменной. Указание типа данных, которые могут стать значениями переменной, с помощью правил задания имени переменной позволяет компьютеру контролировать правомерность требуемых по отношению к переменной операций. Если имя переменной содержит указание на вещественный или целый тип ее допустимого значения, то в ячейку с этим именем нельзя занести символьный текст. Ограничения, налагаемые на операции со значениями в зависимости от их типа, требуют соответствующих ограничений на операции с именами переменных.

Читать еще:  Не включается безопасный режим

· Выполнение программы будет прервано с выдачей сообщения об ошибке из-за несоответствия типов, если встретится команда, где будут одновременно присутствовать имена переменных или константы символьного типа и вещественного или целого.

· На работе программы и получаемом результате никак не отразится занесение целого числа в ячейку, предназначенную, в соответствии с именем переменной, для значений вещественного типа. В этом случае автоматически будет образована нулевая дробная часть, а участвовать целые и действительные числа могут в одинаковых операциях (что соответствует известному включению области целых чисел в область действительных).

· Если же действительное число станет значением переменной целого типа, то из-за отсутствия места для хранения дробной части последняя просто будет отброшена (произойдет преобразование типа значения), что в этом случае равносильно потере точности расчета. Это может оказаться незамеченным при получении результата, так как такое несоответствие типов значения и переменной не вызывает прерывания в работе

Имя переменной не только удобным образом заменяет в программе числовой адрес ячейки в ОЗУ, а в случае индексированных переменных обязывает программиста позаботиться о выделении непрерывной области, но и указывает своим типом, какой объем памяти выделить под хранение ее значений, а также несет смысловую нагрузку и указывает, какие операции с этой переменной допустимы.

Объектно-ориентированный подход в программировании

Объектно-ориентированное программирование является в настоящее время наиболее популярной технологией программирования. Основной единицей в объектно-ориентированном программировании является объект, который заключает в себе, как описывающие его данные (свойства), так и средства обработки этих данных (методы).
Объектно-ориентированный подход объединяет статическую модель, описывающую свойства объекта и динамическую модель, описывающую их изменения. Объектно-ориентированное программирование– это создание, приложений из объектов. Одни объекты приходится полностью создавать самостоятельно, другие можно взять в готовом виде из разнообразных библиотек.
Таким образом, в объектно-ориентированном программировании центральное место занимают объекты, которые объединяют в одно целое свойства объекта и возможные над ним операции (методы).
Объект обладает определенными свойствами, которые характеризуют его состояние в данный момент времени, кроме того над объектом возможны операции, которые приводят к изменению этих свойств.
Основными отличительными свойствами объекта являются:
• объединение записей с процедурами и функциями, работающими с этими записями;
• наследование – задание объекта, затем использование его для построения иерархии порожденных объектов с наследованием доступа каждого из порожденных объектов к коду и данным предка;
• полиморфизм – задание одного имени действию, которое передается вверх и вниз по иерархии объектов с реализацией этого действия способом, соответствующим каждому объекту в иерархии.
Инкапсуляцией называется объединение в объекте его свойств и возможных над ним операций (методов).
При объектно-ориентированном подходе доступ к изменению свойств объекта возможен только через принадлежащие этому объекту методы. Методы «окружают» свойства объекта; говорят, что свойства «инкапсулированы» в объект.
Методы объекта (набор операций), которые он может выполнять, инкапсулирующие одинаковый перечень свойств операций, объединяются в классы. Каждый отдельный объект является экземпляром класса. Экземпляры класса могут иметь отличающиеся значение свойств.
Например, файловая система компьютера может содержать сотни и тысячи файлов. Все файлы обладают одним и тем же набором свойств (имя, положение в файловой системе и др.) и операций (переименование, перемещение или копирование и др.) и образуют класс объектов — файлы. Каждый отдельный файл является экземпляром этого класса и имеет конкретные значения свойств (имя, местоположение и др.).
Наследование определяет отношение между классами, объекты класса — потомок обладают всеми свойствами и операциями объектов класса — родитель.
Полиморфизм (много фор») – одна и та же операция над объектами различных классов может выполняться различными методами.
Для большинства классов объектов в среде Windows &Office (папки, документы, символы и др.) также характерен набор одних и тех же операций (переименование, перемещение, копирование, удаление). Такое единообразие очень удобно для пользователя. Но механизмы реализации этих операций неодинаковы для различных классов.
Например, для копирования папки необходимо совершить последовательность действий по изменению файловой системы, а для копирования символа внести изменения в документ. Реализуется полиморфизм при сохранении индивидуальных методов их реализации для каждого класса.
Важное место в технологии объектно-ориентированного программирования занимает событие. Событиепредставляет собой действие, распознаваемое объектом, для которого можно запрограммировать отклик. При наступлении события происходит активизация метода, то есть начинают выполняться связанные с программой другие программы и функции. В качестве событий могут рассматриваться щелчок кнопкой мыши на объекте, нажатие определенной клавиши, открытие документа и т.д. В качестве реакции на события вызывается определенная процедура, которая может изменить свойства объекта, вызывать его методы и т.д.
В системах объектно-ориентированного программирования обычно используется графический интерфейс, который позволяет визуализировать процесс программирования. Появляется возможность создавать объекты, задавать им свойства и поведение.
В среде Windows&Office в качестве программных объектов могут выступать приложения, документы и т.д. Каждый из этих объектов может является исполнителем алгоритмов. Команды объекту (исполнителю) могут дать либо другие объекты, функционирующие в данной системе, либо пользователь компьютера.

Урок 4. Переменные

В предыдущих примерах мы подсовывали программе готовые данные. Например, в первой программе мы заранее подготовили текст Здравствуй, Мир!, который выводился в текстовом поле. Но, обычно, мы не можем заготовить тексты на все случаи жизни и должны научить программу самой подставлять нужную строчку. Для этой цели используются переменные. Само название говорит за себя — значение, присваемое переменной, может меняться на протяжении выполнения программы.

По сути, к переменным можно относиться как к полочкам в холодильнике. На полочки можно класть какие-то продукты и затем снова доставать их оттуда, или просто заглядывать в них и проверять, есть ли там вообще что-нибудь или кот уже съел сметану.

Впрочем, мы отвлеклись. То же самое и с переменными: в них можно помещать данные и затем при необходимости либо извлекать их оттуда, либо проверять их наличие.

Переменные используются в любом языке программирования. Чтобы использовать переменную в программе, ее необходимо объявить. Хотя все данные на компьютере, в сущности, имеют одинаковый вид (наборы нулей и единиц), переменные бывают разных видов, называемых в их случае типами. Если снова провести аналогию с полочками, то они могут быть разными по высоте, из-за чего некоторые предметы могут умещаться только на определенных полочках. Например, длинные пакеты с молоком на нижней полке, а колбаска на верхней. Это очень важный момент, который нужно запомнить, так как типы играют важную роль в программировании.

Чтобы использовать переменные, их нужно объявлять. Это означает, что им необходимо назначать имя и указать тип. После объявления их можно начинать использовать в качестве единиц хранения для данных. Переменные объявляются с помощью оператора, имеющим следующий синтаксис:

Вместо type вы указываете тип переменной, а в varName — название переменной. Тип переменной определяет ее поведение (об этом чуть позже), а имя переменной позволит вам не запутаться среди придуманных вами переменных. Предположим, нам поручили подсчитать число всех попугаев и котов, живущих в Москве:

Используя понятные имена, мы не ошибемся в выборе переменных после подсчета всех попугаев и котов.

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

Правила объявления переменных

Следует запомнить несколько несложных правил.

  • Переменная должна быть объявлена до ее использования
  • Переменную можно объявлять только внутри класса, как часть определения функции или внутри тела функции. (Переменные, объявленные внутри класса, называются полями. Переменные, используемые для определения функции, называются параметрами. Переменные, объявленные внутри функции, называются локальными переменными)
  • Переменные должны начинаться с буквы или символа подчеркивания
  • Имена переменных могут содержать в себе буквы цифры и значки подчеркивания
  • Нельзя использовать в качестве имен переменных ключевые слова

Вот несколько примеров

Можно объявлять более одной переменной в одном операторе присваивания. В этом случае все переменные отделяются запятыми и принадлежат к одному типу

Кроме того, можно сразу инициализировать объявляемую переменную

Можно также инициализировать переменную динамически, используя любое действительное выражение. Например, мы хотим вычислить периметр квадрата:

Еще раз напомню, что язык С# чувствителен регистру (я действительно это говорил?), поэтому будьте аккуратны при создании переменных. Если вы ошибетесь в одной буковке, то программа может работать, но выдавать совсем неправильные результаты. Например, все перечисленные ниже имена переменных будут являться совершенно разными именами:

Присваивания

Компьютеры создавались для вычислений, поэтому в программировании много заимствований из математики. Например, в школе вам приходилось видеть подобные выражения:

Если перевести это простое упражнение на язык C#, то выглядеть это будет так:

Иными словами, нам понадобилось просто объявить переменные и проставить точки с запятой в конце каждой строки. Но тем не менее, программирование — это не решение математических задач. Например, в математике допустимо следующее:

В C# менять порядок выражений нельзя. Операторы в C# выполняются последовательно, одно за другим! Во второй строчке примера переменной C присваивается значение суммы переменных A и B, но переменной B мы еще не присвоили никакого значения. Это недопустимо и программа просто не запустится. Также можно использовать круглые скобки для повышения приоритета (аналогично как в математике).

В C# знак равенства называется оператором присваивания и обозначается знаком =. Оператор — это символ или короткое слово, которые выполняют операцию. У операторов имеются операнды. Например, оператор присваивания имеет два операнда: переменную слева от знака равенства и выражение справа от знака равенства. В данном случае, оператор присваивания заставляет переменную слева от знака равенства быть присвоенной значению, вычисляемому выражением справа.

Читать еще:  Декларативный язык программирования

Кстати, в C# допустимо и такое выражение с оператором присваивания, которое будет неправильным в математике:

В этом примере во второй строчке переменной C присваивается сумма текущего значения переменной C (т.е. 2) и числа 3.

Теперь рассмотрим еще один пример:

На самом деле вы не сможете написать такую строчку кода в C#, так программа откажется выполнять эту инструкцию. Слева от оператора разрешен только один тип операнда — переменная. Хотя с точки зрения математики здесь все верно.

С помощью оператора присваивания также можно выстраивать цепочку присваиваний:

Еще вам придется использовать в своих программах блок кода. Блок кода — это объединение нескольких операторов, заключенное в фигурные скобки. Блок кода позволяет создавать логический элемент, который будет использоваться как одиночный оператор. Обычно блок используется в операторах if и for, который мы будем изучать позже. Пока просто просмотрите на пример:

В этом примере, если переменная a будет больше переменной t, то будут выполняться сразу два оператора умножения и вычитания. По отдельности эти операторы выполняться не будут. Использование блоков кода позволяет создавать специальные алгоритмы для решения различных задач.

Область видимости и время жизни переменных

Итак, блок кода окружается фигурными скобками. Но он также определяет область видимости, которая задает время жизни объявляемых переменных. Объявленная внутри области видимости переменная является недоступной для кода, который расположен за этой областью. Следовательно, при объявлении переменной в пределах ее области видимости, вы локализуете эту переменную и защищаете ее от неразрешенного доступа и модификации. Область видимости может быть вложенной. Каждый раз, создавая новый блок кода, вы создаете новую вложенную область видимости и при этом внешняя область становится видимой для вложенной области. Но при этом объекты, объявленные во внутренней области видимости будут невидимы для кода во внешней области. Рассмотрим пример:

Запустите программу. Все будет работать. Теперь попробуйте убрать комментарии у строчки y = 100; и вы получите сообщение об ошибке, так как переменная y была объявлена во внутреннем блоке if и видима только там. Попытка присвоить этой переменной другое значение за пределами этого блока и приводит к ошибке. Тогда как переменная x видна в обоих блоках кода и доступна для использования.

Еще один важный момент связан с временем жизни переменной. Переменные создаются при их объявлении в какой-либо области видимости (при входе в данную область и уничтожаются при выходе из этой области. Это означает, что переменная не будет сохранять свое значение при выходе из своей области видимости, то есть переменная, объявленная в пределах метода, не будет хранить свои значения между вызовами этого метода. Также, переменная, объявленная в рамках блока, будет терять свое значение при выходе из блока. Следовательно, время жизни перменной ограничено ее областью видимости.

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

Запустив программу, вы увидите следующее:

Как видите, каждый раз при входе в цикл for переменная y принимает значение -2, затем ее присваивается значение 25, которое утрачивается при завершении цикла.

Перед этим мы рассматривали пример с вложенными блоками. Казалось бы, если переменная во внутренней области не видима для кода во внешней области, то можно использовать переменные с одинаковыми именами. Но на самом деле этого делать нельзя (в отличии от C++). Давайте все-таки проверим на собственном опыте:

Вы не сможете запустить программу, так как используются две переменные с одинаковыми именами. Проявите фантазию и придумайте одной из переменной другое имя. Неужели вам не хватает других букв?

Соглашения об именовании

Когда вы будете программировать, то вам придется постоянно объявлять переменные. Вы можете давать имена, как вам заблагорассудится. Но у программистов выработались свои стили, которыми они придерживаются во время работы. Особенно это актуально в крупных компаниях, где существуют строгие правила на этот счет. Рассмотрим типичные соглашения об именовании переменных. Раньше наиболее популярной считалась венгерская нотация (Hungarian notation). Эта система подразумевает использование в именах всех переменных стандартных прописных префиксов, указывающих на тип этих переменных. Например, если переменная имеет тип int, тогда в начале ее имени может стоять префикс i, т.е. оно может выглядеть, например, как iCat или iPhone. Применение этой системы позволяет быстро определить тип переменной по первому же взгляду на ее имя. В С# от венгерской нотации уже отходят. Сейчас разработчики стараются именовать переменные в соответствии с их предназначением с использованием двух стилей: PascalCase (стиль языка Pascal) и camelCase («верблюжий» стиль). В обеих системах на предназначение переменных указывает используемый в их именах регистр. Обе они применяются к именам, которые состоят из нескольких слов, и обе требуют, чтобы все буквы в каждом слове имени были прописными, кроме первой, которая должна быть заглавной. В системе camelCase присутствует еще одно дополнительное правило, требующее, чтобы первое слово начиналось с прописной буквы. Например, как мы можем создать переменную, содержащую имя кота:

Еще встречается способ соединение слова при помощи символа подчеркивания. Но им лучше не пользоваться.

Комментарии

При написании кода с использованием переменных очень удобно добавлять пометки, напоминающие о том, что именно делает строчка кода. Например, строка кода предлагает пользователю ввести некоторое число или напомнить программисту, который будет читать ваш код, что этот раздел кода написали вы. Подобные пометки называются комментариями. Комментарии — это текст, который игнорируется компилятором и не влияет на размер получаемого файла. Но наличие подробных комментариев в исходном коде позволяет программисту легче понять программу. Не экономьте на комментариях! Комментарии являются очень важной составляющей программирования. Советую вам сразу использовать комментарии в своих проектах.

Существуют несколько типов комментариев. Наиболее популярны однострочные комментарии. Однострочный комментарий начинается с двойного слэша «//». Все, что справа от них до конца строки, не учитывается при компиляции программы.

С# поддерживает также многострочные комментарии, заключаемые в комбинации символов «/*» и «*/». В этом случае текст комментария может находиться на многих строчках. Все, что находится между этими разграничительными символами, игнорируется компилятором.

В принципе можно использовать и вложенные комментарии. Но я надеюсь, что вы не будете заниматься такими глупостями.

Существует еще один вид комментариев с тремя (!) подряд слэшами, которые предшествуют классам, методам и т.п. В данных комментариях содержатся теги XML. Компилятор создает специальный XML-файл, который можно потом читать в удобном формате. Более подробно об этом читайте в документации или в статье XML-комментарии в C#.

Переменная в программировании считается

Давайте теперь разберемся с переменными, а именно что они из себя представляют и для чего служат. Разбираться мы будем на практике: для этого мы напишем вторую программу, которая будет запрашивать у пользователя поочередно два целых числа, затем складывать их и результат выводить на экран. Затем уже на этом примере разберемся с сущностью переменных в программировании. Хотя, я думаю, что вы все и сами поймете, изучив пример, в котором используются переменные.

Давайте теперь разберем код, а затем вы создадите новый проект в среде программирования, напишите эту программу, откомпилируете и построите, запустите и сами посмотрите на результаты ее работы. Итак, первая строка — это, как вы уже знаете, однострочный комментарий — в нем мы указываем цель нашей программы (у нас она складывает два числа). Почему однострочный!? Да потому что, если текст комментария должен располагаться в пределах одной, выделенной для него строки. В случае, если он не помещается на одну строку, то перед тем, как его продолжать писать на новой строке, нужно опять поставить две косые черты, предваряющие комментарий » // «. Есть в С++ и многострочный комментарий, пришедший из более раннего языка Си, но им пользуются реже. Вот так он выглядит:

Этот же текст с использованием однострочного комментария выглядел бы так:

Вот мы и разобрались с комментариями. Запомните и используйте в своих программах для ясности!

Разбираем дальше код. Следующая строка кода — это уже известная нам директива препроцессора, подключающая необходимый для работы заголовочный файл iostream.h . Подключаем его, т.к. у нас используются в программе функции вывода ( cout ), ввода ( cin ), перевода курсора на новую строку ( endl ), объявленные в нем. Хочу заметить, что оператор ввода » cin » автоматически переводит курсор на новую строку. Попрактиковавшись вы сами это все скоро увидите.

Далее мы видим главную и обязательную функцию программы — main() . С ней то и начинается построчное выполнение программы. Построчное, потому что в программировании все инструкции выполняются последовательно, если не задано иных условий (условные операторы и циклы будут рассмотрены в следующих главах).

Первая строчка программы — int chislo1; . Для нас она еще незнакома. Хочу вас обрадовать! Это и есть наша первая переменная, а если быть точнее, то ее объявление в программе.

Прежде, чем использовать какую-либо переменную в программе, ее нужно объявить.

Объявить — значит определить тип и присвоить имя. В нашем случае мы определили тип нашей переменной, как int (то есть целое число), а имя дали chislo1 . Для чего при объявлении переменных нужно указывать тип!? Для того, чтобы программа при запуске смогла зарезервировать в оперативной памяти компьютера столько места, сколько необходимо для ее хранения. Для хранения целого числа типа int требуется 4 байта оперативной памяти. Размер такого числа может быть в пределах от чуть более +2 млрд. до чуть более, чем -2 млрд.

Читать еще:  Машинно ориентированный язык программирования

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

Итак, для чего служат переменные и где они расположены!? Мы знаем, что компьютер — это прибор, который умеет выполнять большое количество операций, таких как сложение, вычитание, умножение, деление, сравнение двух чисел и т.д. Иными словами, компьютер оперирует данными. Вот эти данные располагаются в переменных. А где же располагаются переменные? После запуска, программа загружается в оперативную память компьютера, где она занимает какое-то определенное пространство, часть из которого занимают переменные.

Переменная — это выделенная нами область в памяти компьютера (выделяем ее с помощью объявления в коде программы), в которой будут храниться наши данные. Почему данные, а не данное? Потому, что судя из названия — эта область памяти перезаписываемая, в отличии от констант, значение которой на протяжении всей программы остается одинаковым и не может быть изменено, перезаписано (объявляется также, как и переменная, за исключением того, что перед определением типа ставится модификатор const , который указывает компилятору, что это данное нельзя изменять).

Переменные могут хранить не только числовые значения, но и символьные, логические. Пока что мы рассматриваем только числовые. В данном случае мы объявили три переменные целого типа.

Можно также объявить эти переменные и в одну строку, т.к. их типы совпадают. Получится так:

Сейчас хочу немного сказать о синтаксисе языка. Как и в любом языке, понятном человеку, в компьютерном языке программирования тоже есть свой синтаксис. С его помощью определяют правила построения инструкций компьютеру. Рассмотрим синтаксис объявления переменных.

Итак, сначала нужно указать тип переменной. В нашем случае — это тип » int «, целочисленная переменная. Затем указывается имя переменной и ставится точка с запятой, т.к. мы знаем, что каждая инструкция в языке С++ заканчивается точкой с запятой. Переменные мы объявили, соответственно, место для них в памяти компьютера уже будет зарезервировано. Но есть одно но. переменным еще не присвоено значение, поэтому различные операции (сложение, вычитание, сравнение и т.д.) с ними производить еще нельзя. В них содержится различный «мусор» (ненужные значения). Поэтому смотрим следующие строки:

Выводим сообщение-подсказку пользователю о том, что нужно ввести первое число. В следующей строке с помощью оператора ввода cin программа считывает с потока ввода введенное пользователем с клавиатуры число и сохраняет его в переменную chislo1 . Теперь данная переменная уже не содержит «мусор», а содержит введенное пользователем число и, соответственно, с ним можно производить различные операции. Далее идет запрос на ввод второго числа и также программа сохраняет его в переменную chislo2 .

Итак, мы запросили у пользователя два числа, сохранили их в переменных chislo1 и chislo2 , теперь с ними можно производить различные операции. В нашем случае мы должны будем найти их сумму и сохранить в переменную summa . Следующая строчка кода находит их сумму и сохраняет в переменную summa :

Здесь мы видим оператор присваивания » = » и оператор сложения » + «. Что они делают, я думаю, что вы уже догадались. Запомните только одну вещь: в отличие от математики в программировании знак присваивания («=») работает чуть по другому — то, что находится справа от него, присваивается той переменной, что слева. Т.е. сначала складываются две переменные chislo1 и chislo2 , а затем их результат записывается в переменную summa . Теперь можно пользоваться этой переменной, что мы и сделаем в следующей строке кода.

Следующая строка кода выводит значение этой переменной на экран:

Вот и все. Как видите — ничего сложного. А если и что-то непонятно, то это только поначалу.

Теперь начинаем кодить. Набирайте программу в среде CodeBlocks, компилируйте, запускайте на выполнение и экспериментируйте с ней. Вот теперь хоть какая-то, а польза уже есть с нашей программы, она складывает два числа как-никак)))

Для закрепления материала на операторы ввода/вывода и работу с переменными давайте наберем еще одну программу. Предлагаю разобраться с ней вам самим. Нового в ней будет то, что операции сложения, вычитания, деления и умножения можно производить непосредственно в потоке вывода, т.е. не нужно будет объявлять еще дополнительно переменную для хранения результата произведенных операций. Это еще одно удобство языка С++.

Не забывайте делать отступы для лучшей читабельности и ясности кода. Это очень важное замечание!

  1. Переменная — это область в памяти компьютера, которая хранит данные, которые могут меняться (отчего и название — переменная).
  2. Эти данные бывают разных типов: числовые, символьные, логические. Пока что мы с вами рассмотрели только числовые целые (int).
  3. Абсолютно все в компьютере на низком уровне сводиться к работе с переменными (данными), поэтому без них компьютер и программирование потеряли бы смысл.

Напишите программу, которая запрашивает у пользователя три числа, записывает их в ранее объявленные переменные, а затем с помощью первого оператора вывода выводит их сумму, а во втором операторе вывода выводит их произведение. Сравните ваш код с кодом на следующей странице.

Вы также можете сами себе выдумать подобное задание и реализовать. Больше работайте в редакторе с программой, экспериментируйте с кодом и у вас все получится!

Переменные C# | Типы и виды переменных

Любой, даже начинающий программист сталкивается с переменными ежедневно. Но за кажущейся простотой скрыт мощный механизм работы с памятью. Давайте разбираться, что такое переменные подробнее.

Что такое переменная?

Определение переменной звучит примерно следующим образом:

Переменная – это именованная область памяти.

Но что это означает для нас. Давайте разбираться на примере.

Я думаю, что каждый из вас уже знаком с понятием переменной в алгебре. Это тот самый X, который приходиться искать в уравнении. В программировании переменная имеет схожие функции. Это своеобразный псевдоним, что-то неопределенное, неизвестное, под которым может скрываться кто угодно

Представь себе коробочку. На этой коробочке написано «Подарок» и это делает эту коробочку уникальной. Ты всегда сможешь найти именно эту коробку по этому имени (при условии, что не может существовать ни одной другой коробочки с таким именем).

А вот положить в эту коробочку ты можешь все что угодно. Это может быть и новенький IPhone, и миленький котеночек, и что-нибудь куда менее приятное (как в фильме «Семь»). Кстати, если не смотрел этот фильм, очень рекомендую, но только если у тебя крепкая психика и тебе больше 18 лет.

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

При этом важно понимать, что концепция переменных это очень сложный механизм работы с памятью, который просто скрыт от программиста современными операционными системами и высокоуровневыми языками программирования.

Типизация переменных

Именно так работали бы переменные, если бы в не существовало типизации. Типизация – это возможность разделить коробочки по возможному содержимому. То есть, когда мы создаем коробочку, мы кроме имени указываем, что в ней может располагаться. И тогда, в коробочку для IPhone котеночка ты уже не засунешь.

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

Языки программирования условно можно разделить на два больших типа:

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

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

Язык C# относится к первым. Возможно, это лишает его такой гибкости как тот же самый JavaScript (который относится ко вторым), но при этом дает большую защищенность от ошибок.

Виды переменных в языке C#

Перед тем, как мы приступим к знакомству с основными типами данных в языке C# необходимо узнать изучить еще один вопрос – виды переменных. На самом деле их всего два:

Ссылочные – хранятся в куче (сложные типы и классы)

Значимые – хранятся в стеке (базовые примитивные типы)

Мы не будем подробно останавливаться на этой теме, но общая идея следующая:

Условно в компьютере существует два вида памяти для работы приложения:

Стек (Stack) – быстрая память, но сильно ограниченная по размеру

Куча (Heap) – память, ограниченная только размером оперативки, но при этом значительно более медленная, чем стек.

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

Типы переменных в языке C#

Начнем со знакомства с наиболее часто используемыми типами данных (большинство их них значимые):

Ссылка на основную публикацию
Adblock
detector