|
4 / 4 / 1
Регистрация: 30.03.2012
Сообщений: 34
|
||||||
12 в опросов по C /C++. part330.06.2012, 00:42. Показов 1111. Ответов 6
Метки нет (Все метки)
всем привет. Помогите пожалуйста с вопросами. Во время работы возникало много моментов, которые не описаны в книге или описаны вскользь (в большинстве случаев это какие-то частные случаи).
Использую компил Codeblocks 10.05 1)
Но я ведь сначала объявил ф-ию, а уже потом созвучную переменную. Почему не высветилось сообщение о конфликте имен или что-то вроде этого, а то получается, будто бы ф-ии main () вообще нет. 2) cout << 100000000000009; Компил сам определил, что для данной константы следует выделить не стандартный int (ведь число написалось без ошибки), а long? Просто, я ведь не указал в конце L /l; 3) У меня sizeof (long double) = 12 б. Передо мной стоит задача, присвоить переменой типа long double максимальное значение long double с помощью константного выражения. Никаких суффиксов для константных выражений, которые превышает размер double не существует. Как все-таки решить эту задачу (именно с помощью константного выражения)? Просто в учебнике сказано про привидение типов операндов (ну типо, если один int, другой double, то оба приводятся к двойному и т.д.) а про константные выражения размывчато... 4) cout.put ('\v'); Вместо вертикальной табуляции получаю какой-то символ. С чем это может быть связано? 5) for (unsigned wchar_t i = 0; i < 65536; i++) wcout << i; После (примерно) 100 - 120 символов ничего не печатается (не табуляция, не пробел, а вообще ничего). С чем это может быть связано? 6) Как размещается в памяти константа, если она превышает размер стандартных типов данных? Напр: +163e+52700 Или может берется максимальный тип, а затем (в случае превышения и максимального) начинается циклическое вращение чила (обычное переполнение)? 7) при инициализации переменных вместо правой части подсталяется ее адрес? Напр.: char arr [] = {'a', true, 3}; char arr [] = "qwerty"; Иными словами, в чем различие между первой и второй записью? Да, выполняется одно и тоже, но, м.б. процессы хоть на каком-то этапе отличаются? Я не знаю ассемблер, но эти записи транслируются точь в точь одинаково? 8) в чем разница: char arr [80] = "d"; и char arr [80] = {"d"}; Неужели компилятор во втором случае просто игнорирует скобки? Хоть что-то они должны значить! 9) struct a { int arr [20]; } a, b; int main () { a = b; //Как это происходит. Ведь это arr1 = arr2 - запрещено, т.к. адрес, на который ссылается указатель arr1 является константным (главное отличие единичного массива от указателя). } 10) struct { signed : 1; } str; Чего codeblocks 10 05 не ругается (ошибок ни во время компиляции, ни после нет)? Просто я думал, что это запрещено самим языком (с /c++). 11) char x; cout << endl << &x; //printf ("%d", &x); cout ничего не выводит, в отличии от принтфа. Почему? 12) while (getchar () != -1); буферизированный ввод. после комбинации симв+ eof цикл все равно продолжается. почему? ---------------------------------------------------------------------------------------------------------------------------------------------------- А и еще. возникло куча вопросов по поводу битовых полей. Что это такое я вроде понял. Решил пару примеров. Но вот что будет, если поле больше машинного слова, сумма полей не кратно 8 ,почему поля можно определять только в структурах и юнионах и т.д., - на это я ответы не нашел.
0
|
||||||
| 30.06.2012, 00:42 | |
|
Ответы с готовыми решениями:
6
Как "правильно" вставить модуль с крошками в Part3? БД для опросов Система опросов |
|
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
|
| 30.06.2012, 01:08 | |
|
1) нет конфликта, компиль запретил тебе вызывать Мэйн
2) сам 3) LDBL_MAX? ... <climits> 4) эт хрень для принтера которую никто никогда не использует 5) посмотри размер wchar_t дальше лень
0
|
|
|
48 / 47 / 7
Регистрация: 19.06.2012
Сообщений: 134
|
||||
| 30.06.2012, 01:25 | ||||
|
Не пробовал компилятор Codeblocks 10.05, но по моему:
Добавлено через 3 минуты Добавлено через 2 минуты Добавлено через 52 секунды имеется в виду имя массива, синоним указателя.Добавлено через 3 минуты вообще это все есть в любом учебнике, может внимательно почитать?
0
|
||||
|
|
|
| 30.06.2012, 10:22 | |
|
1) см. пост #5
2) unsigned long long и Builder 2010 3) Есть суффикс "L": "long double ld = 1.234L;" 4) 5) Скорее всего потому, что у тебя нету шрифтов для печати соотвествующих wchar'ов (тем значениям наверняка соотвествуют какие-то иероглифы или что-то типа того). Но не уверен 6) Напиши пример программы. Увидишь сообщение компилятора. Если это будет предупреждение, то программа скомпилируется. Далее распечатай полученное число. А см эмпирически ответишь на свой вопрос 7) Первая запись трактуется как "char arr [] = {(char)'a', (char)true, (char)3};" Как трактуется вторая запись читай тут: https://www.cyberforum.ru/blogs/18334/blog97.html 8) После того, как разберёшься с вопросом 7, на этот вопрос ответишь сам 9) У тебя присваиваются не массивы а структуры. А их копировать можно. Происходит побайтное копирование 10) Для битовых полей допустимо создавать неименованное битовое поле 11) Потому что сначала печатаешь перевод строки, а потом адрес (т.е. это НЕ эквивалентно тому, что написано в скобках, где сначала печатается адрес, а потом первод строки). Не выводится из-за буферизации потока стандартного вывода (буфер обычно сбрасывается при достижении символа перевода строки) 12) Что такое "комбинации симв+ eof"? Про битовые поля: Чтение битового поля > почему поля можно определять только в структурах и юнионах и т.д., - на это я ответы не нашел Битовое поле - это сначала поле, а потом битовое. А поле есть только в структурах, юнионах и классах. Либо я вопроса не понял
0
|
|
|
Почетный модератор
|
|
| 30.06.2012, 15:15 | |
|
закрыто.
Добавлено через 54 секунды csrnsdrfg1, на каждый вопрос - создавайте отдельную тему. читайте правила форума.
0
|
|
| 30.06.2012, 15:15 | |
|
Помогаю со студенческими работами здесь
7
Способы создания опросов
Система опросов на Joomla Сказано - сделать базу опросов Список опросов не умещается на странице сайта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|