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

1)Состав алгоритмического языка. Алфавит С++. Идентификаторы. Ключевые слова.

С++ создан в начале 80 годов 20 века Бьерном Страуструпом. Первое название «Си с классами». В середине 80х годов появилось новое название «С++».

С++ реализует:

- базовые конструкции структурного программирования

- основные свойства объектно-ориентированного программирования.

Свойства языка С++:

Языки

Естественный

Алгоритмический

символы

слова

словосочетания

предложения

символы

лексемы

выражения

операторы

Символы - основные неделимые знаки, с помощью которых пишутся все тексты на языке.

Лексема – минимальная единица языка, имеющая самостоятельный смысл.

Выражение – задает правило вычисления некоторого значения.

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

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

Создание программы:

исходный текст программы (.cpp) => препроцессор => полный текст программы (.cpp) => компилятор => объектный модуль => компоновщик – редактор связей (<=библиотечные файлы (.lib)) => исполняемая программа (.exe)

Алфавит С++:

- прописные и строчные знаки и знак подчеркивания

- арабские цифры

- специальные знаки

- пробельные символы

Лексемы С++:

- идентификаторы

- ключевые слова

-знаки операций

-константы

-разделители

Границы лексем определяются другими лексемами, такими, как разделители или знаки операций.

Идентификатор – имя программного объекта (переменная, функция…):

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

- прописные и строчные буквы различаются

-первый символ буква или знак подчеркивания

-пробелы внутри имен не допускаются

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

Ключевые слова – это зарегистрированные идентификаторы, которые имеют специальное значение для компилятора.

2) Состав алгоритмического языка. Знаки операций С++. Константы. Комментарии.

С++ создан в начале 80 годов 20 века Бьерном Страуструпом. Первое название «Си с классами». В середине 80х годов появилось новое название «С++».

С++ реализует:

- базовые конструкции структурного программирования

- основные свойства объектно-ориентированного программирования.

Свойства языка С++:

Языки

Естественный

Алгоритмический

символы

слова

словосочетания

предложения

символы

лексемы

выражения

операторы

Символы - основные неделимые знаки, с помощью которых пишутся все тексты на языке.

Лексема – минимальная единица языка, имеющая самостоятельный смысл.

Выражение – задает правило вычисления некоторого значения.

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

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

Создание программы:

исходный текст программы (.cpp) => препроцессор => полный текст программы (.cpp) => компилятор => объектный модуль (.obj) => компоновщик – редактор связей (<=библиотечные файлы (.lib)) => исполняемая программа (.exe)

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

Константы – неизменяемые величины, записанные в тексте программы.

Компилятор относит программу к одному из ее типов по ее внешнему виду.

целые константы:

- десятичный формат(8, 0, 123)

- восьмеричный формат(01, 020, 06543)

- шестнадцатеричный формат(0*А, 0*1В8)

вещественные константы:

- десятичный формат(5.7, 0.001)

- экспоненциальный формат(0.2Е7, 11е-9)

символьные константы: ‘A’ , ‘ю’ , ‘* ’ , ‘ \” ’ ‘\012’ , ‘\0*07’

строковые константы:

“здесь был Вася” , “\t значение x=\0*F5\n”

Строковые константы, определенные в программе только пробельными символами, при компиляции объединяются в одну. Длинную строковую константу можно разделить на нескольких строках, используя в качестве знака переноса обратную косую черту. В конце каждой строковой константы компилятор добавляет нулевой символ ‘\0’.

Комментарии:

- 2 символа косая черта //

- символы скобки /* и */

3)Основные типы данных С++. Целый, символьный, расширенный символьный, логический типы.

Любой тип данных определяет:

- внутреннее представление данных в памяти

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

- операции и функции, которые можно применить к величинам

6 основных типов данных:

- целочисленные

int (целый)

char (символьный)

wchar_t (расширенный символьный)

bool (логический)

- с плавающей точкой

float (вещественный)

double (вещественный с двойной точностью)

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

short (короткий)

long (длинный)

signed (знаковый)

unsigned (беззнаковый)

целый тип int:

- размер не определен стандартом С++ (2 или 4 байта) и определяется спецификаторами short int, long int, signed int, unsigned int

- спецификаторы можно комбинировать

unsigned long int

- по умолчанию все целые типы знаковые

- целым константам приписывается тип в соответствии с их видом

Символьный тип char:

- размер 1 байт

- может быть со знаком и без знака

signed char unsigned char

Расширенный символьный тип wchar_t:

- работа с набором символов Unicode

- размер равен типу short (2 байта)

- строковые и символьные константы расширенного символьного типа записываются с префиксом «L»:

L “строка широких символов”

Логический тип bool:

- размер 1 байт

- величина типа может принимать 2 значения (true или false).

4)Основные типы данных С++. типы с плавающей точкой. Тип void.

Любой тип данных определяет:

- внутреннее представление данных в памяти

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

- операции и функции, которые можно применить к величинам

6 основных типов данных:

- целочисленные

int (целый)

char (символьный)

wchar_t (расширенный символьный)

bool (логический)

- с плавающей точкой

float (вещественный)

double (вещественный с двойной точностью)

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

short (короткий)

long (длинный)

signed (знаковый)

unsigned (беззнаковый)

Типы с плавающей точкой (float, double, long double):

float – 4 байта

double – 8 байта

long double – 8 и 10 байт

- константы вещественного типа по умолчанию имеют тип double

2E+6L – long double

1,82F – float

Тип void:

- нет значений

- используется для:

1) определения функций, которые не возвращают значений

2) указания пустого списка аргументов функции

3) как базовый тип для указателей

5)Структура программы на С++. Переменные. Правила описания переменных.

Программа на С++ состоит из:

- функций

- описаний

- директив препроцессора

main – главная функция (выполнение программы начинается с нее).

Формат определения функции:

тип имя (параметры)

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

«тип» - тип данных возвращаемого функцией значения

«имя» - произвольный идентификатор

«параметры» могут отсутствовать

Правила описания:

- если функция не должна возвращать значения, указывается тип void

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

- не могут быть вложенными

- оператор заканчивается ‘;’ (кроме составного)

Ввод и вывод данных:

2 способа:

1)функции унаследованные от языка Си:

int scanf (const char * format, …) -ввод

int printf (const char * format, …) –вывод

Строка формата содержит символы, которые при выводе копируются на экран, и спецификации преобразования (начинаются со знака %), которые при вводе и выводе заменяются конкретными величинами.

2)объекты стандартной библиотеки С++:

cin>> -ввод

cout<< -вывод

Переменные – это именованная область памяти, в которой хранятся данные определенного типа:

- у переменной есть имя и значение

- перед использованием любая переменная должна быть описана (объявлена):

int a; float x;

Описание переменных:

[класс памяти] [const] тип имя [инициализатор];

- при описании можно присвоить начальное значение (инициализация)

- 2 формата инициализатора:

1) со знаком равенства =значение

2) в круглых скобках (значение)

- модификатор const описывает константу

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

Область действия переменной:

- область действия идентификатора – часть программы, в которой его можно использовать для доступа к связанной с ним области памяти

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

- локальная – внутри блока

- глобальная – вне блока и функции

класс памяти – время жизни и области видимости переменной

auto – автоматическая переменная (уничтожается при выходе из блока)

extern – переменная определена в другом месте программы

static – статическая переменная, инициализируется один раз

register – память для переменной выделяется, по возможности, в регистрах процессора

6)Операции С++. Выражения. Преобразование типов при вычислении выражения.

Операции делятся на унарные, бинарные и тернарные по количеству участвующих в них операндов.

унарные операции:

++ увеличение на 1 (инкремент)

-- уменьшение на 1 (декремент)

sizeof размер типа или переменной в байтах

~ поразрядное отрицание

! логическое отрицание

- арифметическое отрицание

+ унарный плюс

& взятие адреса

* разадресация

new выделение памяти

delete освобождение памяти

(тип) преобразование типа

бинарные операции:

* умножение

/ деление

% остаток от деления

+ сложение

- вычитание

<< сдвиг влево

>> сдвиг вправо

< меньше

<= меньше или равно

> больше

>= больше или равно

== равно

!= не равно

& поразрядное И

^ поразрядное исключающее ИЛИ

| поразрядное ИЛИ

&& логическое И

|| логическое ИЛИ

бинарные и тернарные операции:

?: условная операция (тернарная)

= присваивание

*= умножение с присваиванием

/= деление с присваиванием

%= остаток от деления с присваиванием

+= сложение с присваиванием

-= вычитание с присваиванием

<<= сдвиг влево с присваиванием

>>= сдвиг вправо с присваиванием

&= поразрядное И с присваиванием

|= поразрядное ИЛИ с присваиванием

^= поразрядное исключающее ИЛИ с присваиванием

, последовательное вычисление

Состав выражения:

- операнды (данные для вычисления)

- знак операции (действия над операндами)

- круглые скобки (изменяют порядок вычислений)

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

Правила преобразования типов операндов:

1) все операнды целого типа, имеющие размер меньше чем int, преобразуются в int

2) если один из операндов имеет плавающий тип, то и второй операнд преобразуется к такому же

3)если предыдущее условие не выполнено, т.е. оба операнда целого типа то:

- если один имеет тип long, второй расширяется до него

-если один является беззнаковым, то и второй становится беззнаковым

7)Понятие структурного программирования. Базовые конструкции структурного программирования. Оператор «выражения».

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

Оператор «выражение»:

- любое выражение, завершающееся точкой с запятой, рассматривается как оператор, выполнение которого заключается в вычислении этого выражения

- частный случай – пустой оператор (;)

8)Операторы ветвления. Условный оператор if. Оператор switch.

Условный оператор if:

используется для разветвления процесса вычисления на 2 направления

if (выражение) оператор 1;

[else оператор 2;]

Оператор switch:

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

switch ()

{ case константное выражение1: [список операторов]

case константное выражение 2: [список операторов]

case константное выражение n: [список операторов]

[default: список операторов] }

- выход из оператора обычно выполняется с помощью операторов break или return

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

9)Операторы цикла в С++. Цикл с предусловием. Цикл с постусловием. Цикл с параметром.

Операторы цикла :

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

- любой цикл состоит из:

1)тела цикла

2)начальных установок

3)модификации параметра цикла

4)проверки условия продолжения выполнения цикла

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

- параметры – переменные, изменяющиеся и используемые при проверки условия

- счетчик цикла – целочисленные параметры цикла, изменяющиеся с постоянным шагом на каждой итерации

Цикл с предусловием while:

while (выражение) оператор;

int a=100, sum=0;

while (a!=0) {sum+=a; a--;}

Цикл с постусловием do while:

do оператор while (выражение);

int a=100, sum=0;

do {sum+=a; a--;} while (a!=0);

Цикл с параметром for:

for ( инициализация; выражение; модификации) оператор;

- любая часть оператора for может быть опущена, но точки с запятой обязательны

int sum=0;

for (int a=1; a<=100;a++) sum+=a;

10)Операторы передачи управления. Оператор goto. Оператор break. Оператор continue. Оператор return.

4 оператора, изменяющих естественный порядок выполнения выражения:

goto – безусловный переход

break – выход из цикла

continue – переход к следующей итерации

return - возврат из функции

GOTO:

формат – goto метка;

…..

метка: оператор;

метка – обычный идентификатор

BREAK:

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

CONTINUE:

используется только внутри тела любого цикла. Его действие – пропуск всех операторов, оставшихся до конца тела цикла, и передача управления на начало следующего

RETURN:

завершает выполнение функции и передает управление в точку ее вызова

return [выражение];

если тип void, return должен отсутствовать

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