Начнем с того, что программирование подразумевает не только логику и математическое мышление, еще нужно развивать и визуальное мышление, представление "объектов" в уме, рисовать их и представлять. Начнем с логических операциях:
Соединители логических условий:
&& — И,
|| — ИЛИ.
! — НЕ
Пример использования в условии IF:
#include <stdio.h>int main(void) {
int a = 5, b =10, c = 25, d = 100, result;
if (b > a)
printf("b > a\n");
if (a >= b || b <= c)
printf("a >= b OR b <= c\n");
if (a == c / a && (c % a) == 0) {
printf("c = a * a\n");
}
return 0;
}
Данная программа в результате выполнения напечатает следующее:
b > a
a >= b OR b <= c
c = a * a
Условные операторы
Пора познакомиться и с операторами позволяющими создавать условия. С одним вы уже познакомились выше — это условие IF («ЕСЛИ») которое выполняет следующую после него единственную строку кода или блок кода, если условие в круглых скобках верно.
У условия с IF имеется еще альтернативная форма IF-ELSE (ЕСЛИ-ИНАЧЕ) Пример:
b > a
a >= b OR b <= c
c = a * a
Условные операторы
Пора познакомиться и с операторами позволяющими создавать условия. С одним вы уже познакомились выше — это условие IF («ЕСЛИ») которое выполняет следующую после него единственную строку кода или блок кода, если условие в круглых скобках верно.
У условия с IF имеется еще альтернативная форма IF-ELSE (ЕСЛИ-ИНАЧЕ) Пример:
Код:
#include <stdio.h>
int main(void) {
int a = 5, b =10, c = 25, d = 100, result;
if (b > a) {
printf("b > a\n");
} else {
printf("b < a\n");
}
return 0;
}
А вот еще один пример, только на этой раз IF-ELSE IF-ELSE
Показываю на примере административных рангов:
Код:
" if(PlayerInfo[playerid][pAdmin] == 6) { arank = "{EF0A16}Revelation Developer 6lvl"; }
else if(PlayerInfo[playerid][pAdmin] == 5) { arank = "{137F11}Главный администратор 5lvl"; }
else if(PlayerInfo[playerid][pAdmin] == 4) { arank = "{790D67}Администратор сервера 4lvl"; }
else if(PlayerInfo[playerid][pAdmin] == 3) { arank = "{790D67}Администратор сервера 3lvl"; }
else if(PlayerInfo[playerid][pAdmin] == 2) { arank = "{2E68B9}Модератор 2lvl"; }
else if(PlayerInfo[playerid][pAdmin] == 1) { arank = "{2E68B9}Модератор 1lvl"; }
else { arank = "Администратор:"; }"
Последний пример позволяет выполнить только дно из нескольких действий (один из блоков кода), а следующие после этого действия проверки игнорируются. Так, если b > a, то проверка на то, равно ли b == a производиться не будет.
Другой способ создать проверку условия — это использовать конструкцию SWITCH-CASE-DEFAULT. Ниже приведен пример (Вырезал из мода)
Код:
switch(PlayerInfo[playerid][pLevel])
{
case 2..4:
{
SetPlayerPos(playerid,1202.4523,-1760.3716,13.5865);
SetPlayerFacingAngle(playerid, 92.374);
SetPlayerInterior(playerid,0);
return 1;
}
case 5..7:
{
SetPlayerPos(playerid,-1965.3966,137.4904,27.6875);
SetPlayerFacingAngle(playerid, 92.374);
SetPlayerInterior(playerid,0);
return 1;
}
case 8..100:
{
SetPlayerPos(playerid,2840.8250,1290.4175,11.3906);
SetPlayerFacingAngle(playerid, 92.374);
SetPlayerInterior(playerid,0);
return 1;
}
}
return 1;
}
Цикл WHILE
Писал сам,так как в моде показан сложный пример кода
#include <stdio.h>
int main(void) {
int a = 5, b = 10, c = 25, d = 100, result;
while (a <= d) {
if (a % 10 == 0)
printf("%d ", a);
a += 5;
}
printf("\n");
return 0;
}
Код:
#include <stdio.h>
int main(void) {
int a = 5, b = 10, c = 25, d = 100, result;
while (a <= d) {
if (a % 10 == 0)
printf("%d ", a);
a += 5;
}
printf("\n");
return 0;
}
Цыкл while принимает значение и выполняет блок кода до тех пор,пока значение остается верным.Мы обязаны каждый каждый раз увеличивать значение переменной a, которая фигурирует в условии, иначе мы получим бесконечный цикл.
И последний цыкл CONTINUE.Continue позволяет остановить только текущую итерацию и перейти к следующей. Пример:
#include <stdio.h>
#include <string.h>
int main(void) {
char str[100];
while (1) {
printf("Введите слово: ");
scanf("%s", str);
printf("\n");
if (strcmp(str, "exit") != 0) {
printf(">> %s\n", str);
} else {
continue;
/* выполнено не будет */
printf("bye!\n");
}
}
return 0;
}
Некоторые данные были взяты из методических указаний, принадлежащих Гомельскому государственному машиностроительному колледжу!
Последнее редактирование модератором: