Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
denvasden
4 / 4 / 0
Регистрация: 25.10.2012
Сообщений: 104
#1

Цикл без тела - C++

12.02.2013, 14:12. Просмотров 1460. Ответов 10
Метки нет (Все метки)

Доброго всем дня!
Читаю книжку, раздел управляющие конструкции, и тут встречаю вот такое утверждение: "В некоторых программах даже встречается циклы без тела, в которых сразу после условия следует точка с запятой"
Пример не приведен.

Как может завершиться цикл, если нет тела благодаря которому меняется условие?
В каких случаях применяются такие циклы?

Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2013, 14:12     Цикл без тела
Посмотрите здесь:

Какое назначение может иметь в программе приведенный цикл без тела? - C++
for (t=0; t<SOME_VALUE; t++);

Цикл FOR без операторов - C++
Доброго дня! Столкнулся с такой вот задачей. Не смог понять, почему значение переменной 'a' стало 10 в итоге. #include<iostream> ...

Цикл for без указания шага - C++
Что будет делать цикл for, если не давать ему шаг? Объясните, пожалуйста. Пример кода: for (int i = 1; i < n;) if (arr <= arr)...

Как убрать цикл while, чтобы результат выводился без нажатия точки? - C++
char cKey_USER = 0; int iSumma = 0; while (cKey_USER != ' ') { cKey_USER = getchar(); if (GetLetter(cKey_USER) != 0) {...

Найти сумму цифр заданного числа без учёта последней цифры через цикл while - C++
У меня есть код программы: #include "stdafx.h" #include "stdio.h" void main() { int n,s; printf("n= \n"); scanf("%d",&n); ...

Нужно найти удельный вес твердого тела(любого): указывается название твердого тела, его удельный вес - C++
Напишите пожалуйста программу ( с комментариями по возможности ) Нужно найти удельный вес твердого тела(любого): указывается название...

Можете переписать код без указаетелей и без printf\scanf? - C++
#include <stdio.h> #include <time.h> #include <stdlib.h> #include <conio.h> int main() { srand((unsigned)time(NULL)); ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
12.02.2013, 14:22     Цикл без тела #2
Цитата Сообщение от denvasden Посмотреть сообщение
Как может завершиться цикл, если нет тела благодаря которому меняется условие?
в условии происходит изменение всего, что нужно
Цитата Сообщение от denvasden Посмотреть сообщение
В каких случаях применяются такие циклы?
Например, вот:
C++
1
2
3
4
5
6
7
#include <iostream>
int main(){
    char str[]=" My    str   in g   ";
    for(char *p1=str,*p2=str;*p2=*p1;p2+=(*(p1++)==' '?0:1));
    std::cout<<str<<std::endl;
    return 0;
}
denvasden
4 / 4 / 0
Регистрация: 25.10.2012
Сообщений: 104
12.02.2013, 14:23  [ТС]     Цикл без тела #3
Croessmah, забыл уточнить, что там речь шла о цикле while()
Art
152 / 152 / 35
Регистрация: 20.12.2011
Сообщений: 1,502
Завершенные тесты: 2
12.02.2013, 14:23     Цикл без тела #4
Возможно тут вы найдете ответ на свой вопрос (страница 131)
denvasden
4 / 4 / 0
Регистрация: 25.10.2012
Сообщений: 104
12.02.2013, 14:25  [ТС]     Цикл без тела #5
Art92, спасибо, читаю.
Art
152 / 152 / 35
Регистрация: 20.12.2011
Сообщений: 1,502
Завершенные тесты: 2
12.02.2013, 14:28     Цикл без тела #6
не за что
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
12.02.2013, 14:30     Цикл без тела #7
Цитата Сообщение от denvasden Посмотреть сообщение
Croessmah, забыл уточнить, что там речь шла о цикле while()
а разница? Вот Вам с while - копирование одной строки в другую:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
void Mystrcpy(char * dest,char * source){
    while(*(dest++)=*(source++));
}
 
 
int main(){
    char str1[]="My string";
    char str2[1024];
    Mystrcpy(str2,str1);
    std::cout<<str2<<std::endl;
    return 0;
}
denvasden
4 / 4 / 0
Регистрация: 25.10.2012
Сообщений: 104
12.02.2013, 14:32  [ТС]     Цикл без тела #8
Croessmah, изящно. спасибо)
СПП
25 / 25 / 2
Регистрация: 15.12.2012
Сообщений: 71
12.02.2013, 14:34     Цикл без тела #9
Цитата Сообщение от denvasden Посмотреть сообщение
В некоторых программах даже встречается циклы без тела, в которых сразу после условия следует точка с запятой
Цитата Сообщение от denvasden Посмотреть сообщение
точка с запятой
" ;; " - вот такой там символ подразумевается???
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
12.02.2013, 14:34     Цикл без тела #10
например создать таймер в отдельно выделенном потоке. завершится цикл тогда, когда поток будет "убит"
как сам таймер реализовать я не знаю
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2013, 14:36     Цикл без тела
Еще ссылки по теме:

Использование команды system(); Без всяких окон (без dos и т.д) - C++
Вообще реально сделать чтобы обратиться к системе в фоновом режиме. Без отрытия dos. Без всякой командной строки. Просто чтоб запускал...

Падение тела - C++
Промоделировать падение тела с заданными характеристиками (массой, формой) в различных вязких средах. Изучить влияние вязкости среды на...

Оператор for, без if (Напишите программу, суммирующую числа в указанном пользователем диапазоне, но без оператора if, который устанавливает границы) - C++
Напишите программу, суммирующую числа в указанном пользователем диапазоне, но без оператора if, который устанавливает верхнюю и нижнюю...

c++ Индекс массы тела - C++
Всем привет. сразу скажу что мой уровень знаний языков программирования практически 0 Пару дней назад начал читать книгу по c++ и вот...

Выход из тела цикла - C++
Имеется цикл: for(;;) for(;;) for(;;) for(;;) for(;;) cout&lt;&lt;2; Нужно выйти из его тела, используя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
denvasden
4 / 4 / 0
Регистрация: 25.10.2012
Сообщений: 104
12.02.2013, 14:36  [ТС]     Цикл без тела #11
СПП, там имелось в виду
while("выполнение нужных действий");
Yandex
Объявления
12.02.2013, 14:36     Цикл без тела
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru