4381

Переменные. Константы. Типы данных. Операции в С++

Лабораторная работа

Информатика, кибернетика и программирование

Переменные. Константы. Типы данных. Операции в С++ Цель: понимать, что такое типы данных, уметь правильно выбрать тип данных для используемой переменной, знать какой объем памяти приходится на каждый тип данных знать, что такое константы уметь пра...

Русский

2012-11-18

74.5 KB

20 чел.

Переменные. Константы. Типы данных. Операции в С++

Цель: понимать, что такое типы данных, уметь правильно выбрать тип данных для используемой переменной, знать какой объем памяти приходится на каждый тип данных; знать, что такое константы; уметь правильно создавать переменные.

Теоретический материал

В лабораторной работе №1 описано, как создаются имена переменных, синтаксис написания имени переменных и объявления переменной:

Тип_ переменной Имя_Переменной;

или

Тип_переменной Имя_Переменной_1, Имя_Переменной_2, Имя_Переменной_3;

Типы данных

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

  •  

  •  char (символьный);
  •  short (короткий целый);
  •  int (целый);
  •  long (длинный целый);
  •  float (вещественный);
  •  double (вещественный с удвоенной точностью);
  •  void (отсутствие значения) (будет рассматриваться при изучении функций в С++);

В таблице 2.1 приведены основные типы данных с диапазоном значений и назначением типов.

Таблица 2.1: Основные типы данных

Переменные

Тип

данных

Размер,

бит

(байт)

Диапазон значений

Примечание-назначение типа

Символьные

unsigned char

8 бит

(1 байт)

0…255

Небольшие целые числа и коды символов.

char

8 бит

(1 байт)

-128…127

Очень малые целые числа и ASCII-коды.

Перечисления

enum

16 бит

(2 байта)

-32768…32767

Упорядоченные наборы целых значений.

Целочисленные

unsigned int

16 бит

(2 байта)

0…65535

Большие целые и счётчики циклов.

short int

16 бит

(2 байта)

-32768…32767

Небольшие целые. Управление циклами.

int

16 бит

(2 байта)

-32768…32767

Небольшие целые. Управление циклами.

unsigned long

32 бит

(4 байта)

0…4294967295

Астрономические расстояния.

long

32 бит

(4 байта)

-2147483648…

…2147483647

Большие числа, популяции.

Вещественные

float

32 бит

(4 байта)

3.4Е-38…

…3.4Е+38

Научные расчёты (7 значащих цифр)

double

64 бит

(8 байт)

1.7Е-308…

…1.7Е+308

Научные расчёты (15 значащих цифр)

long double

80 бит

(10 байт)

3.4Е-4932…

…1.1Е+4932

Финансовые расчёты (19 значащих цифр)

Функция sizeof()

Иногда необходимо определить сколько памяти занимает та или иная переменная. Для этого используют функцию sizeof(имя переменной). Например:

int x, z;

char y;

double d;

cout<<sizeof(x); // выведет число 2

cout<<sizeof(d); // выведет число 8

cout<<sizeof(z); // выведет число 2

cout<<sizeof(y); // выведет число 1

Арифметические операции

Большинство программ выполняют арифметические операции. Множество арифметических операций представлено в таблице 2.2

Таблица 2.2: Множество арифметических операций в С++

Название операции в С++

Арифметическая операция

Алгебраическое выражение

Выражение на С++

Сложение

+

p + 9

p + 9

Вычитание

d – s

d – s

Умножение

*

md

m * d

Деление

/

 или  или

x / y

Вычисление остатка

%

d mod f

d % f

Чтобы арифметическое выражение можно было ввести в компьютер, выражение необходимо вводить только в одну строку. Каждая строка (и каждый оператор) должны заканчиваться точкой с запятой, которая означает конец ввода данной команды. При написании арифметических выражений на С++, также как и в математике, необходимо соблюдать приоритеты выполнения действий. Приоритет устанавливается с помощью круглых скобок или в зависимости от действия (умножение или сложение, вычитание или частное). Например, арифметическое выражение a+b*d при a = 3, b = 2, d = 5 даст результат 13. А если рассчитать то же самое выражение, но при этом, поставить круглые скобки, указывающий приоритет выполнения действии — (a+b)*d, то результат будет равен 25. Поэтому, при программировании арифметических выражений необходимо соблюдать правило старшинства операций, которые приведены в таблице 2.3.

Таблица 2.3: Таблица старшинства операций

Символ операции

Имя операции

Последовательность выполнения (старшинство)

()

Круглые скобки

Выполняются первыми. Если круглые скобки вложенные, выражение внутри самой внутренней пары вычисляется первым. Если имеется несколько пар круглых скобок «одинакового уровня» (то есть не вложенных), они выполняются слева направо.

*, / или %

Умножение

Деление

Вычисление остатка

Выполняются вторыми. Если их несколько, они выполняются слева направо.

+ и -

Сложение

Вычитание

Выполняются последними. Если их несколько, они выполняются слева направо.

Присваивание

Чтобы переменная содержала в себе данные необходимо к этой переменной их присвоить. Для присваивания используют символ равенства ( = ). Слева пишется переменная, в которую необходимо записать данные, справа от знака равно само значение, которое нужно запомнить. Пример:

int f;

f = 7;

Кроме того присваивать можно и при объявлении переменной. Пример:

int t = 9, f = 78, d = 34;

С помощью знака равенства в переменную можно перезаписывать множество раз. Однако использовать переменную можно только лишь после её объявления (ниже самого объявления), в противном случае возникнет ошибка.

Константы

Константы в С++ предназначены для хранения данных, которые специально или случайно нельзя изменить. Константами могут быть такие значения как число пи (3,14…) или может быть количество дней в неделю (7), а может быть расстояние от Земли до Солнца и др. Суть констант заключается в том, что их можно использовать в вычислениях, при выводе данных, но саму константу перезаписать как переменную нельзя. Синтаксис объявления констант:

const тип_данных Пример объявления констант:

const double pi=3.14;

const int count_day_week=7;

Если вы попытаетесь выполнить следующее действие pi = 90.05 , то компилятор выдаст ошибку.

Ход работы

  1.  Запустите программный продукт С++.
  2.  Создайте новый проект console application, сохраните его и добавьте в него source file.
  3.  В таблице 2.1 приведены основные типы, используемые в С++. Вам необходимо вывести на экран имя типа данных, затем размер в байтах, после размер в битах. (Для определения размера типа данных используйте функцию sizeof())
  4.  Общее задание для всех — напишите код, рассчитывающий алгебраическое выражение:

.

При написании необходимо учитывать приоритеты выполнения частей выражения, для этого следует использовать круглые скобки. Переменная r должна принимать целые числа, находящихся в диапазоне [0, 255], n — [0, 65535], m — [-128, 127]. Все переменные целочисленные. k — константа, k = 1,637858763328102. Результат записать в переменную w и вывести на экран.

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

Содержание отчёта

  1.  Тема и номер лабораторной работы.
  2.  Цель работы.
  3.  Ход работы.
  4.  Код программы, который обязательно должен содержать комментарии и условие задачи.
  5.  Исходный код программы со всем проектом в целом в электронном виде.
  6.  Выводы по проделанной лабораторной работе.


 

А также другие работы, которые могут Вас заинтересовать

15074. М.ӘУЕЗОВ ҚАЗАҚ ӘДЕБИЕТІНІҢ ТАРИХЫ ТУРАЛЫ 66 KB
  М.ӘУЕЗОВ ҚАЗАҚ ӘДЕБИЕТІНІҢ ТАРИХЫ ТУРАЛЫ ЖУМАБЕКОВА АЙКЕН АЙТМАҒАМБЕТҚЫЗЫ. Павлодар қаласы Қ.Бекқожин атындағы №12 жалпы орта білім беру мектебі. Мұхтар Әуезовтің ғалымдық жолы көпке белгілі. Ол жасынанақ жазушылық қызметпен бірге әдебиет туралы ойпікірл...
15075. М.Әуезов әңгімелеріндегі тартыс 83 KB
  Мұратбекқызы Алтынай Л.Н.Гумилев атындағы Еуразия ұлттық университеті қазақ әдебиеті кафедрасының магистранты МҰХТАР ӘУЕЗОВ ӘҢГІМЕЛЕРІНДЕГІ ТАРТЫС ХХ ғасырдың алғашқы ширегіндегі рухани серпіліс қазақ сөз ө
15076. М.Әуезовтың Хан Кене трагедиясындағы Алашшылдық идеяның көріністері 69 KB
  Лилия Серғазы Л.Н.Гумилев атындағы Еуразия ұлттық университетінің доценті филология ғылымдарының кандидаты М.ӘУЕЗОВТІҢ ХАН КЕНЕ ТРАГЕДИЯСЫНДАҒЫ АЛАШШЫЛ ИДЕЯ Қазіргі кезде М.Әуезовтің бүкіл шығармашылық жолының өн бойында алашшыл көзқарастың созылып
15077. М.Шаханов поэзиясындағы рухани-адамгершілік құндылықтар 65.5 KB
  ӘОЖ 882:929 МҰХТАР ШАХАНОВ ПОЭЗИЯСЫНДАҒЫ РУХАНИАДАМГЕРШІЛІК ҚҰНДЫЛЫҚТАР Ш.А. Өсерова Н.Ә.Асанбекова Жамбыл атындағы №5 орта мектеп Тараз қ. Қазақ халқы аса күрделі проблемаға маңдай тіреді. Өз ұлтымыздың ішінен орыс және батыс мәдениетімен жете сусындаса да а...
15078. Мағжан Жұмабаевтың Батыр Баян поэмасы 56 KB
  МАҒЖАН ЖҰМАБАЕВТЫҢ БАТЫР БАЯН ПОЭМАСЫ М. Орынбаев А. Қалшабеков Тараз мемлекеттік педагогикалық институты Тараз қ. XVIII ғасыр қазақ халқының қиынқыстау заманы болды. Жоңғар қалмақтың жанжақтан қыспағы елді қатты күйзеліске ұш...
15079. Мағжан Жұмабаевтың кестелі өлең өрнегі 73 KB
  УДК 894.342 МАҒЖАН ЖҰМАБАЕВТЫҢ КЕСТЕЛІ ӨЛЕҢ ӨРНЕГІ А.М.Мұратбек Ж.Қ. Боранбаева Л.Н. Гумилев атындағы Еуразия ұлттық университеті Астана Профессор Шериаздан Елеукеновтің: Әдебиет идеясы өмірден туындайды. Идеяны жеткізетін тіл. Ол суреткердің дүниетанымын
15080. Мағжан Жұмабаевтың өлеңдері 62 KB
  Мағжанның өлеңдері Мағжан Жұмабаевтың алғашқы өлеңдері ағартушылық сарында жазылды. Ол түсінікті еді. Мағжан өмір сүрген уақыт қаншалықты күрделі саяси қоғамдық тақырыптарды алға тартқанымен оның алдындағы Шоқан Ыбырай Абайлар бастап кеткен ағартушылық ойпиғыл ...
15081. Мағжан Жұмабаевтың Түркістан өлеңінің көркемдік ерекшеліктері 72 KB
  ӘОЖ 894.342 МАҒЖАН ЖҰМАБАЕВТЫҢ €œТҮРКІСТАН€ ӨЛЕҢІНДЕГІ ТІЛДІК ЕРЕКШЕЛІКТЕР Ф. Уәлиева Ж.Қ. Боранбаева Л.Н. Гумилев атындағы Еуразия ұлттық университеті Астана Мағжанға дейінгі шамамен екі ғасырлық кезең патшалық Ресейдің Түркістан аймағын басып алу мақсатын...
15082. Махамбет шығармаларының жанрлық ерекшелігі 62.5 KB
  Махамбет өлеңдерінің жанрлық ерекшеліктері Махамбет өлеңдері өзінің жанр жағынан да зерттеушілердің айрықша көңілін аударуға тиіс. Оның кейбір өлеңдерін лироэпикалық түрге жатқызуға болады. Ол өлеңдерінде ақын өмір құбылыстарын Исатай бастаған шаруа...