Освой самостоятельно С++ за 21 день.
Шрифт:
День 1
Контрольные вопросы
1. В чем разница между интерпретаторами и компиляторами?
Интерпретаторы считывают исходный код программы строка за строкой и преобразуют его непосредственно в машинные команды. Компиляторы преобразуют код источника в исполняемую программу, которая может быть выполнена в более позднее время.
2. Как происходит компиляция исходного кода программы?
Каждый
3. В чем состоит назначение компоновщика?
Задача компоновщика — связать скомпилированный код программы с элементами, взятыми из стандартных библиотек, предоставленных фирмой — изготовителем компилятора, и другими источниками. Компоновщик позволяет формировать отдельные модули программы, а затем соединять эти части в одну большую программу.
4. Какова обычная последовательность действий в цикле разработки?
Редактирование исходного кода, компиляция, компоновка, тестирование, повторение перечисленных выше действий.
Упражнения
1. Инициализирует две целочисленные переменные, а затем выводит их сумму и произведение.
2. Ознакомьтесь с документацией, которая прилагается к вашему компилятору.
3. В первой строке перед словом include нужно поместить символ #.
4. Эта программа выводит на экран слова Hello World, которые завершаются символом разрыва строки.
День 2
Контрольные вопросы
1. В чем разница между компилятором и препроцессором?
При каждом запуске компилятора первым запускается препроцессор. Он читает исходный код и включает указанные вами файлы, а также выполняет другие вспомогательные операции. Подробно функции препроцессора рассматриваются на занятии 18.
2. В чем состоит особенность функции main?
Функция main вызывается автоматически при каждом выполнении программы.
3. Какие два типа комментариев вы знаете и чем они отличаются друг от друга?
Строки комментариев в стиле C++ задаются двумя символами слеша (//), которые блокируют любой текст до конца текущей строки. Комментарии в стиле языка С заключаются в пары символов (/* */), и все, что находится между этими символами, блокируется от выполнения компилятором. Следует внимательно отнестись к использованию пар символов комментариев, чтобы не заблокировать целый блок программы.
4. Могут ли комментарии быть вложенными?
Да, комментарии в стиле C++ могут быть вложены внутрь комментариев в стиле С. Можно также комментарии в стиле С вкладывать внутрь комментариев в стиле C++, но при этом следует помнить, что комментарии в стиле C++ заканчиваются в конце текущей строки.
5. Могут ли комментарии занимать несколько строк?
Это позволено лишь комментариям в стиле С. Если же вы хотите продолжить на следующей строке комментарии в стиле C++, необходимо поставить в начале второй строки еще одну пару символов (//).
Упражнения
1. Напишите программу, которая выводит на экран сообщение I love C++.
1: #include <iostream.h>
2:
3: int main
4: {
5: cout << "I love C++\n";
6: return 0;
7: }
2. Напишите самую маленькую программу, которую можно скомпилировать, скомпоновать и выполнить.
int main { returna 0; }
3. Жучки: введите эту программу и скомпилируйте ее. Почему она дает сбой? Как ее можно исправить?
1: #include <iostream.h>
2: int main
3: {
4: cout << Is there a bug here?";
5: return 0;
6: }
В строке 4 пропущена открывающая кавычка для строкового выражения.
4. Исправьте ошибку в упражнении 3, после чего перекомпилируйте ее, скомпонуйте и запустите на выполнение.
1: #include <iostream.h>
2: int main
3: {
4: cout << " Is there а bug fiere?";
5: return 0;
6: }
День 3
Контрольные вопросы
1. В чем разница между целочисленной и вещественной (с плавающей точкой) переменными?
Целочисленные переменные предназначены для работы с целыми числами, а вещественные — с вещественными числами, содержащими плавающую десятичную точку. Числа с плавающей точкой могут быть представлены с использованием мантиссы и экспоненты.
2. Каково различие между типами unsigned short int и long int?
Ключевое слово unsigned означает, что данная целочисленная переменная будет содержать только положительные числа. В большинстве компьютеров для коротких (short) целых чисел отводится 2 байта, а для длинных (long) — 4 байта.
3. Каковы преимущества использования символьной константы вместо литерала? Символьная константа "говорит сама за себя", т.е. само имя константы указывает на ее назначение. Кроме того, при внесении изменений символьную константу достаточно переопределить в одной строке исходного кода, в то время как при использовании литералов программисту придется редактировать код всюду, где встречается этот литерал.
4. Каковы преимущества использования ключевого слова const вместо директивы #define?