Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19

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

10.12.2011, 21:06. Показов 3311. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Свое знакомства с языками начал с 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. Для чего она нужна, если есть скобочки? а синтаксис фора так же должен включать в себя скобочки? если не трудно, прошу растолковать мне как в СИ машина должна понимать начало и конец цикла или условия.
Заранее спасибо и извиняюсь если слишком глупый или часто задаваемый вопрос.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2011, 21:06
Ответы с готовыми решениями:

Знакомство со стеком
Начал изучать принципы работы стека вроде все понятно но не пойму как реализовать такое действие. Задача: Есть динамический класс User...

Знакомство с функциями
Я новичок в программировании, работаю в среде Dev C++. Вот решила начать изучение функций, и почему-то на первой же попытке ошибка... И не...

Знакомство с указателями. Синтаксическая ошибка.
Доброго дня! В качестве учебного пособия использую &quot;С++ для чайников&quot; Тема: первое знакомство с указателями С++, ст.89 //Layout...

38
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
11.12.2011, 17:14
Студворк — интернет-сервис помощи студентам
длина строки
C++
1
std::cout<<strlen (s);
Ввод
C
1
2
fflush (stdin);
gets (s);
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
11.12.2011, 17:36
Цитата Сообщение от go Посмотреть сообщение
C
1
2
fflush (stdin);
gets (s);
fflush(stdin) - это undefined behaviour.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
11.12.2011, 17:50
Somebody, я знаю, но в компиляторах под виндовс (в студии например, в билдере) все нормально работает
Так вообще ignore лучше
Да и в конце концов,
C
1
void main ()
Это тоже undefined behavior
0
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
11.12.2011, 21:05  [ТС]
Цитата Сообщение от go Посмотреть сообщение
std::cout<<strlen (s);
очень сильно ругается на эту строчку. parse error before `::'
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
11.12.2011, 21:16
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;
}
0
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
11.12.2011, 21:29  [ТС]
я тоже так думал, но ругается
implicit declaration of function `int system(...)'
я склоняюсь к мнению, что мой Dev-C++ просто сумасшедший.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
11.12.2011, 21:38
doctorclo, http://liveworkspace.org/code/... 6823778c93
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;
}
0
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
11.12.2011, 22:22  [ТС]
Цитата Сообщение от go Посмотреть сообщение
std:
если не трудно, не могли бы объяснить, что означает эта вещь?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
11.12.2011, 22:40
doctorclo, пространство имен
0
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
11.12.2011, 23:24  [ТС]
а вы не могли бы сказать, какой из компиляторов для C++ лучше выбрать начинающему,чтобы потом не заморачиваться по этому поводу?
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
11.12.2011, 23:26
Цитата Сообщение от 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.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
11.12.2011, 23:42
Цитата Сообщение от 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/~... #void-main
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
12.12.2011, 00:31
Не вижу ничего про то, что будет. Только написано, что так неправильно - и всё.
Цитата Сообщение от C99
If the return type is not compatible with int, the
termination status returned to the host environment is unspecified.
Не знаю, что ещё кроме кода возврата включается в termination status, но undefined behaviour и тут нету.
Где смотреть?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
12.12.2011, 17:13
Цитата Сообщение от Somebody Посмотреть сообщение
но undefined behaviour и тут нету.
А Вы думаете, что если объявить тип
C
1
void main
то программа ничего не вернет?
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
12.12.2011, 20:36
Вернёт что-то. Так ведь известно же, что она завершится, только неизвестно, что вернёт. По-моему, это скорее unspecified, чем undefined, разве нет?
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
12.12.2011, 20:41
Somebody, если Вы мне не верите, то вот
http://en.wikipedia.org/wiki/Undefined_behavior там сразу же в примерах так и написано. Убедились?
1
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
12.12.2011, 21:15
Цитата Сообщение от doctorclo Посмотреть сообщение
а вы не могли бы сказать, какой из компиляторов для C++ лучше выбрать начинающему,чтобы потом не заморачиваться по этому поводу?
Visual Studio 2010 express
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
12.12.2011, 21:16
Цитата Сообщение от 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.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
12.12.2011, 21:30
Цитата Сообщение от doctorclo Посмотреть сообщение
а вы не могли бы сказать, какой из компиляторов для C++ лучше выбрать начинающему,чтобы потом не заморачиваться по этому поводу?
Удобно работать в visual studio 2010, а так чтобы начать, то лучше, наверное, борланд
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2011, 21:30

Мое проклятие с vs
мне два года как не везет с компиляторами vs , (как говорится то ресет ,то бсод).недавно установил vs10 экспресс, у него вообще стандартные...

Знакомство с классами, попытка реализации класса матриц
Собственно выдает следующую вещь &quot;Необработанное исключение в &quot;0x00411805&quot; в &quot;class_test_inheritance.exe&quot;: 0xC0000005: Нарушение...

Знакомство с наследованием. Вызов конструктора базового класса
В инете немного почиатл про наследование и решил сразу перейти к практике Есть два класа point и apoint вот хидер #ifndef...

Мое видение вызова функции
main() { char *fun( int&amp;, int); int *x, y=11, z; char *s; x=new int (19); s=new char; … }

Мое первое приложение. Начало. Любые компетентные советы
Здравствуйте, уважаемые пользователи, программисты. Моя работа, связанная с интернет-протоколами. Кратко, мне следует разработать...


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

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки. Добавлено: - Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru