Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
С_глава1.doc
Скачиваний:
1
Добавлен:
16.12.2018
Размер:
548.86 Кб
Скачать

Занятие 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’, отмечающий конец данной строки.