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

1. Позиционные системы счисления. Перевод положительных целых десятичных чисел в двоичную систему счисления. Пример.

Позиционная систе́ма счисле́ния (позиционная нумерация) — система счисления, в которой значение каждого числового знака (цифры) в записи числа зависит от его позиции (разряда).

Для перевода целого десятичного числа в систему счисления с основанием ­ q=2 необходимо данное число последовательно делить на число 2 ­ до получения целого остатка, меньшего 2. ­ Результат­ в двоичной системе счисления (сокращенно bin) будет иметь вид упорядоченной последовательности остатков от деления в порядке, обратном их получению (старшую цифру числа дает последний остаток, а младшую - первый).

2. Позиционные системы счисления. Перевод отрицательных целых десятичных чисел в двоичную систему счисления. Пример.

3. Позиционные системы счисления. Перевод двоичных чисел в десятичную систему счисления. Пример.

4. Позиционные системы счисления. Перевод шестнадцатеричных чисел в десятичную систему счисления. Пример.

5. Понятие бит, байт, полубайт, слово и двойное слово.

6. Основные понятия языка C/C++. Алфавит, словарь. Понятие идентификатора. Комментарии. Примеры.

7. Понятие типа данных. Классификация типов в C/C++. Примеры.

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

Тип определяет: внутреннее представление данных в памяти компьютера, множество значений, которые могут принимать величины этого типа, операции и функции, которые можно выполнять над величинами этого типа

8. Понятие константы. Типы констант. Пример.

Константынеизменяемые величины.

Различают целые, вещественные, символьные, строковые константы

Целые константы

Формат

Пример

Десятичный: последовательность десятичных цифр, начинающаяся не с нуля, если это не число нуль.

8, 0, 199226

Восьмеричный: нуль, за которым следуют восьмеричные цифры (0,1,2,3,4,5,6,7)

01, 020, 07155

Шестнадцатеричный: 0х или 0Х,

за которым следуют шестнадцатеричные цифры (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

0хА,0x1В8, 0X00FF

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

Формат

Пример

Десятичный: [цифры].[цифры]

5.7, .001, 35. ,-34

Экспоненциальный: [цифры][.][цифры]{Е|е}[+|-][цифры]

0.2Е6, .11е-3, 5Е10, -2е-2

Символьные константы

Один или два символа, заключенных в апострофы

'А', ю', '*', 'db','\0’,’\n’,’\012’

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

Последовательность символов, заключенная в кавычки

"Здесь был Vasia", "\tЗначение r=\0xF5\n"

9. Понятие управляющей последовательности символов (escape-последовательность). Назначение. Примеры использования.

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

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

Управляющие последовательности могут использоваться в строковых константах: "Издательский дом \"Питер\"".

Изображение

Шестнадцатеричный код

Наименование

7

Звуковой сигнал

8

Возврат на шаг

\f

С

Перевод страницы (формата)

\n

А

Перевод строки

\r

D

Возврат каретки

\t

9

Горизонтальная табуляция

\v

В

Вертикальная табуляция

\\

Обратная косая черта

\‘

27

Апостроф

\"

22

Кавычка

\?

3F

Вопросительный знак

\ddd

Восьмеричный код символа

\0xdddd

dddd

Шестнадцатеричный код символа

10. Объявление переменных в С/С++. Примеры.

int а=5, у;

const float g = 9.81, С= 0.577216;

short a, b=100;

short int а = 1;

const char С ='С’;

char s, sf ='f’;

char t (54);

float с =0.22, x(3), sum;

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

11. Понятие выражения в С/С++. Определение типа выражения. Совместимость типов. Приоритет выполнения операций. Примеры.

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

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

В простейшем случае выражение может состоять из одной переменной или константы.

Тип значения выражения определяется типом операндов и составом выполняемых операций.

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

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

12. Унарные операции в С/С++. Примеры.

Операция

Краткое описание

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

++

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

--

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

sizeof

размер

~

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

!

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

-

арифметическое отрицание (унарный минус)

+

унарный плюс

&

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

*

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

new

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

delete

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

(type)

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

17. Структура программы на языке С/С++. Пример.

Программа на языке C++ состоит: директив препроцессора, описаний, функций

Одна из функций должна иметь имя main. Выполнение программы начинается с первого оператора этой функции. Простейшее определение функции имеет следующий формат:

Как правило, функция используется для вычисления какого-либо значения, поэтому перед именем функции указывается его тип. Основные сведения:

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

  • тело функции является блоком и заключается в фигурные скобки;

  • функции не могут быть вложенными;

  • каждый оператор заканчивается точкой с запятой (кроме составного оператора).

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

описания

int main()

{

операторы главной функции;

}

void fl()

{

операторы функции fl;

}

double f2()

{

операторы функции f2;

}

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

18. Ввод/вывод в консольных приложениях С/С++. Примеры.

В С++ заголовочный файл <iostream.h> содержит описание набора классов для управления ввода/вывода. В нем определены стандартные объекты-потоки cin для ввода с клавиатуры и cout для вывода на экран, а также операции помещения в поток << и чтения из потока >>.

19. Алгоритмы обмена значений переменных. Пример.

Обмен значений переменных с использованием дополнительной переменной

С= А; А= В; В= С

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

А = А + В; В = A – B; А = А – В

Обмен значений переменных при помощи поразрядных операций

Поразрядное «исключающее или» (то же самое, что сложение по модулю 2), обладает замечательным свойством X ^ X = 0. Это свойство обычно используют в ассемблерных программах для быстрого обнуления регистров процессора. Эта операция ассоциативна и коммутативна (то есть выполняются сочетательный и переместительный законы).

Поэтому (Х ^ Y) ^ Y = Х ^ (Y ^ Y) = X ^ 0 = X.

Аналогично, (Y ^ X) ^ Y = (Х ^ Y) ^ Y = Х.

20. Структурированные операторы. Понятие составного оператора. Пример.

Структурированные операторы представляют собой конструкции, построенные по определенным правилам из других операторов. К структурированным операторам относятся:

  • составной оператор;

  • условный оператор;

  • оператор выбора;

  • операторы цикла (повтора);

  • оператор доступа.

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

Формат составного оператора: { <Оператор1>; ...; <ОператорМ>;}

Пример составного оператора:

{

S:=0;

Cout<<”Ошибка”;

}

21. Структурированные операторы. Условный оператор. Формы условного оператора. Пример.

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

Формат составного оператора:

if (<Условие>) <Оператор1>; [else <Оператор2>;]

С помощью условного оператора можно реализовывать алгоритмы с разветвлением.

В общем случае условный оператор можно представить в виде схемы:

Условие представляет собой выражение, логического типа. Оператор работает следующим образом: если условие истинно (имеет значение true), то выполняется оператор1, в противном случае — оператор 2. Оба оператора могут быть составными.

Пример условных операторов:

if (х > 0) x=x+1;

else x=0;

if (q = 0) a=1;

22. Алгоритмы нахождения наибольшего (наименьшего) из трех чисел. Пример.

Найти наибольшее значение из трех заданных чисел.

#include <iostream.h>

int main ()

{

int a,b,c;

cout<<"Input 3 number-->";

cin>>a>>b>>c;

int max=a;

if (b>max) max=b;

if (c>max) max=c;

cout<<"Max="<<max<<endl;

return 0;}

Найти наибольшее значение из трех заданных чисел, неиспользуя условный оператор

#include <iostream.h>

#include <stdlib.h>

int main ()

{

int a,b,c;

cout<<"Input 3 number-->";

cin>>a>>b>>c;

int max=(a+b+abs(a-b))/2; //нашли max среди a и b

max=(max+c+abs(max-c))/2; //нашли max среди c и max

cout<<"Max="<<max<<endl;

return 0;

}

23. Алгоритм нахождения количества (суммы) чисел удовлетворяющих некоторому условию из трех заданных.

24. Алгоритм нахождения произведения чисел удовлетворяющих некоторому условию из трех заданных.

25. Структурированные операторы. Оператор выбора. Пример.

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

Формат оператора выбора:

switch (<Выражение-селектор>)

{

case <константное выражение 1> : <операторы 1>;

case <константное выражение 2> : <операторы 2>;

case <константное выражение N> : <операторы N>;

[default: <операторы>;]

}

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

Оператор выбора выполняется следующим образом:

  • вычисляется значение выражения селектора;

  • производится последовательный просмотр вариантов на предмет совпадения значения селектора с константными выражениями;

  • если для очередного варианта этот, поиск успешный, то выполняется оператор этого варианта, после чего выполняются все остальные ветви.

  • если все проверки оказались безуспешными, то выполняется оператор стоящий после слова default (при его наличии).