- •Введение
- •Глава 1. Основы.
- •Int main()
- •1.2. Методика создания программ в Microsoft Visual Studio.
- •Void main(){
- •1.3. Ввод-вывод.
- •1.4. Переменные и константы.
- •Int I; // объявление целочисленной переменной
- •42 // Десятичная константа
- •0X42 // шестнадцатеричная константа, начинается с 0х
- •042 // Восьмеричная константа, начинается с 0
- •1.5. Арифметические операции.
- •Void main()
- •1.6. Встроенные функции. Математические функции. Состав math.H.
- •Void main()
- •Int rand(void); // функция используется без аргумента
- •Глава 2. Операторы и выражения.
- •2.1. Логические выражения и операторы
- •2.1.1. Оператор if else
- •If (условие)
- •If (условие)
- •2.1.2. Конструкция if else if
- •Int number;
- •Int number;
- •2.1.3. Условный оператор.
- •2.1.4. Оператор switch.
- •Int dvalue;
- •2.2. Операторы цикла.
- •2.2.1. Оператор for
- •Void main()
- •Int I; // создаем переменную цикла
- •Void main()
- •Int I; // переменную цикла можно определить и вне цикла
- •2.2.2. Изменение шага цикла
- •Void main()
- •2.2.3. Цикл while.
- •2.2.4. Цикл do while
- •Void main()
- •2.3. Операторы break и continue
- •Void main()
- •Void main()
- •2.4. Типичные ошибки при использовании операторов цикла
- •Глава 3. Производные типы данных.
- •3.1. Ссылки и указатели.
- •Int test; // объявили целочисленную переменную
- •Int & s_test; // ошибка! ссылка не связана с переменной
- •Int *p1; // объявлен указатель на целое с именем p1
- •3.2. Массивы и строки.
- •Int z[10]; //массив из 10 целых чисел
- •Int ar[3]; // объявлен целочисленный массив из 3 элементов
- •Int varr[4]; // объявление массива
- •3.2.2. Многомерные массивы.
- •Int z[3][4]; //массив из 12 целых чисел
- •3.2.3. Строки
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •If(strstr(st,st2)) //если подстрока встречается, выводим
- •3.1.5. Динамическое определение одномерных массивов.
- •3.1.6. Динамические двумерные массивы.
- •3.1.7. Указатели, массивы и арифметика указателей.
- •Int tacs[3];
- •Void main()
- •3.2. Структуры
- •Int age; // элементы структуры
- •Int hours;
- •Int mins;
- •Void main()
- •Int hours;
- •Int mins;
- •Void main()
- •4. Функции, определяемые пользователем
- •4.1. Объявление и определение функции
- •Int max(int , int ); // в прототипе достаточно указать только тип и
- •Void main() {
- •Int MyRand(){
- •Int func(){ return 1;} // правильное выражение
- •Int func2(){return 0.146;} // неправильно, 0.146 преобразуется к int с
- •Void swap(int p, int q)
- •Int bigger(int a,int b)
- •4.2. Передача параметров функций
- •5. Заголовочные файлы.
- •6. Работа с файлами
- •6.1 Простой файловый ввод/вывод
- •6.2 Тонкости работы с файлами
- •7.1. Определение классов.
- •Void main()
- •7.2. Как объявлять функции класса?
- •7.3. Конструкторы и деструкторы классов.
- •8. Графика OpenGl.
- •Void callback Draw()
- •Void main()
- •8.1. Создание анимации с помощью библиотеки xgl
- •Приложения Управление выводом
- •Управление шириной вывода
Int rand(void); // функция используется без аргумента
Для использования этой функции необходимо подключить заголовочный файл stdlib.h.
Контрольные вопросы. А.
Глава 2. Операторы и выражения.
Любое выражение может быть преобразовано к оператору, добавлением к нему точки с запятой. ; ‑ пустой оператор.
2.1. Логические выражения и операторы
В С++ определены следующие операции сравнения:
< (меньше), > (больше), <= (меньше или равно), >= (больше или равно);
и логические операторы: || (или), && (и), !(не), = = (логическое равенство), а также их комбинации: != (не равно).
Примеры:
a==b; // не напишите a=b. Типичная ошибка!
a!=b;
a>3 && a<10; // a>3 и a<10
Каждая логическая операция, в случае выполнения условия, возвращает значение 1, что эквивалентно в С++ логическому значению истина, или 0 (соответствует значению ложь).
Логические операции используются в операторах ветвления, без применения которых невозможно организовать эффективное выполнение программы. Язык C++ использует два типа операторов ветвления – это if ( или if-else) и switch-case.
2.1.1. Оператор if else
Оператор if-else имеют следующий синтаксис:
If (условие)
оператор1;
else
оператор2;
Если условие истинно, (т.е. отлично от 0), то выполняется оператор1; иначе выполняется оператор2.
// пример:
if(a != 0) // если a не равно нулю
c=b/a; // выполняем какие-то действия...
else // иначе:
cout<<”error!”;// выводим сообщение об ошибке
Возможна более простая конструкция оператора, без else:
If (условие)
оператор1;
оператор2;
В этом случае, если условие ложно, сразу выполняется следующий за if оператор2.
// пример
if(chSym != 'y') return; // если chSym не равно ‘y’, то выполняем
// оператор return
При помощи фигурных скобок можно объединить выполнение нескольких операторов:
// пример:
if(var1 == 0 && var2 > 0) // если var1 равно нулю И var2 больше нуля, то:
{
var1=10;
var2=var1/2;
cout<<var2; // выполняем какие-то действия...
}
else
{
var1=1;
var2=1; // выполняем другие действия...
}
Обратите внимание на форматирующие отступы, которые помогают более наглядно представить логику программы, хотя и безразличны для компилятора.
Как уже упоминалось, операция сравнения возвращает значение 1 или 0, что в С++ соответствует значению истина или ложь. Поэтому первый пример можно переписать эквивалентным, хотя и менее наглядным способом:
if( !var1 && var2>0) // если var1 равно нулю И var2 больше нуля, то:
{
… // выполняем какие-то действия...
}
else{ // иначе:
… // выполняем другие действия...
}
Иногда логические условия требуются составить из нескольких частей. Например, определить делится ли введенное число на 3 и лежит в диапазоне от 10 до 100:
int i;
cin>>i; //ввод значения с клавиатуры
if (((i>= 10) && (i<= 100))&&(i%3==0))
cout<<i<<endl;
else
cout<<”error”;
Так как приведенные условия должны выполняться одновременно, в листинге используется логический оператор И - &&. Обратите внимание на группирующие скобки, которые настоятельно рекомендую использовать для определения приоритета выполнения логических операций.