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

Мое знакомство с циклами в С++ - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
10.12.2011, 21:06     Мое знакомство с циклами в С++ #1
Доброго времени суток! Свое знакомства с языками начал с Pascal , достаточно неплохо там освоился, вот теперь решил попробовать себя на СИ . и у меня уже серьезные проблемы с синтаксисом. Пока никак не могу перестроиться. Вот например возьмем синтаксис цикла. кусок моей ознакомительной, бесполезной программы, которая по причине моей криворукости не компилируется
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
   int nord;
   char massiv[100];
    int k;
int main()
{
 
 while (nord<100)
 {
 if massiv [nord]<>"0"
 k=k+1;
 ++nord;
  }
 
system("PAUSE");
return 0;  
}
(написано на DEV-C++)
по моей идеи, она должна считать количество не нулей в массиве чаровском.
по моим представлениям о си, вместо привычного для меня бегина и энда в циклах си должны использоваться открывающиеся и закрывающиеся скобочки. А в условие IF нужно ли их использовать?
в многих мануалах видел такую штуку типа endl. Для чего она нужна, если есть скобочки? а синтаксис фора так же должен включать в себя скобочки? если не трудно, прошу растолковать мне как в СИ машина должна понимать начало и конец цикла или условия.
Заранее спасибо и извиняюсь если слишком глупый или часто задаваемый вопрос.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2011, 21:06     Мое знакомство с циклами в С++
Посмотрите здесь:

C++ 3 зaдaчи с циклами
Знакомство со стеком C++
Мое проклятие с vs C++
C++ вот мое задание. Можете с ним помо*ь? Очень надо
C++ Знакомство с классами, попытка реализации класса матриц
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2011, 17:14     Мое знакомство с циклами в С++ #21
длина строки
C++
1
std::cout<<strlen (s);
Ввод
C
1
2
fflush (stdin);
gets (s);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
11.12.2011, 17:36     Мое знакомство с циклами в С++ #22
Цитата Сообщение от go Посмотреть сообщение
C
1
2
fflush (stdin);
gets (s);
fflush(stdin) - это undefined behaviour.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2011, 17:50     Мое знакомство с циклами в С++ #23
Somebody, я знаю, но в компиляторах под виндовс (в студии например, в билдере) все нормально работает
Так вообще ignore лучше
Да и в конце концов,
C
1
void main ()
Это тоже undefined behavior
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
11.12.2011, 21:05  [ТС]     Мое знакомство с циклами в С++ #24
Цитата Сообщение от go Посмотреть сообщение
std::cout<<strlen (s);
очень сильно ругается на эту строчку. parse error before `::'
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2011, 21:16     Мое знакомство с циклами в С++ #25
doctorclo, не может быть
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <Windows.h>
 
int main(int argc, char* argv[])
{
    char * s = "qwerty" ;
 
    std::cout<<strlen(s);
    std::cout<<std::endl;
 
    system ("pause");
    return 0;
}
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
11.12.2011, 21:29  [ТС]     Мое знакомство с циклами в С++ #26
я тоже так думал, но ругается
implicit declaration of function `int system(...)'
я склоняюсь к мнению, что мой Dev-C++ просто сумасшедший.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2011, 21:38     Мое знакомство с циклами в С++ #27
doctorclo, http://liveworkspace.org/code/7371d9...6cb66823778c93
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cstring>
 
int main(int argc, char* argv[])
{
        char *s =  "qwerty"  ;
 
        std::cout<<strlen(s);
 
        return 0;
}
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
11.12.2011, 22:22  [ТС]     Мое знакомство с циклами в С++ #28
Цитата Сообщение от go Посмотреть сообщение
std:
если не трудно, не могли бы объяснить, что означает эта вещь?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2011, 22:40     Мое знакомство с циклами в С++ #29
doctorclo, пространство имен
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
11.12.2011, 23:24  [ТС]     Мое знакомство с циклами в С++ #30
а вы не могли бы сказать, какой из компиляторов для C++ лучше выбрать начинающему,чтобы потом не заморачиваться по этому поводу?
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
11.12.2011, 23:26     Мое знакомство с циклами в С++ #31
Цитата Сообщение от go Посмотреть сообщение
Да и в конце концов,
C
1
void main ()
Это тоже undefined behavior
Это не undefined behaviour, это (если C99) то ли ошибка компиляции
The function called at program startup is named main. The implementation declares no
prototype for this function. It shall be defined with a return type of int...
то ли unspecified behaviour
If the return type is not compatible with int, the
termination status returned to the host environment is unspecified.
- всё же не undefined.
Цитата Сообщение от doctorclo Посмотреть сообщение
implicit declaration of function `int system(...)'
system находится в cstdlib.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2011, 23:42     Мое знакомство с циклами в С++ #32
Цитата Сообщение от Somebody Посмотреть сообщение
Это не undefined behaviour, это (если C99) то ли ошибка компиляции
Функция main по стандарту С++ должна возвращать int
void main ведет к undefined behavior

Добавлено через 19 секунд
Цитата Сообщение от Somebody Посмотреть сообщение
system находится в cstdlib.
C++
1
#include <windows.h>
Добавлено через 2 минуты
А лучше почитайте здесь http://www2.research.att.com/~bs/bs_faq2.html#void-main
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
12.12.2011, 00:31     Мое знакомство с циклами в С++ #33
Не вижу ничего про то, что будет. Только написано, что так неправильно - и всё.
Цитата Сообщение от C99
If the return type is not compatible with int, the
termination status returned to the host environment is unspecified.
Не знаю, что ещё кроме кода возврата включается в termination status, но undefined behaviour и тут нету.
Где смотреть?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.12.2011, 17:13     Мое знакомство с циклами в С++ #34
Цитата Сообщение от Somebody Посмотреть сообщение
но undefined behaviour и тут нету.
А Вы думаете, что если объявить тип
C
1
void main
то программа ничего не вернет?
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
12.12.2011, 20:36     Мое знакомство с циклами в С++ #35
Вернёт что-то. Так ведь известно же, что она завершится, только неизвестно, что вернёт. По-моему, это скорее unspecified, чем undefined, разве нет?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.12.2011, 20:41     Мое знакомство с циклами в С++ #36
Somebody, если Вы мне не верите, то вот
http://en.wikipedia.org/wiki/Undefined_behavior там сразу же в примерах так и написано. Убедились?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
12.12.2011, 21:15     Мое знакомство с циклами в С++ #37
Цитата Сообщение от doctorclo Посмотреть сообщение
а вы не могли бы сказать, какой из компиляторов для C++ лучше выбрать начинающему,чтобы потом не заморачиваться по этому поводу?
Visual Studio 2010 express
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
12.12.2011, 21:16     Мое знакомство с циклами в С++ #38
Цитата Сообщение от go Посмотреть сообщение
http://en.wikipedia.org/wiki/Undefined_behavior там сразу же в примерах так и написано. Убедились?
Убедился.
В C99 меня сбила с толку фраза "If the return type is not compatible with int, the
termination status returned to the host environment is unspecified". Она, видимо, относится к случаю, когда void main разрешена как implementation-defined.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2011, 21:30     Мое знакомство с циклами в С++
Еще ссылки по теме:

C++ Знакомство с наследованием. Вызов конструктора базового класса
C++ Знакомство с функциями
C++ Знакомство с указателями. Синтаксическая ошибка.

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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.12.2011, 21:30     Мое знакомство с циклами в С++ #39
Цитата Сообщение от doctorclo Посмотреть сообщение
а вы не могли бы сказать, какой из компиляторов для C++ лучше выбрать начинающему,чтобы потом не заморачиваться по этому поводу?
Удобно работать в visual studio 2010, а так чтобы начать, то лучше, наверное, борланд
Yandex
Объявления
12.12.2011, 21:30     Мое знакомство с циклами в С++
Ответ Создать тему
Опции темы

Текущее время: 18:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru