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

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

10.12.2011, 21:06. Показов 3083. Ответов 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
Ответ Создать тему
Новые блоги и статьи
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru