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


Полезное:

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


Категории:

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






Лекция 3. Основные элементы языка С++





Основные элементы языка С++

 

 

Язык программирования С++ был разработан Бьярном Страуструпом в 1980г. на основе языка С. Вначале язык назывался “C с классами”, а позднее Рик Маскитти назвал его С++.

Язык С++ является расширением языка С. В связи с этим программы, написанные на языке С, могут обрабатываться компилятором языка С++. Язык С++ предназначен, в основном, для объектно-ориентированного программирования. Однако его можно применять не только для реализации объектно-ориентированных проектов. С++ позволяет программисту разрабатывать приложения с использованием традиционного структурного программирования.

Система программирования Borland C++ включает компилятор с языка С++ и интегрированную среду-оболочку. Среда предоставляет пользователю удобства при создании и отладке программ.

Прежде всего, следует отметить, что программа на языке С++ - это текстовый файл с расширением cpp.

Процесс подготовки исполняемой программы состоит из двух этапов:

- препроцессорная обработка текста программы;

- компиляция программы.

Препроцессор в соответствии с директивами вставляет в программу заранее подготовленные тексты файлов. Каждая директива препроцессора начинается с символа ‘#’. Например:

#include<имя файла>

Сформированный таким образом текст программы передается компилятору.

Процесс компиляции текста программы состоит из следующих этапов:

- лексический анализ;

- синтаксический анализ;

- семантический анализ;

- генерация объектного кода.

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

 

 

  1. Алфавит

Алфавит языка С++ включает:

- прописные и строчные буквы латинского алфавита A..Z и a..z;

- десятичные цифры 0..9;

- шестнадцатеричные цифры 0..9,A..F или 0..9, a..f;

- специальные символы:

+, -, *, /, (,), [, ], {, },.,: и т.д.;

- ключевые слова (или зарезервированные слова):

char, const, do, class, continue и т.д.

Особое место в языке С++ занимают пробелы и комментарии. Пробелы рассматрива-

ются как ограничители идентификаторов, констант, чисел.

Многострочный комментарий – это произвольная последовательность любых символов, ограниченная парами символов /*…*/.(В языке С такие же ограничители)

Например:

/* начало комментария

a=b;

конец комментария */

Стандарт С++, принятый в 1998г., запрещает вкладывать комментарии друг в друга.

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

Например:

//Ввод элементов массива с клавиатуры

 

  1. Идентификаторы

Идентификатор – это последовательность из букв латинского алфавита, десятичных цифр и символов подчеркивания, начинающаяся с буквы или знака подчеркивания.

В языке С++ в отличие от других языков прописные и строчные буквы различаются при записи идентификатора. Компиляторы фирмы Borland распознают идентификато- ры по первым 32 символам.

Примеры идентификаторов:

Article NAME name Name set_of_char

Замечание. Не рекомендуется начинать идентификаторы с символа “_” или “__”, так как они используются в стандартных библиотеках или зарезервированы в языке С++.

 

  1. Константы

Константа – это объект, который не меняет своё значение в процессе выполнения программы.

В языке С++ константы делятся на 5 групп:

- целые;

- вещественные;

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

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

- строковые.

Компилятор определяет тип константы по форме её записи.

Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными.

Десятичная целая константа – последовательность десятичных цифр, начинающаяся не с 0, если это число не 0.

Пример: 16, 241, 0, -14

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

Примеры: 016 02 074 0 8 1 (ошибка!)

Шестнадцатеричная целая константа- это последовательность шестнадцатеричных цифр, которая начинается с символов 0x. Шестнадцатеричные цифры: 0..9,A..F, a..f.

Примеры: 0x16, 0xabf

Компилятор каждой константе ставит в соответствие тип данных.

Целым константам, занимающим в памяти 2 байта, соответствуют типы int или unsigned int.

Целым константам, занимающим в памяти 4 байта, соответствуют типы long или

unsigned long.

В языке С++ имеется возможность явным образом присваивать тип константе с помощью суффиксов L, l (long) и U, u (unsigned).

Для записи одной константы можно использовать два суффикса U (u) и L (l) в произвольном порядке. Например, константы

0x22Ul, 0x11Lu, 0x380000UL, 0x54lu

будут иметь тип unsigned long.

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

Например:

04L~long

04U~unsigned int

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

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

Примеры:

15..01 -1.08Е-2 2е+3 2.78

В языке С++ допустимы следующие вещественные типы:

 

Вещественной константе можно явным образом присваивать тип float с помощью суффикса f (F) или long double с помощью суффикса l (L)

Примеры:

5.67f~ float (4 байта)

17.8E-3L ~ long double (10 байтов)

По умолчанию константе присваивается тип double.

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

Формат определения перечислимой константы:

enum {one=1, two=2, five=5};

После такого определения в программе вместо, например, константы 5 можно использовать идентификатор five. Идентификаторы перечислимой константы не должны использоваться для обозначения других объектов.

Символьная константа-это один или два символа, заключенные в апострофы.

Например: ‘1’; ’z’; ’*’; ’\n’; ’ab’; ’\n\t’

Символ ‘\’ используется

1) при записи кодов, не имеющих графического изображения: ‘\n’; ‘\t’; ‘\v’

2) при записи апострофа, обратной косой черты, знака вопроса и кавычки: ‘\\’; ‘\`'; '\”’; ‘\?’

3) При записи символьной константы с помощью кодов в шестнадцатеричном или восьмеричном виде: ‘\x0A’-‘\n’ (шестнадцатеричный код 0x0A)

‘\x48’-‘H’ (шестнадцатеричный код 0x48)

‘\40’ – пробел (восьмеричный код 040)

Значением символьной константы является её код. Односимвольная константа имеет тип char, занимает в памяти 1 байт. Двухсимвольная константа представляется двухбайтовым значением int, причем первый символ размещается в байте с меньшим адресом.

Строковая константа-это последовательность символов, заключенная в кавычки.

Например:

“С++ - programming language”

При записи строковой константы можно использовать неизображаемые символы и символы, задаваемые внутренними кодами.

Пример:

#include <iostream.h>

void main()

{cout<<”\nЭто строковая константа \n иначе -\”стринг\”.”;

}

На экране мы увидим:

Это строковая константа

иначе – “стринг”.

В памяти компьютера строка представляет собой последовательность байтов. Компилятор автоматически добавляет в её конец нулевой байт ‘\0’.

Строковые константы можно непосредственно использовать в выражениях, а можно разместить в символьном массиве и обращаться к ней по имени массива.

Пример: вывести на экран строку и её длину.

void main()

{char str[]=”массив-строка”;

cout<<”\nsizeof str= “<<sizeof str;

cout<<”\nstr=”<<str;

}

Результат:

sizeof str= 14

str=массив-строка

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

Типизированная константа объявляется с помощью ключевого слова const, за которым следуют указание типа константы, идентификатор, знак “=” и инициали- зирующее выражение.

 

Например:

const double pi=3.1415;

const int R=3;

 

Вопросы

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

1. {…};

2. (*…*);

3. /*…*/;

4. /#…#/;

5. […].

2. Идентификатор – это последовательность символов, включающая:

1. буквы латинского алфавита;

2. пробелы;

3. десятичные цифры;

4. знаки подчеркивания;

5. $.

3. Укажите все символы, с которых может начинаться идентификатор

1. буква;

2. цифра;

3. подчеркивание;

4. $;

5. пробел.

4. Укажите правильные записи констант

1. 345

2. -17e-2

3. $16

4. 023

5. 0xaf

5. Восьмеричная целая константа – это последовательность восьмеричных цифр, начинающаяся с символа

1. $

2. 0

3. #

4. #0

5. 0x

6. Шестнадцатеричная константа начинается с символа

1. 0x

2. $

3. 0

4. #

 

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



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