SHARE
TWEET

Untitled

a guest Jun 19th, 2017 49 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Цикл:
  2. заголок // определяет тип цикла (do-while, while, for) и условия выполнения
  3. тело    // определяет, какие комманды будут выполняться пока условие цикла верно
  4.  
  5. Тело цикла может состоять из одной команды или несколькольких.
  6. Если команд больше одной, то они должныбыть объеденены в блок фигурными скобками:
  7.  
  8. // выведет числа и их квадраты
  9. for(int i=0;i<10;i++)
  10. {
  11.     qDebug() << i;    
  12.     qDebug() << i * i;
  13. }
  14.  
  15. // выведет числа
  16. for(int i=0; i<10; i++)
  17.     qDebug() << i;
  18. // и 1 раз квадрат последнего значения счётчика цикла. (возможна ошибка компиляции)
  19. qDebug() << i * i;
  20.  
  21.  
  22. Цикл for:
  23. for (A; B; C)
  24. for -- ключевое слово
  25. A -- Инициализация. Эта часть выполняется только 1 раз до начала цикла. Может содержать определение переменных и/или присваивание им значений. Переменные, определённые тут, видны в теле цикла и (обычно, зависит от компилятора) не видны снаружи. Эта часть может быть пропущена ( например: for(;a<0;a++)
  26. B -- Условие. Выполняется каждый раз ДО очередного выполнения тела цикла. Если условие истинно - тело цикла выполняется.
  27. Может быть простым сравнением с константой, например x < 10 или с переменной, например x < total. Условие может содержать несколько операций сравнения, объеденённых операциями && (и), || (или), !(не), например x < 10 && x > 2. Может быть пропущена -- тогда считается, что она вернула true и цикл будет выполняться вечно (из цикла можно будет выйти только командой break).
  28. С -- Изменнение. Выполняется каждый раз ПОСЛЕ очередного выполнения тела цикла. Обычно содержит операцию изменения счётчика цикла, например: for(int x=0; x<10; x=x+2 ). Может быть пропущена, тогда изменение счётчика должно производиться внутри самого тела цикла, например
  29. for(int x=0; x<10;)
  30. {
  31.     if (x>5)
  32.         x++;
  33.     else
  34.         x += 2;
  35. }  
  36.  
  37. for (условие)
  38.    одна_комманда;
  39.  
  40. for(условие)
  41. {
  42.   // несколько;
  43.   // комманд;
  44. }
  45.  
  46. // вложенный цикл
  47. for (условие)
  48. {
  49.   // комманда;
  50.   for(условие2)
  51.   {
  52.     //комманда
  53.   }
  54. }
  55.  
  56. for (условие)
  57. {
  58.   // комманда1;
  59.   for(условие2)
  60.   {
  61.     //комманда2
  62.     if(условие3)
  63.        break; // выйдет из внутреннего цикла, продолжит с комнады 3
  64.   }
  65.   // комманда 3;
  66. }
  67.  
  68. /*
  69. неправильные конструкции, которые скомпилируются без ошибок, но выполняют не то, что требовалось :
  70. */
  71. for(условие); // пустой цикл!!!!!!!
  72.  
  73. for(условие); // ПУСТОЙ  ЦИКЛ, ОШИБКА!
  74.    комманда;
RAW Paste Data
Top