- •9. Понятие управляющей последовательности символов (escape-последовательность). Назначение. Примеры использования.
- •26. Операторы передачи управления. Пример.
- •Оператор безусловного перехода
- •27. Структурированные операторы. Оператор цикла с предусловием. Пример.
- •Прототип функции
- •Вызов функции
- •35. Получение нескольких результатов в функциях. Пример.
- •Объявление одномерного массива:
- •Передача массивов в качестве параметров функции
- •Сортировка методом выбора
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 |
В |
Вертикальная табуляция |
\\ |
5С |
Обратная косая черта |
\‘ |
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 (при его наличии).