- •Лексемы
- •Идентификаторы
- •Константы
- •Операции
- •Знаки пунктуации
- •Основные типы данных.
- •Описание переменных
- •Оператор присваивания
- •Примеры программ
- •Форматированный ввод, вывод
- •Особенности ввода, вывода символов
- •Функции gets, puts, atoi, atol и atof
- •Занятие 2. Операторы выбора.
- •Выражения, операции
- •Логические операции
- •Условная операция
- •Условный оператор
- •Оператор перехода goto
- •Оператор выбора switch
- •Оператор цикла с предусловием (while)
- •Оператор цикла с постусловием (do - while)
- •Оператор цикла for
- •Примеры использования операторо цикла
- •Занятие 3. Указатели. Ссылки. Массивы. Работа со строками.
- •Указатели
- •Операции разыменования и взятия адреса
- •Инициализация указателей
- •Арифметические операции с указателями
- •Присваивание указателей
- •Сравнение указателей
- •Операция new
- •Операция delete
- •Примеры использования указателей
- •Одномерные массивы
- •Инициализация одномерных массивов
- •Примеры работы с одномерными массивами
- •Многомерные массивы
- •Занятие 4. Указатели и массивы.
- •Указатели и одномерные массивы
- •Размещение одномерных массивов в динамической памяти.
- •Массивы указателей
- •Занятие 5. Указатели и многомерные массивы.
- •Двухмерный массив и вспомогательный массив указателей
- •Список рекомендуемой литературы.
Занятие 2. Операторы выбора. 29
Занятие 3. Указатели. Ссылки. Массивы. Работа со строками. 45
Занятие 4. Указатели и массивы. 59
Занятие 5. Указатели и многомерные массивы. 62
Занятие 1. Введение в язык С++.
Теоретическая часть.
Простейшая программа на языке C++
Пример 1. Вывести на экран текст приветствия: “Hello, world!”.
1) 1-ый вариант
#include <stdio.h>
int main( )
/* простая программа */
{
printf(“Hello, world! \n”);
return 0;
}
Пояснения:
#include <stdio.h> – подключение к программе другого файла - стандартной библиотеки ввода-вывода stdio, в которой содержатся функции ввода-вывода данных. Символ # служит сигналом для препроцессора. При каждом запуске компилятора запускается и препроцессор. Он читает исходный текст программы, находит строки, начинающиеся с символа #, и работает с этими строками до того, как начнется компиляция программы. include – это команда препроцессору включить содержимое файла, указанного в угловых скобках, прямо в это место программы. Угловые скобки < > означают, что подключаемый файл находится в системном подкаталоге. Если задать имя файла в двойных кавычках “имя_файла”, то препроцессор сначала будет искать файл в текущем каталоге, а потом уже в системном.
main( ) – имя функции. Функция – это блок программы, который выполняет одно или несколько действий. Любая программа на языке С++ состоит из одной или нескольких функций, причем одна из них должна называться main. Наша программа состоит из одной функции. В круглых скобках через запятую указываются аргументы функции. У нас список аргументов пустой. Каждая функция должна объявить тип возвращаемого значения. Наша main( ) возвращает значение типа int (от слова integer – целый). Если функция не возвращает никакого значения, то в качестве типа возвращаемого значения указывается тип void. В нашем случае будет возвращено целое значение 0 (оператором return 0).
/* простая программа */ - комментарий. Пары символов /* и */ используются в качестве открывающей и закрывающей скобок для комментария.
{ - начало тела функции. Все функции начинаются открывающей фигурной скобкой «{» и оканчиваются закрывающей фигурной скобкой «}».
} - конец тела функции.
printf() – библиотечная функция вывода на печать.
“Hello, world! \n” – строка символов, которая выводится на экран.
Пара символов \n означает переход на новую строку и на экран не выводится.
; - конец оператора.
return 0; – оператор return возвращает значение 0 в операционную систему. В дальнейшем по этому значению можно судить о корректности работы программы. Например, можно договориться, что в случае корректного завершения работы программы возвращается 0, а в противном случае – 1. В любом случае, по стандарту языка С++ требуется, чтобы функция main( ) возвращала результат типа int, согласно ее определению.
Модифицируем рассмотренную программу.
#include <stdio.h>
void main( ) // простая программа
{
printf(“Hello,”);
printf(“ world!”);
printf(“ \n”);
}
Пояснения.
В этом варианте программы перед именем main помещено служебное слово void – спецификатор типа, указывающий, что функция main в данной программе не возвращает ни какого значения. Соответственно в тексте программы отсутствует оператор return.
В программе используется комментарий в стиле С++, он начинается с двойной дробной черты (//) и продолжается до конца текущей строки.
II Основные понятия языка С++.
Алфавит языка C++
- прописные и строчные латинские
- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z;
a b c d e f g h i j k l m n o p q r s t u v w x y z;
- цифры: 0 1 2 3 4 5 6 7 8 9;
- специальные знаки:
“ ( ) , | [ ] { } . + - / * \ > = < ! _ & ~ ^ пробел и т.д.
Лексемы
Лексема – это логически выделенная единица языка, воспринимаемая как единое целое компилятором и программистом:
- идентификаторы;
- ключевые слова;
- константы;
- знаки операций;
- разделители.
Идентификаторы
Идентификатор - это имя объекта программы.
Идентификаторами обозначаются переменные, константы, функции, метки и т.д.
Правила записи идентификаторов.
Идентификатор может содержать:
- прописные и строчные латинские буквы;
- цифры;
- символ подчеркивания.
Например, правильными будут идентификаторы min, x12, kol_vo; неправильными будут идентификаторы – kol vo (содержит пробел), f(x) (содержит скобки f.g (содержит точку), m,a (содержит запятую), b+c (содержит знак +).
Идентификатор должен начинаться с буквы или символа подчеркивания.
Например: правильными будут идентификаторы – abc, x0, _TR; неправильными – идентификаторы в – 15с, 7_s (начинаются с цифры).
3) В идентификаторах прописные и строчные латинские буквы воспринимаются компилятором как разные, например: - MAX, Max, max – это три разных идентификатора.
4) Длина идентификаторов ничем не ограничена.
4. Ключевые (служебные) слова – это такие лексемы, которые используются компилятором для своих специальных целей. Их нельзя использовать в качестве имен переменных.
Ключевыми словами могут быть:
- директивы препроцессора - include, define, typedef;
- операторы языка - if, switch, break, continue, do, while, for, return, goto;
- служебные слова - else, case, default, extern, friend;
- операции - new, delete, sizeof;
- имена типов данных – char, int, float, double;
- спецификаторы типов – struct, class, const, register, auto, enum, short, signed, unsigned, static, long.
Константы
Константа – это лексема, представляющая изображение неизменяемой в программе величины.
В языке Си различают четыре типа констант
- целые (например, 100, -21);
- вещественные (например, 3.14159, -2.);
- символьные (например, ‘Y’,’!’);
- строковые (например, “Здравствуй, мир!”, “Hello”).
Целая константа определена как последовательность десятичных цифр, начинающаяся не с нуля, если это не число нуль. Допустимый диапазон положительных целых значений от 0 до 4294967295 (232-1). Константы, превышающие указанное значение, вызывают ошибку на этапе компиляции. Абсолютные значения отрицательных констант не должны превышать значения 2147483648 (231-1).
Вещественная константа - это либо число с десятичной точкой, отделяющей целую часть от дробной, либо очень большое число, например, 0.57, 6E+24, -1.67e-23. В записи вещественных констант может опускаться или целая часть или дробная, например, 56. , .89.
Диапазон допустимых значений для вещественных констант от 3.4E-4932 до 3.4E+4932 по абсолютной величине.
Символьная константа – это один символ, заключенный в апострофы, например, ‘Z’, ‘v’. Чтобы задать в качестве символьной константы апостроф ‘ ‘ ‘, или обратный слеш ‘ \ ‘, необходимо в записи символьной константы перед этими символами поставить обратный слеш – ‘\’’, ‘\\’.
Для задания управляющих символов используются записи:
‘\a’ – звуковой сигнал;
‘\n’ – переход на новую строку.
‘\b’ – удаление предыдущего символа (backspace);
‘\f’ – переход на новую страницу;
‘\r’ - переход в начало строки;
‘\t’ – горизонтальная табуляция;
Строковая константа – это последовательность символов, заключенная в кавычки, например: “Здравствуй, мир!”; “Программа выполнена”, “Строка номер 3”. В конце каждой строки компилятор помещает нулевой символ ‘\0’, отмечающий конец данной строки.