Студопедия

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

КАТЕГОРИИ:

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






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






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

Цели:

ü изучить структуру программы, написанной на языке С++, и основные понятия языка.

1. Структура С++ программы. Основные элементы языка С++

Структура программы, написанной на языке С++, выглядит следующим образом:

подключение головных файлов

запись макроопределений

описание глобальных переменных

int main () // заголовок главной функции

{

описание переменных

текст программы//алгоритм

return 1; // завершение работы функции int main()

}

1. Файл с программой на языке С++ вначале обрабатывает препроцессор, который распознаёт директивы препроцессора (каждая из них начинается с символа #) и выполняет их. Одной из таких директив является директива #include, которая используется для подключения головных файлов. Осуществляется эта возможность при помощи команды

#include < имя головного файла>

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

программы и помещёнными в некоторый головной файл.

Некоторые библиотечные головные файлы:

stdio.h – функции ввода-вывода информации, работы с файлами и др.;

math.h – математические функции;

string.h – работа со строками;

stdlib.h – работа с динамической памятью.

2. Запись макроопределений выполняется с помощью директивы

#define < имя_макропеременной> < определение_макропеременной>

При записи этой директивы между #define, < имя макропеременной> и < определение макропеременной> должны быть пробелы. Именем макропеременной может быть любая последовательность символов, не начинающаяся и не содержащая специальных символов. Под определением макропеременной понимается любая константа (числовая), любое арифметическое выражение, содержащее константу и имена макропеременных ранее определённых. В любом месте текста программы, где будет встречаться имя макропеременной, его будет заменять соответствующее макроопределение, описанное после директивы #define.

3. Текст программы, написанной на языке С++, содержит различные слова (имена переменных и констант, ключевые слова), операторы и выражения, которые формируются из символов алфавита языка С++ по правилам этого языка.

В алфавит языка С++ входят:

прописные и строчные буквы латинского алфавита;

цифры 0 1 2 3 4 5 6 7 8 9;

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

Текст программы начинается с объявления переменных. Под объявлением переменных понимаются строки:

< имя типа данных 1> < имя переменной 1>, …, < имя переменной N>;

< имя типа данных М> < имя переменной 1>, …, < имя переменной К>;

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

int f, k; //объявлены две целочисленные переменные с именами f и k

float dr; //объявлена вещественная переменная с именем dr

char ch; //объявлена символьная переменная с именем ch

Таблица 1
Тип данных Объем занимаемой оперативной памяти в байтах Диапазон значений
     
char   –128 ÷ 127
unsigned char   0 ÷ 255
signed char   -128 ÷ 127
int   –2147483648 ÷ 2147483647

Типы данных языка С++ приведены в табл.1.

Продолжение таблицы 1
     
unsigned int   0 ÷ 4294967295
signed int   -2147483648 ÷ 2147483647
short int   -32768 ÷ 32767
unsigned short int   0 ÷ 65535
signed short int   –32768 ÷ 32767
long int   -2147483648 ÷ 2147483647
unsigned long int   0 ÷ 4294967295
signed long int   -2147483648 ÷ 2147483647
float   3, 4e-38 ÷ 3.4e+38
double   1.7e-308 ÷ 1.7e+308
long double   3.4е-4932 ÷ 1.1e+4932

При объявлении переменной под неё в оперативной памяти (ОП) отводится конкретное место (участок ОП). Размер участка оперативной памяти, который занимает переменная, определяется типом этой переменной. Для определения объема оперативной памяти, который занимает переменная какого-либо типа можно воспользоваться операцией sizeof(), например:

i=sizeof(int);

В этом примере значение переменной i будет равно 4.

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

< имя_типа_данных> < имя_переменной1> =знач1, …, < имя_переменнойN> =значN;

Например:

int f = 10, k = 56;

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

сonst < имя_типа_данных> < имя_константы1> =знач1, …, < имя_константыN> =значN;

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

сonst float pi= 3.14159;

При задании имен переменных и констант нужно учитывать то обстоятельство, что компилятор С++ различает строковые и заглавные символы. Например, переменные с именами Alfa и alfa – это различные переменные.

4. Ключевое слово – это идентификатор, зарезервированный в языке для специального использования. В языке С++ используются ключевые слова:

 

asm else private throw
auto enum protected try
break extern public typedef
case float register typeid
catch for return union
char friend short unsigned
class goto signed virtual
const if sizeof void
continue inline static volatile
default int struct while
delete long switch  
do new template  
double operator this  

5. Операции в С++. Знаки операций обеспечивают формирование и последующее вычисление выражений. Выражение есть правило для получения значения. Один и тот же знак операции может употребляться в различных выражениях и по-разному интерпретироваться в зависимости от контекста. Для изображения операций в большинстве случаев используют несколько символов.

Операции подразделяют на унарные и бинарные. Унарными называются операции над одним операндом и пишутся, как правило, перед операндом. Бинарные операции – это операции над двумя операндами. К унарным операциям относятся:

* – взятие значения по адресу оперативной памяти;

& – это операция получения адреса;

- (унарный минус) – изменяет знак арифметического операнда;

+ – унарный плюс (введён для симметрии с унарным минусом);

~ – поразрядное инвертирование внутри двоичного кода целочисленного аргумента – побитовое отрицание;

! – логическое НЕ (отрицание);

К бинарным операциям относятся:

+ – бинарный плюс (сложение арифметических операндов или сложение указателя с целочисленным операндом);

- – бинарный минус (вычитание);

* – умножение двух операндов;

/ – целочисленное деление, в результате выполнения операции получается целое число;

% – остаток от деления;

< < – сдвиг влево битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда;

> > – сдвиг вправо битового представления значения правого целочисленного операнда на количество разрядов, равное значению левого целочисленного операнда;

& – логическое умножение;

| – логическое сложение;

^ – поразрядное исключение или битовых представлений значений целочисленных операндов;

<, < = – меньше, меньше или равно;

>, > = – больше, больше или равно;

= = – логическое равенство;

! = – не равно;

& & – логическое И;

| | – логическое ИЛИ;

?: – условное выражение;

= – операция присваивания.

 

При использовании операций в выражениях нужно учитывать приоритет операций (табл.2).

 

Таблица 2
Приоритеты операций
Ранг Операции Смысл операции
  () [ ] –> . Выражение в скобках Ограничитель индексов массива Указатель на поле структуры Ограничитель имени поля структуры
  ! ~ + - ++ -- & * sizeof(< имя_переменной>) (< тип_данных>) Логическое НЕ Побитовое отрицание Унарный плюс Унарный минус Приращение на 1 Уменьшение на 1 Определение адреса Взятие значения по адресу Определение размера переменной в байтах Операция приведения к типу_данных
  * / % Умножение Целочисленное деление Остаток от деления
  + - Сложение Вычитание
  < < > > Побитовые сдвиги
  < < = > > = Меньше Меньше или равно Больше Больше или равно
  = = ! = Логическое равно Не равно
  & | & & || ?: = , Логическое умножение Логическое сложение Логическая операция и Логическая операция или Условное выражение Оператор присваивания Операция «запятая»

Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.01 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал