Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вариант на печать..doc
Скачиваний:
5
Добавлен:
25.04.2019
Размер:
2.27 Mб
Скачать

17. Указатели и массивы.

Массив можно описать так:

char v [ 10 ]; // массив из 10 символов

Описание указателя имеет такой вид:

char * p; // указатель на символ

Здесь [] означает "массив из", а символ * означает "указатель на". Значение нижней границы индекса

для всех массивов равно нулю, поэтому v имеет 10 элементов: v [ 0 ] ... v [ 9 ]. Переменная типа

указатель может содержать адрес объекта соответствующего типа:

p = & v [ 3 ]; // p указывает на 4-й элемент массива v

Унарная операция & означает взятие адреса.

11. Основные понятия и определения, применяемые при написании программ на С++ (переменная, тип переменной, объявление, простая и составная инструкция, функция, формальные и фактические аргументы функции, операторы, операнды, константы).

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

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

Тип переменной. Тип переменной характерезует какой объем памяти нужно выделить для хранения этой переменной.и какое действие можно над ней осужествлять. Int – целый, 2 байта; Float – вещественный, 4 байта; double - вещественный двойной точности, 8 байт; char – символьный, 1 байт; long int - длинный целый, 4 байта; short int - короткий целый, 2 байта; signed short int - знаковый короткий целый, 2 байта; unsigned long int - беззнаковый длинный целый, 2 байта.

Объявление. Прежде чем программа сможет выполнить какие либо действия ей необходимо сообщить с какими переменами и какого типа она будет работать. Такого рода указания называют объявлениями. В конце обязательно должна стоять точка с запятой. Модификаторы - ключевые слова signed, unsigned, short, long. Спецификатор типа - ключевое слово char или int, определяющее тип объявляемой переменной. Идентификатор - имя переменной. Пример: char x; int a, b, c;

Инициализация значения переменной при объявлении. При объявлении переменную можно проинициализировать, то есть присвоить ей начальное значение. Сделать это можно следующим образом: int x = 100;

Мельчайшей независимой частью С++ программы является инструкция. Законченное действие, оканчивающееся точкой с запятой н-ся инструкция. По умолчанию инструкции выполняются в порядке записи. Как правило, последовательного выполнения недостаточно для решения реальных задач. Инструкции if, if-else и switch обеспечивают условное выполнение. Повторение обеспечивается инструкциями цикла while, do-while и for.

Простые и составные инструкции. Простая инструкция состоит из выражения, за которым следует точка с запятой. Например:

// простые инструкции

intival = 1024; // инструкция определения переменной

ival = ival +5; // присваивание

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

Функции - это основные единицы построения программ при процедурном программировании на языке С++. Правила их записи, вызова и передачи параметров.

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

Формальные и фактические аргументы функции. Формальные параметры – данные, с которыми работает подпрограмма. Это внутренние данные для подпрограммы. Они перечисляются в заголовке подпрограммы и связаны с фактическими параметрами. Фактические параметры – данные, передаваемые в подпрограмме и возвращаемые из нее. Это внешние для подпрограммы, данные, с которыми имеет дело вызывающая часть программы. В подпрограмме им соответствуют формальные параметры. Указываются в списке фактических параметров при обращении к ПП. Синонимы: Параметры = формальные параметры. Аргументы = фактические параметры.

Параметры-значения (в списке формальных параметров не имеют атрибута).

Параметры-переменные (в списке формальных параметров имеют атрибут var).

Выходные параметры-переменные (в списке формальных параметров имеют атрибут out). Параметры-константы (в списке формальных параметров имеют атрибут const). Процедуры или функции. Это параметры процедурного типа. Задаются именами.

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

Операторы-выражения. Выражение, после которого стоит точка с запятой, – это оператор-выражение. Его смысл состоит в том, что компьютер должен выполнить все действия, записанные в данном выражении, иначе говоря, вычислить выражение. Чаще всего в операторе-выражении стоит операция присваивания или вызов функции.

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

Условные операторы. Условные операторы позволяют выбрать один из вариантов выполнения действий в зависимости от каких-либо условий. Условие – это логическое выражение, т.е. выражение, результатом которого является логическое значение истина или ложь. Оператор if выбирает один из двух вариантов последовательности вычислений.

if (условие)

оператор1

else

оператор2

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

Операторы цикла. Оператор цикла состоит из заголовка цикла и тела цикла. Тело цикла – это оператор, который будет повторно выполняться. Заголовок – это ключевое слово for, после которого в круглых скобках записаны три выражения, разделенные точкой с запятой. Первое выражение вычисляется один раз до начала выполнения цикла. Второе – это условие цикла. Третье выражение вычисляется после каждого повторения тела цикла.

Оператор for реализует фундаментальный принцип вычислений в программировании – итерацию. Любое из трех выражений в заголовке цикла может быть опущено (в том числе и все три).

Оператор break завершает выполнение цикла. Еще одним вспомогательным оператором при выполнении циклов служит оператор продолжения continue. Оператор continue заставляет пропустить остаток тела цикла и перейти к следующей итерации (повторению).

Другой формой оператора цикла является оператор while. Его форма следующая:

while (условие)

оператор

Выполнение оператора повторяется до тех пор, пока значением условия является истина. Условие вычисляется заново перед каждой итерацией.

Третьей формой оператора цикла является цикл do while. Он имеет форму:

do{ операторы } while ( условие); Отличие от предыдущей формы цикла while заключается в том, что условие проверяется после выполнения тела цикла.

Оператор возврата. Оператор return завершает выполнение функции и возвращает управление в ту точку, откуда она была вызвана.

Оператор перехода. Последовательность выполнения операторов в программе можно изменить с помощью оператора перехода go to. Он имеет вид: goto метка; Метка ставится в программе, записывая ее имя и затем двоеточие.

При выполнении go to вместо следующего оператора выполняется оператор, стоящий после метки positiv.

Операнды. Операнды — это объекты, над которыми или при помощи которых выполняются действия, задаваемые инструкциями или директивами. Грамматическая конструкция, обозначающая выражение, задающее значение аргумента операции.

Константы. В отличии от переменных свое значение в процессе программирования не меняют. Но точно так же являются областью памяти.

12. Функция форматированного ввода в С++ scanf(). Используемые спецификаторы.

Scanf() and print f() – от языка С.

& - (операция изъятия адреса) перед именем переменной в которую записывается результат ввода.

Format – определяет строку которая выводится на экран, и может содержать специальные управляющие символы для вывода переменных. Затем следующий список необязательных элементов. Функция возвращает либо чисто отображенные символы, либо отрицательное число в случае своей некорректной работы. Для этого используют специальные управляющие символы, которые называются спецификаторами. Сначала функция анализирует строку, которую необходимо вывести на экран. Если в строке встречается спецификатор, то на его место записывается значение переменной, которая является вторым аргументом функции Scan. Если встречается еще один спецификатор, то на его место записывается значение переменной, которая является третьим аргументом функции.

Функция scanf, обеспечивающая ввод, является аналогом printf; она выполняет многие из преобразований printf , но в противоположном направлении. Ее объявление имеет следующий вид:

int scanf(char *format, ...)

*format – определение формата строки для типа вводимых данных.

Scan f (%f*, &a)

Обязательно ставится.

Scan f(“%f,%c”,&a,&b);

Если операция считывания не происходит, то возвращаем значение равное 0.

Format указатель типов вводимых данных может содержать те же спецификаторы что и print f()

%n указатель на целочисл. переменную. Кол-во символов введенных перед ним.

%c одиночный символ; %d десятичное число со знаком(i); %f десятичное число с плавающей точкой

%s строка символов; %u десятичное целое без знаков; %% вывод знака процента

Чтобы построить первый пример, обратимся к программе калькулятора из главы 4, в которой организуем ввод с помощью функции scanf:

#include <stdio.h>

main() /* программа-калькулятор */

{

double sum, v;

sum = 0;

while (scanf ("%lf", &v) == 1)

printf("\t%.2f\n", sum += v);

return 0;

}

Библиотека stdio.h

13. Функция форматированного вывода в С++ printf(). Используемые спецификаторы.

Scanf() and print f() – от языка С.

Printf (const char * format [argument]…]; ,библиотека stdio.h

Format – определяет строку которая выводится на экран, и может содержать специальные управляющие символы для вывода переменных. Затем следующий список необязательных элементов. Функция возвращает либо чисто отображенные символы, либо отрицательное число в случае своей некорректной работы.

Printf(“Привет,мир!”) выводит символьную строку.

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

Пример: int a;

a=7;

printf(“%i”, a);

вывод 7

Сначала функция анализирует строку, которую необходимо вывести на экран (“%i”). Если в строке встречается спецификатор, то на его место записывается значение переменной, которая является вторым аргументом функции print. Если встречается еще один спецификатор, то на его место записывается значение переменной, которая является третьим аргументом функции.

Основные виды: %n указатель на целочисл. переменную. Кол-во символов введенных перед ним; %c одиночный символ; %d десятичное число со знаком(i); %f десятичное число с плавающей точкой; %s строка символов; %u десятичное целое без знаков; %% вывод знака процента;

Int a;

Float b;

A=5; b=17.8;

Printf(“a=%i, b=%f”, a, b);

14. Указатели в языке С++, их типы.

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

Делятся на 2 категории:

  • указатели на объекты;

  • указатели на функции.

Type * // имя указателя;

* - Унарная операция, операндом является имя указателя. называется разыменование или операцией обращение по адресу.

Пример

I nt *pa // (int) 0.80ffffffffffffffff a

int a=s

a=7

*pa=&a;

Объявление нескольких указателей

Float *p1f;*p2f;

В совокупности имя типа «*» перед именем означает особый тип данных - «указатель на объект данных типа»

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]