Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лекция 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.
При объявлении переменной под неё в оперативной памяти (ОП) отводится конкретное место (участок ОП). Размер участка оперативной памяти, который занимает переменная, определяется типом этой переменной. Для определения объема оперативной памяти, который занимает переменная какого-либо типа можно воспользоваться операцией 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. Ключевое слово – это идентификатор, зарезервированный в языке для специального использования. В языке С++ используются ключевые слова:
5. Операции в С++. Знаки операций обеспечивают формирование и последующее вычисление выражений. Выражение есть правило для получения значения. Один и тот же знак операции может употребляться в различных выражениях и по-разному интерпретироваться в зависимости от контекста. Для изображения операций в большинстве случаев используют несколько символов. Операции подразделяют на унарные и бинарные. Унарными называются операции над одним операндом и пишутся, как правило, перед операндом. Бинарные операции – это операции над двумя операндами. К унарным операциям относятся: * – взятие значения по адресу оперативной памяти; & – это операция получения адреса; - (унарный минус) – изменяет знак арифметического операнда; + – унарный плюс (введён для симметрии с унарным минусом); ~ – поразрядное инвертирование внутри двоичного кода целочисленного аргумента – побитовое отрицание; ! – логическое НЕ (отрицание); К бинарным операциям относятся: + – бинарный плюс (сложение арифметических операндов или сложение указателя с целочисленным операндом); - – бинарный минус (вычитание); * – умножение двух операндов; / – целочисленное деление, в результате выполнения операции получается целое число; % – остаток от деления; < < – сдвиг влево битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда; > > – сдвиг вправо битового представления значения правого целочисленного операнда на количество разрядов, равное значению левого целочисленного операнда; & – логическое умножение; | – логическое сложение; ^ – поразрядное исключение или битовых представлений значений целочисленных операндов; <, < = – меньше, меньше или равно; >, > = – больше, больше или равно; = = – логическое равенство; ! = – не равно; & & – логическое И; | | – логическое ИЛИ; ?: – условное выражение; = – операция присваивания.
При использовании операций в выражениях нужно учитывать приоритет операций (табл.2).
|