- •Компилятор — программа, транслирующая исходный (высокоуровневый) код программы в конечный (низкоуровневый) код.
- •Типы ошибок компиляции:
- •Ошибки компоновщика
- •Struct { int x; int y; } myStruct; код создаст переменную, MyStruct, с
- •Большинство сообщений от компилятора будет состоять как минимум из четырех вещей:
- •Обработка непонятных или странных сообщений
- •Ошибки компоновщика
- •Ошибки компоновщика
- •Ошибки компоновщика
- •Выбор компиляторов (IDE)
- •if(условие) инструкция;
- •// Эта программа демонстрирует использование if-инструкции.
- •for(инициализация; условие; инкремент) инструкция;
- •Блок — это логически связанная группа
- •// Программа демонстрирует использование блока
- •Формальный параметр — это локальная переменная,
- •Модификаторы типов
- •Переменные типа char можно использовать не
- •Литералы
- •Чтобы использовать двубайтовый символьный
- •Целочисленные константы задаются как числа без
- •Шестнадцатеричный литерал должен начинаться с
- •Строковые литералы
- •Управляющие символьные последовательности
- •Инициализация переменных
- •Глобальные переменные инициализируются только в
- •Операторы
- •Инкремент и декремент
- •Операторы отношений и логические операторы
- •Выражения
- •Преобразование типов в выражениях
- •Приведение типов
- •Использование пробелов и круглых скобок
- •if(выражение)
- •Нуль автоматически преобразуется в false, а все
- •// Программа "Угадай магическое число":
- •Конструкция if-else-if
- •Итак, общий формат записи цикла for для
- •для управления циклом for можно использовать
- •цикл будет выполняться до тех пор, пока
- •Цикл, который должен выполняться до тех пор,
- •Бесконечный цикл — это цикл, который никогда не
- •В программах часто используются так называемые
- •Инструкция switch — это инструкция
- •■Инструкция switch отличается от инструкции if
- •int main()
- •Инструкция while — еще один способ организации
- •Тело while-цикла может вообще не содержать ни
- •Цикл do-while — это единственный цикл, который
- •В следующей программе цикл do-while выполняется
- •Инструкция continue позволяет немедленно
- •Инструкция break позволяет немедленно выйти из
- •По нажатию клавиши выполнение цикла
- •Инструкция break приводит к выходу из самого внутреннего цикла. Рассмотрим пример.
- •Иногда инструкцию goto стоит использовать для
Тело while-цикла может вообще не содержать ни
одной инструкции. Вот пример:
while(rand() != 100);
Этот цикл выполняется до тех пор, пока
случайное число, генерируемое функцией rand(),
не окажется равным числу 100.
Цикл do-while — это единственный цикл, который
всегда делает итерацию хотя бы один раз.
В отличие от циклов for и while, в которых условие проверяется при входе, цикл do-while
проверяет условие при выходе из цикла. Это
значит, что цикл do-while всегда выполняется
хотя бы один раз.
Его общий формат имеет такой вид. do
{
инструкции;
}
while(выражение);
В следующей программе цикл do-while выполняется
до тех пор, пока пользователь не введет число
100.
#include <iostream> using namespace std; int main()
{
int num;
do
{
cout << "Введите число (100 - для выхода):
";
cin >> num;
}
while(num != 100);return 0;
}
Инструкция continue позволяет немедленно
перейти к выполнению следующей итерации цикла.
В C++ существует средство "досрочного" выхода из текущей итерации цикла. Этим средством
является инструкция continue. Она принудительно
выполняет переход к следующей итерации, опуская
выполнение оставшегося кода в текущей.
#include <iostream> using namespace std; int main()
{
int x;
for(x=0; x<=100; x++) {if(x%2) continue;
cout << x << ' ';
}
return 0;
}
Инструкция break позволяет немедленно выйти из
цикла.
При обнаружении внутри цикла инструкции break цикл завершается, а управление передается
инструкции, следующей, после цикла.
#include <iostream> using namespace std; int main()
{
int t;
// Цикл работает для значений t от 0 до 9, а не
до 100!
for(t=0; t<100; t++) {
if(t==10) break;
cout << t <<' ';
}
return 0;
}
По нажатию клавиши выполнение цикла
останавливается.
for(i=0; i<1000; i++) {
// Какие-то действия.
if(kbhit()) break;
}
Инструкция break приводит к выходу из самого внутреннего цикла. Рассмотрим пример.
#include <iostream> using namespace std; int main()
{
int t, count;
for(t=0; t<100; t++) {count = 1;
for(;;) {
cout << count << ' ';
count++;
if(count==10) break;
}
cout << '\n';
}
return 0;
}
В C++ разрешено использовать до 256 уровней вложения. Вложенные циклы используются для решения задач самого разного профиля. Например, в следующей программе вложенный цикл for позволяет найти простые числа в диапазоне от 2 до 1000.
/* Эта программа выводит простые числа, найденные в диапазоне от 2 до 1000.
#include <iostream> using namespace std; int main()
{
int i, j;
for(i=2; i<1000; i++) {for(j=2; j<=(i/j); j++)
if(!(i%j)) break; // Если число имеет множитель,
значит, оно не простое.
if(j > (i/j)) cout << i << " - простое число\n";
}
return 0;
}
Инструкция goto — это С++-инструкция
безусловного перехода.
Метка — это идентификатор, за которым стоит двоеточие.
Например, с помощью инструкции goto и метки
можно организовать следующий цикл на 100
итераций.
х = 1;
loop1:
х++;
if(х < 100) goto loop1;
Иногда инструкцию goto стоит использовать для
выхода из глубоко вложенных инструкций цикла.
Рассмотрим следующий фрагмент кода.
for(...)
{
for(...)
{
while(...)
{
if(...) goto stop;
}}
}
stop:
cout << "Ошибка в программе.\n";