Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
1

Сформулируйте, что такое разделитель операторов и где он ставится

05.07.2013, 08:59. Показов 4408. Ответов 44
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я интуитивно понимаю, в своих программах всегда ставлю, где надо, но словами написать не могу. А нужен полностью формализованный абзац, где и зачем ставится точка с запятой.
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.07.2013, 08:59
Ответы с готовыми решениями:

Сформулируйте, что такое разделитель операторов и где он ставится
Я интуитивно понимаю, в своих программах всегда ставлю, где надо, но словами написать не могу. А...

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в...

Разделитель в TextBox ставится не в назначенную позицию, а перед текстом
Ставлю "." или "/" эти знаки перепрыгивают вперед, ставишь ещё цифру то всё норм.

Что такое паттерны, где их применяют и где прочитать о них?
Насколько я понимаю, паттерны - это шаблон. Т.е. уже кем-то написанный код, который хорошо работает...

44
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
05.07.2013, 10:00 2
Где: между (Паскаль) или в конце (Си) каждого утверждения.
Зачем: потому что синтаксис языка не позволяет парсеру разделить операторы самостоятельно без явной подсказки.
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
05.07.2013, 10:41 3
OhMyGodSoLong, это не "полностью формализованный абзац")
например, почему здесь
C++
1
2
3
for(int i=0;i<1;i++)
{
}
непосредственно в конце утверждения i++ нет точки с запятой? понятно, потому что скобка... но про скобки вы ничего не сказали)
0
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
05.07.2013, 11:07 4
слушайте ну вы чё совсем уже! почему вы всегда всё так сложно делаете! неужели нельзя объяснить для начинающего. точка с запятой показывает что эта строчка не распространяется на остальные. в твоём коде функция для пересчета (for) распространяется на блок, и поэтому там нельзя ставить точку с запятой, потому что тогда блок останется без функции для пересчета
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 11:16  [ТС] 5
А что такое утверждение?
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
05.07.2013, 11:17 6
svk2140, да что вы говорите?) я ж специально написал "непосредственно в конце утверждения i++"
C++
1
for(int i=0;i<1;i++;)
т.е. после утверждений i=0 и i<1 ставят точку с зпт, а после i++ нет.


Цитата Сообщение от svk2140 Посмотреть сообщение
точка с запятой показывает что эта строчка не распространяется на остальные
да что вы говорите?)
C++
1
2
int a
=123; // т.е. эта строчка не распространяется на предыдущую,да?)
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 11:18  [ТС] 7
Цитата Сообщение от svk2140 Посмотреть сообщение
в твоём коде функция для пересчета (for)
Там нет ни каких функция пересчёта.
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
05.07.2013, 11:19 8
в общем надо искать какой-то официальный источник...
0
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
05.07.2013, 11:24 9
не ну слушай я говорил про for(int i=0;i<1;i++) это если ты ещё не понял функция для пересчёта.
потом я говорил что если поставить точку с зяпятой. я имел ввиду
C++
1
2
3
for(int i=0;i<1;i++);
{
}
в конце (в скобках) не ставиться точка с запятой потому что.... тогда бы постоянно выполнялось int i = 0 и она (переменная) ровнялась бы всегда 0

ну теперь та хоть понял?
0
AntonChik
05.07.2013, 11:26
  #10

Не по теме:

я извиняюсь за сравнение, но похоже на то как цыпленок учит курицу :D
я даже сохраню себе эту страничку)

3
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
05.07.2013, 11:30 11
+ пример какой то... к примеру такой
C++
1
2
if(a == 1);
cout << "a = 1" << endl;
не будет компилироваться потому что ifif(a == 1) распространяетсятолько на самого себя
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 11:31  [ТС] 12
Цитата Сообщение от svk2140 Посмотреть сообщение
лушай я говорил про for(int i=0;i<1;i++) это если ты ещё не понял функция для пересчёта.
Всякая функция имеет тип и список параметров, а на c++ не может находиться внутри другой функции, или перегруженного оператора, а её имя не может быть зарезервировано.
C++
1
for(int i=0;i<1;i++)
может быть только внутри функции, или перегруженного оператора и не имеет ни типа, ни списка параметров, а слово for зарезервировано.

Добавлено через 40 секунд
Цитата Сообщение от svk2140 Посмотреть сообщение
в конце (в скобках) не ставиться точка с запятой потому что.... тогда бы постоянно выполнялось int i = 0 и она (переменная) ровнялась бы всегда 0
Бредятина.
0
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
05.07.2013, 11:32 13
svk2140, оно скомпилируется и отработает нормально
Цитата Сообщение от svk2140 Посмотреть сообщение
+ пример какой то... к примеру такой
C++
1
2
if(a == 1);
cout << "a = 1" << endl;
не будет компилироваться потому что ifif(a == 1) распространяетсятолько на самого себя
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
05.07.2013, 11:33 14
Цитата Сообщение от svk2140 Посмотреть сообщение
в конце (в скобках) не ставиться точка с запятой потому что.... тогда бы постоянно выполнялось int i = 0 и она (переменная) ровнялась бы всегда 0
не хочу вас огорчать, но во-первых, тут хоть ставь, хоть не ставь эту точку с зпт, она(переменная) все равно всегда будет равна нулю...
а во-вторых, эта точка с запятой в данном месте может ставиться очень даже целенаправленно, например:
C++
1
for(int i=0;i<1;a[i]=i++);
1
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 11:34  [ТС] 15
Цитата Сообщение от svk2140 Посмотреть сообщение
не будет
будет. Если a = 1, то выполнить пустой оператор и в любом случае вывести в count "a=1" и перевести строку манипулятором endl. Что здесь не компильрабельного?
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
05.07.2013, 11:34 16
Цитата Сообщение от svk2140 Посмотреть сообщение
не будет компилироваться
будет еще как)
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 11:35  [ТС] 17
Цитата Сообщение от AntonChik Посмотреть сообщение
не хочу вас огорчать, но во-первых, тут хоть ставь, хоть не ставь эту точку с зпт, она(переменная) все равно всегда будет равна нулю...
Не смотря на инкремент?
0
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
05.07.2013, 11:38 18
ну блин такого шквала я не ожидал) я имел ввиду - что не будет условие выполнятся. думаю вы слишком прямо восприняли. да и насчёт функции для пересчёта - вы видимо так и не поняли что именно так чайнику будет легче +
for(int i = 0;i < 2;i++; ) в конце будет i = 0 а здесь for(int i = 0;i < 2;i++) оно будет 2
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.07.2013, 11:41  [ТС] 19
И оставьте вы в покое циклы с альтернативами.
C++
1
a=2; b=c=d=e; f=c+44*355-e; z=(ds+dsfdsfa-er4*fdsa)*fgds+25/dfsa; v=4;
Расскажите, почему точка с запятой стоит именно на этих местах, а не на других и именно в таком количестве. Но при этом не используя это строчку ни целиком, ни по частям.

Добавлено через 2 минуты
Цитата Сообщение от svk2140 Посмотреть сообщение
да и насчёт функции для пересчёта вы видимо так и не поняли что именно так чайнику будет легче +
Легче чайнику - не значит правильно, простая для понимания, но кривая фраза в учебнике, или из уст лектора пудрит мозги, а в дальнейшем мешает.
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
05.07.2013, 11:43 20
Цитата Сообщение от taras atavin Посмотреть сообщение
Не смотря на инкремент?
в рамках оператора да, а что будет потом это уже другая история.
т.е. эту остаточную единичку в теле цикла мы все равно не сможем использовать
0
05.07.2013, 11:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.07.2013, 11:43
Помогаю со студенческими работами здесь

Разделитель операторов в Basic
Разделителем операторов является двоеточие, которое обязательно ставится не менее, чем одно между...

Что такое криптопровайдер и где он обитает
Что-то я совсем запутался как я понял криптопровайдер реализует алгоритмы шифрования данных и...

Что такое программа Q&r, и где ее взять?
Подскажите, пожалуйста, Что за программ Q&amp;R?

Что такое и где используется stdClass?
Что такое и где используется stdClass?


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru