Вопросы по С/С++ (СИ)

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Аlex »

FreshMan, записать можно всё, что угодно. Если компилятор проглотит - значит, в плане синтаксиса, написали правильно.
Другое дело - будет ли это работать так, как Вы этого хотите.
IfoR Вам уже сказал как будет вести себя Ваша запись.

Код: Выделить всё

PORTD=11110
Не ошблись циферкой ? :)
Реклама
Аватара пользователя
IfoR
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение IfoR »

Подразумеваю, что просто товарисчь путает оператор ==(сравнение) с =(присваивание). Это разные вещи. :)
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Аlex »

Товарисч, мо моему, много чего путает. Ещё и записи систем исчислений. Да и, видимо, с трудом понимает работу оператора while.
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Вопросы по С/С++ (СИ)

Сообщение FreshMan »

Аlex писал(а):Не ошблись циферкой ?

ошибся.............., :))

Код: Выделить всё

PORTD=0b1110 
:))
а через запятую можна ?

Код: Выделить всё

while (k=1){PORTC=0b101, PORTD=0b11110};
Tell Me The Truth
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Вопросы по С/С++ (СИ)

Сообщение FreshMan »

я так понимаю, что тело оператора while() будет выполнятся до тех пор, пока условие в скобках истинно....... :tea:
Tell Me The Truth
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Аlex »

Совершенно правильно понимаете :)
Через запятую - нельзя.
Реклама
Аватара пользователя
IfoR
Поставщик валерьянки для Кота
Сообщения: 2029
Зарегистрирован: Сб ноя 15, 2008 10:09:56
Откуда: г. Тула
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение IfoR »

Нельзя. Запятая не является разделителем команд.
Изображение
/dev/urandom - гигабайты информации.

OS: openSUSE 13.2 (x86_64)
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Вопросы по С/С++ (СИ)

Сообщение FreshMan »

спасибо :beer:
Tell Me The Truth
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Мастер Ломастер »

понаписали-то, понаписали... дезинформируете новичка - а это грех.
FreshMan писал(а):можна ли так записать команду ????

Код: Выделить всё

while (k=0){PORTC=101; PORTD=110};
правильный ответ: МОЖНО так записать. но цикл выполняться не будет, т.к. значение переменной k равно НУЛЮ, а это значит, конец работы while

FreshMan писал(а):мне стало интересно можна ли ее записать так ???

Код: Выделить всё

while (k=1){PORTC=101; PORTD=11110};
правильный ответ: МОЖНО, цикл будет вечным.

FreshMan писал(а):а через запятую можна ?

Код: Выделить всё

while (k=1){PORTC=0b101, PORTD=0b11110};
правильный ответ: МОЖНО.

Аlex писал(а):Через запятую - нельзя.
IfoR писал(а):Нельзя. Запятая не является разделителем команд.
ответ НЕ ПРАВИЛЬНЫЙ, через запятую МОЖНО.
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Вопросы по С/С++ (СИ)

Сообщение FreshMan »

Мастер Ломастер писал(а):правильный ответ: МОЖНО, цикл будет вечным.

вы наверное забыли добавить: он будет вечным если k будет всегда равно 1
ведь так ? :tea:
Tell Me The Truth
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Мастер Ломастер »

FreshMan писал(а):
Мастер Ломастер писал(а):правильный ответ: МОЖНО, цикл будет вечным.

вы наверное забыли добавить: он будет вечным если k будет всегда равно 1
ведь так ? :tea:

при записи while(k=1){...} цикл будет просто вечным. всегда.
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Вопросы по С/С++ (СИ)

Сообщение FreshMan »

а если переменная к станет равна 2 ???
Tell Me The Truth
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Мастер Ломастер »

FreshMan писал(а):а если переменная к станет равна 2 ???

Код: Выделить всё

while(k = 1){
   k = 0;
}
все равно будет вечный цикл
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

Re: Вопросы по С/С++ (СИ)

Сообщение FreshMan »

тогда, будьте добры обясните ПОЖАЛУЙСТА как цикл while работает вообще :tea:
Tell Me The Truth
Аватара пользователя
Pika4u
Поставщик валерьянки для Кота
Сообщения: 2064
Зарегистрирован: Пт апр 24, 2009 11:39:16
Откуда: г.Оренбург

Re: Вопросы по С/С++ (СИ)

Сообщение Pika4u »

FreshMan, такой код никогда не выполнится-писали выше. В языке Си оператор = это оператор присваивания. Оператор проверки на равенство ==. То есть, должно быть:

Код: Выделить всё

while(k==1){}
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
Аватара пользователя
Pika4u
Поставщик валерьянки для Кота
Сообщения: 2064
Зарегистрирован: Пт апр 24, 2009 11:39:16
Откуда: г.Оренбург

Re: Вопросы по С/С++ (СИ)

Сообщение Pika4u »

1. Проверка условия, если истинно, идем дальше, ложно-выходим на оператор, следующий за оператором цикла.
2. Выполняем тело цикла.
3. Переход к п1.
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
Аватара пользователя
AI_Disable
Сверлит текстолит когтями
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение AI_Disable »

Мастер Ломастер писал(а):при записи while(k=1){...} цикл будет просто вечным. всегда.

while(k=1){... break;} :)))
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Мастер Ломастер »

AI_Disable писал(а):
Мастер Ломастер писал(а):при записи while(k=1){...} цикл будет просто вечным. всегда.

while(k=1){... break;} :)))
смешно. оценил.
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
Pika4u
Поставщик валерьянки для Кота
Сообщения: 2064
Зарегистрирован: Пт апр 24, 2009 11:39:16
Откуда: г.Оренбург

Re: Вопросы по С/С++ (СИ)

Сообщение Pika4u »

И правда смешно)) Но давайте не будим глумится над Свежим-все мы такие были))
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Вопросы по С/С++ (СИ)

Сообщение Мастер Ломастер »

а кто глумится?
битва с дураками проиграна, победители торжествуют. слава победителям!
Ответить

Вернуться в «Разные вопросы по МК»