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

1. Алгоритм - описание последовательности действий над некоторыми объектами (данными),

направленное на получение полностью определяемого этими данными результата

Свойства - дискретность: состоит из отдельных шагов (команд)

понятность: должен включать только команды, известные исполнителю (входящие в СКИ)

определенность: при одинаковых исходных данных всегда выдает один и тот же результат

конечность: заканчивается за конечное число шагов

массовость: может применяться многократно при различных исходных данных

корректность: дает верное решение при любых допустимых исходных данных

Язык программирования - это средство для текстового представления программы.

Синтаксическими называются правила построения отдельных языковых конструкций –

слов и предложений – из набора основных символов, образующих алфавит языка,

информационную, управляющую и контролирующую составляющие

Семантические правила вскрывают смысловое содержание текста

Алфавит языка Основные символы: буквы латинского алфавита, цифры

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

Зарезервированные слова: asm else new auto enum operator bool explicit private break

export protected case extern public catch false register char float reinterpret_cast class for return

const_cast goto signed continue if sizeof default inline static delete int static_cast do long struct

double mutable switch dynamic_cast namespace template friend short const

Имена переменных, функций и т.д. только из букв, цифр и «_». Должны начинаться с буквы.

2. Типы данных. Простые типы данных в языке C++, их краткая характеристика.

Основные типы данных называют стандартными. Они присутствуют во всех реализациях

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

Целые: int – целый тип char – символьный wchar_t – расширенный символьный bool – логический

Вещественные: float – одинарная точность double – двойная точность

При задании типов данных можно использовать спецификаторы типов:

short – короткий long – длинный signed – знаковый unsigned – беззнаковый

Спецификаторы уточняют внутреннее представление и диапазон значений стандартных типов

3. Целые типы данных в языке C++. Литералы целого типа.

Содержат одну или более цифр и, возможно, предшествующие цифрам знаки + или -..

При определении значения литерала нули в его левой части игнорируются

Литералы целого типа могут записываться с использованием шестнадцатеричной системы счисления.

В этом случае им должен предшествовать символ $: $2A3 $-FFF4 -$134

Тип Диапазон Длина

bool 0, 1 1 байт

signed char -128 … 127 1 байт

unsigned char 0 … 255 1 байт

signed wchar_t –32768 ... 32767 2 байта

unsigned wchar_ t 0 … 65535 2 байта

signed short int –32768 ... 32767 2 байта

unsigned short int 0 … 65535 2 байта

signed long int –2147483648..2147483647 4 байта

unsigned long int 0 … 4294967295 4 байта

При задании типов можно использовать отдельные слова: int, char, short, long, unsigned

Это эквивалентно: long signed int, signed char, signed short int, signed long int, unsigned int, соответственно

Положительное и отрицательное числа, равные по модулю, представляются в памяти компьютера дополнительными кодами

Например char, равное 25 = 00011001,а -25 = 11100111

4. Вещественные типы данных в языке C++. Литералы вещественного типа

Математическое множество вещественных чисел бесконечно и непрерывно.

В силу ограниченности объема памяти, отводимой для хранения одного числа,

в памяти компьютера может быть представлено лишь ограниченное дискретное

подмножество вещественных чисел

Тип Диапазон Значащих цифр Размер (байт)

float 3,4E–38 ... 1,7E+38 15–16 4

double 1,7E–308 … 1,7E+308 15–16 8

long double 3,4E–4932 … 3,4E+4932 19–20 10

Способы представления вещественных чисел:

с фиксированной точкой: в виде s*c.d где s – знаковый множитель (+1 или -1),

c – последовательность цифр целой части числа, d – последовательность цифр дробной части числа

с плавающей точкой: Число представлено в виде s*m*2(p-p0) где s – знаковый множитель (+1 или -1),

p – целое, являющееся порядком числа, p0 – константа, m – мантисса числа, подчиняющаяся условию нормализации 1<= m <2

Примеры: 178.12;-17.345 и 7.56E+9

5. Символьные типы данных в языке C++. Литералы символьного типа.

Для хранения данных типа char отводится 1 байт памяти, что достаточно для представления всех символов таблицы ASCII

Литералы этого типа записываются в виде одиночных символов либо восьмеричных (шестнадцатеричных) кодов символов

с предшествующим символом «обратный слэш», заключенных в апострофы: ‘A’, ‘#’, ‘\102’, ‘\x31’

Любая последовательность символов, заключенная в апострофы: ‘Harddisk’ ‘Входные данные’ ‘678’

6. Блочная структура программы на языке C++. Описание меток, констант, переменных. Области видимости объектов.

В блочно-структурированных языках программирования программа записывается как множество иерархически вложенных блоков

определенной структуры. В C++ необходимо объявить переменную, далее будет фрагмент кода.

Блоки позволяют локализовать переменные.

Пример иллюстрирующий структуру:

int main(int argc, char* argv[])

{ int a,b,c;

<Фрагмент кода>

}

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

(Не обязательно как в Паскале описывать всё и сразу в начале). По области видимости переменные делятся на:

локальные (которые «видны» внутри данной структуры — файла, подпрограммы или оператора)

и глобальные (которые «видны» во всей программе).

7. Организация ввода и вывода в языке C++. Описание форматов данных при вводе и выводе

Ввод имеет определенную структуру, например:

int a, b, c;

printf ( "Введите два целых числа \n" ); // подсказка для ввода

scanf ( "%d %d", &a, &b ); // ввод данных

Где: &a адрес переменной a, %d формат ввода

Вывод тоже имеет определенную структуру:

printf ( "Результат: %d %d \n", a, b);

Формат ввода – это строка в кавычках, в которой перечислены один или несколько

форматов ввода данных:

%d ввод целого числа (переменная типа int)

%lf ввод вещественного числа (переменная типа float)

%с ввод одного символа (переменная типа char)

8. Операции в языке C++. Арность, приоритет и направление ассоциативности операции.

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

В зависимости от числа операндов операции делятся на унарные и бинарные.

Унарные: возведение в квадрат, изменение знака числа и т.д.

Бинарные: + - > < и т.д.

Бинарные операции требуют для своего выполнения двух значений, а унарные одного.

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

Кроме арности операции различаются уровнем приоритета (что за чем будет выполняться).

Наконец еще одной характеристикой операций в C++ является направление ассоциативности (левосторонняя или правосторонняя),

которая определяет последовательность выполнения операций одного уровня приоритета при вычислении значения выражений

9. Выражения, значения выражений и правила их вычислений. Тип выражения.

Операции являются основными (базовыми) действиями над значениями

Более сложные действия над значениями могут быть представлены как последовательность операций.

Одним из способов описания такой последовательности являются выражения

Выражение – это запись, которая может содержать: литералы, константы, переменные,

вызовы функций, операции, круглые скобки.

Наличие в выражении хотя бы одного из первых четырех элементов обязательно.

Литералы, константы, переменные и вызовы функций , входящие в состав выражения, называются операндами

Переменные, входящие в состав выражения, должны иметь определенные значения

Выражение, не содержащее переменных, называется константным

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

Результатом вычисления выражения является получение нового значения, которое называется значением

выражения, а тип этого значения называется типом выражения.

10. Приоритет

Операция

Примеры

Ассоциативность

0

Вычисление значений функций

( ) – вызов функций; [ ] – индексирование элементов массива

Л

1

Унарные операции

++ – инкремент sizeof – размер в байтах

- - – декремент ! – логическое отрицание

Пр

2

Преобразует значение операнда к указанному типу

(double) 17/5

Пр

3

Бинарные мультипликативные операции

* умножение / деление % остаток от деления

Л

4

Бинарные аддитивные операции

+ -

Л

5

Операции сдвига

<< – сдвиг влево >> – сдвиг вправо

Л

6

Операции отношения

< > <= >=

Л

7

Проверка на равенство

== !=

Л

8-12

Логические операции

& ^ | && ||

Л

13

Условная операция

операнд_1 ? операнд_2 : операнд_3

Пр

14

Операции присваивания

= , +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=

Пр

15

Операция запятая

операнд_1 , операнд_2

Л

11. Операторы языка C++. Простые и структурные операторы. Составной оператор. Операторы передачи управления.

Оператор — наименьшая автономная часть языка программирования; команда.

Язык С++ включает следующие операторы:

оператор-выражение, пустой оператор, составной оператор, условный оператор, оператор выхода из цикла,

оператор цикла (с предусловием, с постусловием, с параметром), оператор возврата к началу цикла, оператор выбора,

оператор возврата

Синтаксис составного оператора:

представляется последовательностью операторов, заключенных в фигурные скобки

{ <оператор 1>

<оператор 2>

<оператор n>}

Практически все операторы отделяются точкой с запятой. Допускается вложенность составных операторов

Семантика оператора:

объединяет последовательность операторов в один оператор;

позволяет преодолеть ограничения синтаксиса ряда структурных операторов, требующих использования

в качестве своего составного элемента только одного единственного оператора

Если внутри составного оператора имеется объявление, то составной оператор становится блоком.

Операторы передачи управления:

break - прерывает текущую итерацию цикла и осуществляет выход из цикла

continue - прерывает текущую итерацию цикла и начинает новую

return - выход из функции (если функция типа void, иначе используется return <значение>, где <значение> - возвращаемый функцией результат соответствующего типа)

goto <метка> - переход на метку (на помеченный оператор)