Главная » Статьи » Програмування » C [ Добавить статью ]

RUS Уроки по программированию на языке С (Переменные и константы)

Переменные и константы

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

Итак, меняющиеся данные договоримся называть ПЕРЕМЕННЫМИ, а постоянные данные – КОНСТАНТАМИ.

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

Константа - область оперативной памяти, обладающая собственным именем и предназначеная для хранения постоянных данных.

    Вот пример констант: Всем известное количество дней в неделе и количество месяцев в году… Оно не меняется ни при каких обстоятельствах, - поэтому эти значения- константы.
    А вот наш возраст – величина переменная. Сегодня кому-то 26 лет, а через год будет 27.

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

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

Правила составления имен.

    В имени допустимо использование только следующих символов:
    1. ПРОПИСНЫЕ и строчные буквы латинского алфавита. При этом не зыбывайте о регистрозависимости языка. Например, Age и age - это два разных имени.
    2. Цифры. Однако, цифра не может быть использована в качестве первого символа. То есть, Name1 допустимо, 1Name - нет.
    3. Символ подчеркивания _. Дело в том, что вы должны помнить, что пробел, тоже является символом и данный символ недопустим в имени переменной. Его заменит знак подчеркивания, который улучшит выразительность имен. Например, сравните: ageofman и Age_Of_Man.

При определении имени для переменной запомните следующее:

  1. Нельзя называть переменную ключевыми словами языка программирования. Ключевое слово - слово, зарезервированное под синтаксис языка программирования (int, float,double и т. п.). В Visual Studio ключевые слова подсвечиваются синим светом, это как минимум приведет к путанице.
  2. Нежелательно существование двух идентификаторов с одинаковыми именами.
  3. Нельзя использовать никакие другие символы, кроме допустимых.(см. выше)

Объявление и использование переменных и констант.

Теперь мы обладаем всей информацией для создания (объявления) переменной. Осталось лишь выяснить, каков общий синтаксис:

  1. тип_данных имя_переменной; - в данном случае в оперативной памяти будет выделена ячейка размером, соответствующим заданному типу. И этой ячейке будет присвоенно выбранное Вами имя. Что же там будет содержаться? В только что созданную переменную будет записано случайное число, определяемое операционной системой. Это число будет содержаться в памяти до тех пор, пока Вы не заполните переменную другим значением, с помощью специального оператора присваивания =
  2. тип_данных имя_переменной=значение; - существует и такая возможность - заполнить переменную значением, прямо при создании. Такой процесс мы будем называть инициализацией.
  3. const тип_данных имя_переменной=значение; - а это объявление константы. Основные моменты состоят в том, что вне зависимости от типа данных перед ним указывается ключевое слово const. Кроме того константа обязательно должна быть проинициализированна при создании. Поменять ее значение впоследствие будет невозможно.

Показ значения переменной на экран.

Показ значения переменной на экран осуществляется с помощью cout<<

cout<<имя_переменной; // кавычки в данном случае не указываются
Можно показывать содержимое нескольких переменных через <<
cout<<имя_переменной1<<имя_переменной2; // кавычки в данном случае не указываются
Можно чередовать показ содержимого переменных с текстовыми сообщениями и Escape-последовательностями через <<
cout<<"Текст"<<имя_переменной1<<"Текст"<<имя_переменной2<<"\n"; 
Показ содержимого констант осуществляется по полной аналогии с переменными.

Практические примеры

Приведем несколько примеров создания и инициализации переменных и костант для разных типов данных.
Целочисленные переменные и константы.

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

Переменные, в которых будут храниться целые числа, ОБЪЯВЛЯЮТСЯ так:

int Age;

О чем говорит эта строчка? Что в переменной по имени Age (возраст) будет хранится целое значение. Слово int объявляет ТИП значения переменной по имени Age.

Теперь например, мы хотим внести в переменную Age значение 34. Как это сделать?

Age =34;

Эта строчка читается так: «Переменной Age присвоить значение 34».

Еще раз посмотрим на оператор присваивания: Age =34;

Слева от знака равно стоит имя переменной, которой присваивается значение. А справа стоит то значение, которое присваивается.

Константа, в которой будет хранится целое число объявляется так:

const int Count_Days_in_Week=7;

О чем говорит эта строка? Слово const подчеркивает, что объявляется константа. int сообщает, что константа будет целым числом. Затем следует имя константы Count_Days_in_Week и ее значение 7.

Теперь разберем, как вычислять значение переменной. Для чего это нужно? Простой пример: как посчитать сколько часов в 2000 году? Неужели вы хотите посчитать эту число сами?

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

В 2000 году 366 суток, в сутках 24 часа. Значит формула расчета количества часов в 2000 году такова: 366 умножить на 24.

В языке С в качестве знака умножения используют * (звездочка, комбинация Shift+8).

Разработаем программу, которая считает сколько же часов в 2000 году.

Перед созданием программы рекомендуется кратко набросать ее алгоритм.

Алгоритм - последовательность действий, направленная на решение поставленной задачи.

Дано: количество дней в году - 366. Это значение не будет меняться, поэтому объявим его константой целого типа по имени DayIn_2000Year. количество часов в сутках – 24. Тоже не меняется. Объявим ее константой целого типа по имени HourInDay. В нашей программе будет единственная переменная, в нее мы запишем результат расчета. Назовем эту переменную HourIn_Year2000. Она будет целого типа. (int)

Алгоритм будет следующий:

  1. Объявление и инициализация переменных и констант.
  2. Подсчет результата.
  3. Вывод на экран результата.

Имена переменным вы можете придумать сами (не забывайте только о правилах составления имен переменных).

А теперь - как всегда, создадим новый проект и введем следующий код:

// Заголовок

#include <iostream>

// определение пространства имен, в котором есть cout<<

using namespace std;

// Главная функция

void main()

{

// вывод пустой строки

cout<<"\n";

//Объявляем целочисленные константы

int DayIn_2000Year=366;

int HourInDay=24;

//объявляем целочисленную переменную 

int HourIn_Year2000;

// вычисляем искомое значение и 

// помещаем его в переменную HourIn_Year2000

HourIn_Year2000=DayIn_2000Year*HourInDay;

 // выводим значение переменной HourIn_Year2000 на экран

cout<<"\t\t In 2000 year "<< HourIn_Year2000;

cout<<" hours\n ";

}

Все! Компилируйте программу!

Вещественные переменные и константы.

Пример объявления и инициализации

float Weight;
Weight=12.3452;

double weight_atom;
weight_atom= 2.5194е+017;

Что обозначает число 2.5194е+017?

Это краткая запись вещественных чисел. Называется она - экспоненциальной формой записи чисел. Сообщаем вам секрет расшифровки написанного. Этим набором символов описывается число 251940000000000000 или 2,1594×1017.

3.4Е-008 расшифровывается так: 3,4×10-8, что аналогично 3,4:108.

-1.5E+003 расшифровывается как -1,5×103.

Числа с плавающей точкой типа float могут менятся от -3,4×1038 до 3,4×1038.

Значения от –3,4×-38 до 3,4×10-38 считаются равными нулю.

А теперь давайте поработаем с вещественными числами на практике:

Напишем программу, которая будет расчитывать стоимость покупки. Пусть программа использует цену товара (Cost), количество купленного товара (Count), и, учитывая скидку (Discount), вычисляет стоимость покупки (Price).

Создадим новый проект Pokupka и введем текст следующей программы

// Заголовок
#include <iostream>

// определение пространства имен, в котором есть cout<<
using namespace std;

// Главная функция
void main()
{
 //Объявляем переменную Discount
 float Discount=0.05;

 //Объявляем переменную Cost
 float Cost=10.50;

 //Объявляем переменную Count
 int Count=5;

 //Объявляем переменную Price
 float Price;

 //Вычисляем значение переменной Price
 Price=Count*Cost-Count*Cost*Discount;
 
 // Выводим итоговую стоимость товара со скидкой
 cout<<"Please, pay:"<<Price<<"\n";
}

Символьные и логические переменные и константы.

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

// Логическая переменная
bool Flag;
Flag=true;

// Один символ всегда указывается в одинарных кавычках
char Symbol='A'; 

/* Escape - последовательность рассматривается компилятором, как один символ
 и соответственно может быть записана в переменную или константу
 типа char*/
const char NewLine='\n'; 

cout<<NewLine// показывает пустую строку

Категория: C | Добавил: DEN-SHP (05.11.2012)
Просмотров: 960 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]