Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Описания и определения





Каждый объект перед тем, как будет использован в программе, должен быть описан. Описание (объявление, декларация) указывает на тип объекта. Всякое описание, в результате которого объекту выделяется память, является определением (дефиницией). Объект может быть определен в программе лишь один раз, а описан несколько раз, но все его описания должны быть согласованы с единственным определением. Описание имеет вид

[класс памяти] тип имя [инициализатор];

Например, int y = 10;

Если описание содержит инициализатор, или в нем нет слова extern, или это описание функции с ее кодом, то это описание является определением.

 

Контрольные вопросы

1. Из каких частей состоит программа на С++?

2. Чем определение отличается от объявления?

3. Перечислить этапы создания исполняемой программы на языке С++.

4. Что такое препроцессор?

5. Что такое директива препроцессора? Привести примеры директив препроцессора.

6. Составить программу, которая печатает текст «Моя первая программа на С++»

 


2. Базовые средства языка СИ++

2.1. Состав языка

В тексте на любом естественном языке можно выделить четыре основных элемента: символы, слова, словосочетания и предложения. Алгоритмический язык также содержит такие элементы, только слова называют лексемами (элементарными конструкциями), словосочетания – выражениями, предложения – операторами. Лексемы образуются из символов, выражения из лексем и символов, операторы из символов выражений и лексем (рис. 2.1)

Рис. 2.1. Состав алгоритмического языка

Таким образом, элементами алгоритмического языка являются:

1). Алфавит языка СИ++, который включает

- прописные и строчные латинские буквы и знак подчеркивания;

- арабские цифры от 0 до 9;

- специальные знаки “{},| []()+-/%*.\’:;&?<>=!#^

- пробельные символы (пробел, символ табуляции, символы перехода на новую строку).

2). Из символов формируются лексемы языка:

- Идентификаторы – имена объектов СИ-программ. В идентификаторе могут быть использованы латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются, например, PROG1, prog1 и Prog1 – три различных идентификатора. Первым символом должна быть буква или знак подчеркивания (но не цифра). Пробелы в идентификаторах не допускаются.

- Ключевые (зарезервированные) слова – это слова, которые имеют специальное значение для компилятора. Их нельзя использовать в качестве идентификаторов.

- Знаки операций – это один или несколько символов, определяющих действие над операндами. Операции делятся на унарные, бинарные и тернарную по количеству участвующих в этой операции операндов.

- Константы – это неизменяемые величины. Существуют целые, вещественные, символьные и строковые константы. Компилятор выделяет константу в качестве лексемы (элементарной конструкции) и относит ее к одному из типов по ее внешнему виду.

- Разделители – скобки, точка, запятая, пробельные символы.

 

2.2. Константы в Си++

Константа – это лексема, представляющая изображение фиксированного числового, строкового или символьного значения.

Константы делятся на 5 групп:

- целые;

- вещественные (с плавающей точкой);

- перечислимые;

- символьные;

- строковые.

Компилятор выделяет лексему и относит ее к той или другой группе, а затем внутри группы к определенному типу по ее форме записи в тексте программы и по числовому значению.

Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными. Десятичная константа определяется как последовательность десятичных цифр, начинающаяся не с 0, если это число не 0 (примеры: 8, 0, 192345). Восьмеричная константа – это константа, которая всегда начинается с 0. За 0 следуют восьмеричные цифры (примеры: 016 – десятичное значение 14, 01 – десятичное значение 1). Шестнадцатеричные константы – последовательность шестнадцатеричных цифр (0–1, A–F или a–f), которым предшествуют символы 0х или 0Х (примеры: 0хАе, 0Х00F).

Вещественные константы могут иметь две формы представления: с фиксированной точкой и с плавающей точкой. Вид константы с фиксированной точкой: [цифры].[цифры] (примеры: 5.7,.0001, 41.).Вид константы с плавающей точкой: [цифры][.][цифры]E|e[+|-][цифры] (примеры:0.5е5,.11е-5, 5Е3). В записи вещественных констант может опускаться либо целая, либо дробная части (но не обе сразу), либо десятичная точка, либо признак экспоненты с показателем степени (но не оба сразу).

Перечислимые константы вводятся с помощью ключевого слова enum. Это обычные целые константы, которым приписаны уникальные и удобные для использования обозначения. Примеры: enum {one=1, two=2, three=3,four=4};

enum {zero,one,two,three} – если в определении перечислимых констант опустить знаки = и числовые значения, то значения будут приписываться по умолчанию. При этом самый левый идентификатор получит значение 0, а каждый последующий будет увеличиваться на 1.

enum { ten=10, three=3, four, five, six};

enum {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};

Символьные константы – это один или два символа, заключенные в апострофы. Символьные константы, состоящие из одного символа, имеют тип char и занимают в памяти один байт, символьные константы, состоящие из двух символов, имеют тип int и занимают два байта. Последовательности, начинающиеся со знака \, называются escape-последовательностями, они используются:

- для представления символов, не имеющих графического отображения, например:

\a – звуковой сигнал,

\b – возврат на один шаг,

\n – перевод строки,

\t – горизонтальная табуляция.

- для представления символов: \, ’,?, ” (они записываются как \\, \’,\?,\” соответственно);

- для представления символов с помощью шестнадцатеричных или восьмеричных кодов (\073, \0хF5 – это символы с кодом 73 восьмеричное и F5 шестнадцатеричное).

Строковая константа – это последовательность символов, заключенная в кавычки. Внутри строк также могут использоваться управляющие символы. Например: “\nНовая строка”,

“\n\”Алгоритмические языки программирования высокого уровня \””.

 

2.3. Типы данных в Си++

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

1). внутреннее представление данных в памяти компьютера;

2). множество значений, которые могут принимать величины этого типа;

3). операции и функции, которые можно применять к данным этого типа.

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

целочисленные
int (целый)

char (символьный)

wchar_t (расширенный символьный)

с плавающей точкой (число=мантисса * 10к)
bool (логический)

float(вещественный)

double (вещественный с двойной точностью)

 

Существует 4 спецификатора типа, уточняющих внутреннее представление и диапазон стандартных типов

short (короткий)

long (длинный)

signed (знаковый)

unsigned (беззнаковый)

 


Тип int

Значениями этого типа являются целые числа.

Размер типа int не определяется стандартом, а зависит от компьютера и компилятора. Для 16-разрядного процессора под него отводится 2 байта, для 32-разрядного – 4 байта.

Если перед int стоит спецификатор short, то под число отводится 2 байта, а если спецификатор long, то 4 байта. От количества отводимой под объект памяти зависит множество допустимых значений, которые может принимать объект:

short int – занимает 2 байта, следовательно, имеет диапазон 32768..+32767;

long int – занимает 4 байта, следовательно, имеет диапазон –2 147 483 648..+2 147 483 647.

Тип int совпадает с типом short int на 16-разрядных ПК и с типом long int на 32-разрядных ПК.

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

unsigned short int – занимает 2 байта, следовательно, имеет диапазон 0..65536;

unsigned long int – занимает 4 байта, следовательно, имеет диапазон 0..+4 294 967 295.

Тип char

Значениями этого типа являются элементы конечного упорядоченного множества символов. Каждому символу ставится в соответствие число, которое называется кодом символа. Под величину символьного типа отводится 1 байт. Тип char может использоваться со спецификаторами signed и unsigned. В данных типа signed char можно хранить значения в диапазоне от -128 до 127. При использовании типа unsigned char значения могут находиться в диапазоне от 0 до 255. Для кодировки используется код ASCII (American Standard Code for Information Interchange). Символы с кодами от 0 до 31 относятся к служебным и имеют самостоятельное значение только в операторах ввода-вывода. Большинство из них не используются и оставлены как резерв. Используются:

- символ с кодом 7 – вызывает гудок при выводе;

- символ с кодом 8 – перемещение курсора на одну позицию левее;

- символ с кодом 9 – горизонтальная табуляция;

- символ с кодом 10 – перемещение курсора на строку ниже;

- символ с кодом 13 – перемещение курсора в начало текущей строки;

- символ с кодом 27 соответствует клавише ESC.

Символы с кодами 32–127 – это общеупотребимые символы. К ним относятся строчные и прописные буквы английского алфавита, цифры, знаки операций и знаки препинания, спецсимволы (~, #, @, %, ^, &). Цифры начинабтся с кода 48 и далее по порядку до 57, прописные и строчные буквы расположены по алфавиту и имеют коды 65–90 и 97–122 соответственно.

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

Величины типа char могут использоваться также для хранения чисел из диапазонов -128..127 (signed) или 0..255 (unsigned).

 

Тип wchar_t

Предназначен для работы с набором символов, для кодировки которых недостаточно 1 байта, например Unicode. Размер этого типа, как правило, соответствует типу short. Строковые константы такого типа записываются с префиксом L: L“String #1”.

 

Тип bool

Тип bool называется логическим. Его величины могут принимать значения true и false. Внутренняя форма представления false – 0, любое другое значение интерпретируется как true.

 

Date: 2016-11-17; view: 292; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию