3 оператора
Функции: операции, используемые для выполнения кода
В этой главе мы в основном объясняем следующие типы операторов:
Тип оператора Функция
Арифметические операторы используются для обработки четырех арифметических операций
Операторы присваивания используются для присвоения значения выражения переменной
Используются операторы сравнения в выражениях и возвращают истинное или ложное значение
Логические операторы используются для возврата истинного или ложного значения в зависимости от значения выражения
3.1 Арифметические операторы
Функция: используется для обработки четырех арифметических
операций К арифметическим операторам относятся следующие
символьные операторы . - 5 5 //
Умножение на 10 * 5 50
/// Деление на 10 / 5 2
//% Модуль (остаток) 10 % 3 1
//++ Предварительное приращение a=2;b=++a;a= 3; b=3;
//++ постинкремент a=2; b=a++; a=3; b=2;
//– предекремент a=2; b=–a; a=1; b= 1;
//– постдекремент a=2; b=a–; a=1; b=2; *
Пример 1:
//加减乘除
int main()
{
int a1 = 10;
int b1 = 3;
cout << a1 + b1 << endl;
cout << a1 - b1 << endl;
cout << a1 * b1 << endl;
cout << a1 / b1 << endl; //两个整数相除结果依然是整数
int a2 = 10;
int b2 = 20;
cout << a2 / b2 << endl;
int a3 = 10;
int b3 = 0;
//cout << a3 / b3 << endl; //报错,除数不可以为0
//两个小数可以相除
double d1 = 0.5;
double d2 = 0.25;
cout << d1 / d2 << endl;
system("pause");
return 0;
}
Резюме: в операции деления делитель не может быть равен 0.
Пример 2:
//取模
int main()
{
int a1 = 10;
int b1 = 3;
cout << 10 % 3 << endl;
int a2 = 10;
int b2 = 20;
cout << a2 % b2 << endl;
int a3 = 10;
int b3 = 0;
//cout << a3 % b3 << endl; //取模运算时,除数也不能为0
//两个小数不可以取模
double d1 = 3.14;
double d2 = 1.1;
//cout << d1 % d2 << endl;
system("pause");
return 0;
}
Резюме: Только целочисленные переменные могут выполнять операции по модулю
Пример 3:
//递增
int main()
{
//后置递增
int a = 10;
a++; //等价于a = a + 1
cout << a << endl; // 11
//前置递增
int b = 10;
++b;
cout << b << endl; // 11
//区别
//前置递增先对变量进行++,再计算表达式
int a2 = 10;
int b2 = ++a2 * 10;
cout << b2 << endl;
//后置递增先计算表达式,后对变量进行++
int a3 = 10;
int b3 = a3++ * 10;
cout << b3 << endl;
system("pause");
return 0;
}
Резюме: Преинкремент сначала выполняет ++ над переменной, а затем вычисляет выражение, а постинкремент наоборот
3.2 Операторы присваивания
Функция: Используется для присваивания значения выражения переменной.Оператор
присваивания включает следующие символы: оператор
термин пример результат
= присваивание a=2; b=3; a=2; b=3;
+= plus is равно а=0;а+=2;а=2;
-=вычитание равно а=5;а-=3;а=2;
=умножение равно а=2;а =2;а=4;
/= деление равно а=4; а/=2; а=2;
%= по модулю равно а=3; а%2; а=1;
Пример:
int main()
{
//赋值运算符
// =
int a = 10;
a = 100;
cout << "a = " << a << endl;
// +=
a = 10;
a += 2; // a = a + 2;
cout << "a = " << a << endl;
// -=
a = 10;
a -= 2; // a = a - 2
cout << "a = " << a << endl;
// *=
a = 10;
a *= 2; // a = a * 2
cout << "a = " << a << endl;
// /=
a = 10;
a /= 2; // a = a / 2;
cout << "a = " << a << endl;
// %=
a = 10;
a %= 2; // a = a % 2;
cout << "a = " << a << endl;
system("pause");
return 0;
}
3.3 Операторы сравнения
Функция: используется для сравнения выражений и возврата истинного или ложного значения.
Операторы сравнения имеют следующие символы:
оператор термин пример результат
//== равно 4 == 3 0
//!= не равно 4 != 3 1
/ /< меньше 4 < 3 0
///> больше 4 > 3 1
//<= меньше или равно 4 <= 3 0
//>= больше или равно 4 >= 1 1
Пример:
int main()
{
int a = 10;
int b = 20;
cout << (a == b) << endl; // 0
cout << (a != b) << endl; // 1
cout << (a > b) << endl; // 0
cout << (a < b) << endl; // 1
cout << (a >= b) << endl; // 0
cout << (a <= b) << endl; // 1
system("pause");
return 0;
}
Примечание. В операции сравнения языков C и C++ «истина» представлена цифрой «1», а «ложь» представлена цифрой «0».
3.4 Логические операторы
Роль: используется для возврата истинного или ложного значения на основе значения выражения.
Логические операторы имеют следующие символы:
оператор термин пример результат
!не !а если ложно, то !а истинно, если истина, то ! ложный.
&& с a && b Результат истинен, если и a, и b истинны, и ложен в противном случае.
|| или a || b Если либо a, либо b истинны, результат верен, а когда оба ложны, результат ложен
Пример 1: Логическое НЕ
//逻辑运算符 --- 非
int main()
{
int a = 10;
cout << !a << endl; // 0
cout << !!a << endl; // 1
system("pause");
return 0;
}
Резюме: Верно в Ложь, Ложь в Истину
Пример 2: Логическое И
//逻辑运算符 --- 与
int main()
{
int a = 10;
int b = 10;
cout << (a && b) << endl;// 1
a = 10;
b = 0;
cout << (a && b) << endl;// 0
a = 0;
b = 0;
cout << (a && b) << endl;// 0
system("pause");
return 0;
}
Резюме: Логический оператор И. Резюме: То же самое верно, остальные ложны
Пример 3: Логическое или
//逻辑运算符 --- 或
int main()
{
int a = 10;
int b = 10;
cout << (a || b) << endl;// 1
a = 10;
b = 0;
cout << (a || b) << endl;// 1
a = 0;
b = 0;
cout << (a || b) << endl;// 0
system("pause");
return 0;
}
Резюме логического оператора ИЛИ: одно и то же ложно ложно, остальное верно
4 Структура программы
C/C++ поддерживает самые основные три структуры программных операций: структура последовательности, структура выбора и структура цикла. Структура
последовательности: программа выполняется по порядку без переходов.
Структура выбора: в зависимости от того, выполняются ли условия, соответствующая функция выполняется выборочно.
Цикл структура: В зависимости от того, вкодопределенный
выполнить,условиевыполнено
Оператор: if (условие) {оператор выполняется, если условие выполнено} Пример:
int main()
{
//选择结构-单行if语句
//输入一个分数,如果分数大于600分,视为考上一本大学,并在屏幕上打印
int score = 0;
cout << "请输入一个分数:" << endl;
cin >> score;
cout << "您输入的分数为: " << score << endl;
//if语句
//注意事项,在if判断语句后面,不要加分号
if (score > 600)
{
cout << "我考上了一本大学!!!" << endl;
}
system("pause");
return 0;
}
Примечание: не добавляйте точку с запятой после условного выражения if
Многострочный формат if оператор: if (условие) { оператор, который будет выполнен, если условие выполнено} else{ оператор, который будет выполнен, если условие не выполнено}
Пример :
int main()
{
int score = 0;
cout << "请输入考试分数:" << endl;
cin >> score
if (score > 600)
{
cout << "我考上了一本大学" << endl;
}
else
{
cout << "我未考上一本大学" << endl;
}
system("pause");
return 0;
}
Оператор if с несколькими условиями: if (условие 1) {условие 1 удовлетворяет выполненному оператору}else if(условие 2){условие 2 удовлетворяет выполняемому оператору}... else{ни одно из условий не удовлетворяет выполняемому оператору} Пример:
Пример
:
int main()
{
int score = 0;
cout << "请输入考试分数:" << endl;
cin >> score;
if (score > 600)
{
cout << "我考上了一本大学" << endl;
}
else if (score > 500)
{
cout << "我考上了二本大学" << endl;
}
else if (score > 400)
{
cout << "我考上了三本大学" << endl;
}
else
{
cout << "我未考上本科" << endl;
}
system("pause");
return 0;
}
Вложенный оператор if: в операторе if оператор if может быть вложен для достижения более точного условного суждения
Пример:
int main()
{
int score = 0;
cout << "请输入考试分数:" << endl;
cin >> score;
if (score > 600)
{
cout << "我考上了一本大学" << endl;
if (score > 700)
{
cout << "我考上了北大" << endl;
}
else if (score > 650)
{
cout << "我考上了清华" << endl;
}
else
{
cout << "我考上了人大" << endl;
}
}
else if (score > 500)
{
cout << "我考上了二本大学" << endl;
}
else if (score > 400)
{
cout << "我考上了三本大学" << endl;
}
else
{
cout << "我未考上本科" << endl;
}
system("pause");
return 0;
}
4.1.2 Функция тернарного оператора
: Реализовать простое суждение через тернарный оператор Синтаксис
: выражение 1 - выражение 2:
Объяснение выражения 3:
Если значение выражения 1 истинно, выполнить выражение 2 и вернуть выражение Результат выражения 2,
если значение выражения 1 равно false, выполнить выражение 3 и вернуть результат выражения 3.
Пример:
int main()
{
int a = 10;
int b = 20;
int c = 0;
c = a > b ? a : b;
cout << "c = " << c << endl;
//C++中三目运算符返回的是变量,可以继续赋值
(a > b ? a : b) = 100;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
cout << "c = " << c << endl;
system("pause");
return 0;
}
Резюме: По сравнению с оператором if преимущество тернарного оператора заключается в том, что он короткий и аккуратный Недостаток заключается в том, что если он вложен, его структура не ясна Оператор Switch Функция: Выполнение оператора перехода с несколькими
условиями
Синтаксис
:
switch(表达式)
{
case 结果1:执行语句;break;
case 结果2:执行语句;break;
...
default:执行语句;break;
}
Пример:
int main()
{
//请给电影评分
//10 ~ 9 经典
// 8 ~ 7 非常好
// 6 ~ 5 一般
// 5分以下 烂片
int score = 0;
cout << "请给电影打分" << endl;
cin >> score;
switch (score)
{
case 10:
case 9:
cout << "经典" << endl;
break;
case 8:
cout << "非常好" << endl;
break;
case 7:
case 6:
cout << "一般" << endl;
break;
default:
cout << "烂片" << endl;
break;
}
system("pause");
return 0;
}
Примечание 1. Тип выражения в операторе switch может быть только целым числом или символом.
Примечание 2. Если в case нет разрыва, то программа будет продолжать выполняться вниз.
Резюме: По сравнению с оператором if структура переключателя ясно при оценке нескольких условий, эффективность выполнения высока, недостатком является то, что переключатель не может оценить интервал
4.2 Структура цикла
4.2.1 Оператор цикла while Функция
: выполнить оператор цикла, если выполнено условие цикла
Синтаксис: while (условие цикла){ оператор цикла}
Объяснение: Пока результат условия цикла верен, выполнить оператор цикла
Пример:
int main()
{
int num = 0;
while (num < 10)
{
cout << "num = " << num << endl;
num++;
}
system("pause");
return 0;
}
Примечание. При выполнении оператора цикла программа должна предоставлять оператор цикла
4.2.2 do...while, который выходит из
цикла Функция: Удовлетворить условию цикла, выполнить оператор цикла
Синтаксис: условие);
Примечание: отличие от while Причина в том, что do...while сначала выполнит оператор цикла, а затем определит условие цикла.
Пример:
int main()
{
int num = 0;
do
{
cout << num << endl;
num++;
} while (num < 10);
system("pause");
return 0;
}
Резюме: Отличие от цикла while заключается в том, что do...while выполняет оператор цикла один раз, а затем оценивает условие цикла
4.2.3 для оператора цикла . Функция
: Удовлетворяет условию цикла, выполняет оператор цикла.
; выражение условия; конец тела цикла) { оператор цикла; }
Пример:
int main()
{
for (int i = 0; i < 10; i++)
{
cout << i << endl;
}
system("pause");
return 0;
}
Примечание: Выражения в цикле for должны быть разделены точкой с запятой.Обзор
: while, do…while и for — все это часто используемые операторы цикла в разработке.Структура цикла for относительно ясна, и он используется чаще.
4.2.4
Пример вложенного цикла:
int main()
{
//外层循环执行1次,内层循环执行1轮
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
cout << "*" << " ";
}
cout << endl;
}
system("pause");
return 0;
}
# 4.3 Оператор перехода
4.3.1 Оператор break
Функция: Используется для выхода из структуры выбора или структуры цикла
Когда использовать break:
появляется в условном операторе switch, функция заключается в завершении случая и выходе из switch
Появляется в оператор цикла, функция состоит в том, чтобы выйти из текущего оператора цикла Операторы цикла
появляются во вложенных циклах, выходя из ближайшего оператора внутреннего цикла
Пример 1:
int main()
{
//1、在switch 语句中使用break
cout << "请选择您挑战副本的难度:" << endl;
cout << "1、普通" << endl;
cout << "2、中等" << endl;
cout << "3、困难" << endl;
int num = 0;
cin >> num;
switch (num)
{
case 1:
cout << "您选择的是普通难度" << endl;
break;
case 2:
cout << "您选择的是中等难度" << endl;
break;
case 3:
cout << "您选择的是困难难度" << endl;
break;
}
system("pause");
return 0;
}
Пример 2:
int main()
{
//2、在循环语句中用break
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break; //跳出循环语句
}
cout << i << endl;
}
system("pause");
return 0;
}
Пример 3:
int main()
{
//在嵌套循环语句中使用break,退出内层循环
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (j == 5)
{
break;
}
cout << "*" << " ";
}
cout << endl;
}
system("pause");
return 0;
}
4.3.2 Оператор Continue Функция
: В операторе цикла пропустить оставшиеся невыполненные операторы в этом цикле и продолжить выполнение следующего цикла
Пример:
int main()
{
for (int i = 0; i < 100; i++)
{
if (i % 2 == 0)
{
continue;
}
cout << i << endl;
}
system("pause");
return 0;
}
Примечание: continue не прерывает весь цикл, но break выходит из цикла
4.3.3 Оператор goto
Функция: Вы можете безоговорочно перейти к оператору Синтаксис
: тег goto
Объяснение: Если имя тега существует, когда оператор goto выполняется, он перейдет к отмеченному местоположению
. Пример:
int main()
{
cout << "1" << endl;
goto FLAG;
cout << "2" << endl;
cout << "3" << endl;
cout << "4" << endl;
FLAG:
cout << "5" << endl;
system("pause");
return 0;
}
Примечание: Не рекомендуется использовать оператор goto в программе, чтобы не вызвать путаницы в ходе выполнения программы
Конец этой главы!