если не будет указан базовый тип то какой тип будет подразумеваться по умолчанию
Типы значений в 1С 8.3
В данной статье мы подробно рассмотрим основные типы значений в 1С — примитивные, ссылочные, системные типы значений, а также познакомимся с основными приемами работы с типами значений.
Содержание
Вместо предисловия
Статья не ставит целью пересказ встроенной справки или руководства разработчика. Подразумевается, что читатели самостоятельно могут посмотреть необходимую информацию в синтакс-помощнике, глоссарии терминов 1С, или другой документации.
Примитивные типы значений в 1С
Значения примитивных типов не содержат в себе ничего, кроме литерала своего типа. Например, значение типа число может определяться литералом 12345, типа строка — «12345», типа булево — Истина, и т.д.
Всего примитивных типов в 1С шесть:
Значения примитивных типов могут преобразовываться к другим типам. Для явного преобразования используются соответствующие методы глобального контекста — например, Строка(12345) приведет число к строке, Дата(«20210101») — преобразует строку в дату 01.01.2021, и др.
Но самое интересное начинается при неявном преобразовании типов. Значения преобразуются по определенным правилам. Так, например, второй операнд и последующие преобразуются к первому операнду выражения, до тех пор, пока это подразумевается используемыми операторами Т.е. если первым идет число, последующие операнды также будут преобразовываться к числу, если строка — к строке.
Но если в выражении попадается оператор, который работает только с конкретным типом, то будет повторное преобразование к этому типу.
Значение типа Неопределено — это специальное значение, которое используется как значение по умолчанию для полей составных типов, а также для обозначения неуказанного значения. Объявленные переменные, в которые еще не поместили значение, будут иметь тип Неопределено.
Значение Null — это литерал, обозначающий отсутствие значения в выборке данных. Прежде всего это значение используется при работе с запросами, например, при левом соединении двух таблиц, отсутствующие значения в левой таблице будут заменены значениями Null. Также значение Null будет иметь реквизит иерархического справочника для элемента-группы, если в свойствах реквизита указано, что данный реквизит используется только для элементов. Аналогично для реквизитов, которые используются только для групп, их значения в обычных элементах справочника будут равны Null.
Прикладные типы значений
Прикладные типы значений создаются платформой, когда разработчик добавляет новые прикладные объекты — документы, справочники, регистры и т.д. При этом при создании одного прикладного объекта становятся доступны сразу несколько прикладных типов данных. Например, при добавлении в конфигурацию справочника «Пользователи», платформа создаст следующие типы:
Каждый прикладной тип служит для определенной функциональности — например, ссылка нужна для доступа к свойствам конкретного элемента на чтение, объект — для возможности редактировать свойства это элемента, выборка — для перебора коллекции элементов, и т.п.
Изначально прикладные типы платформой не поддерживаются, и существуют только в конкретном прикладном решении. Следует иметь в виду, что при создании двух разных справочников, даже с одинаковым набором реквизитов, например «Покупатели» и «Поставщики», для платформы это будут разные типы данных, несмотря на одинаковый реквизитный состав, и унаследованную базовую функциональность типа «Справочники».
Интерфейсные типы данных в 1С
К интерфейсным типам относятся типы данных, позволяющие организовать интерактивное взаимодействие прикладного решения с пользователем. Прежде всего, это типы, связанные с формами и их элементами, например «КнопкаФормы», «ПолеФормы» и др. Также к интерфейсным типам данных относятся значения, позволяющие работать с избранным, историей, окном клиентского приложения, и т.д.
Общие типы данных
Платформа предоставляет специфичные объекты языка, отвечающие за различную функциональность: ТабличныйДокумент, Диаграмма, ПостроительЗапроса, Картинка и др.
В отличие от примитивных типов, значения общих типов представляют собой совокупность значений свойств конкретного объекта. Каждое значение общего типа называется «экземпляром объекта», и создается ключевым словом Новый — Новый ТекстовыйДокумент, Новый ХранилищеЗначения, и т.д.
Универсальные коллекции значений
Для работы с временными наборами данных в течение сеанса работы пользователя используются универсальные коллекции, такие как Массив, ТаблицаЗначений, Структура и др. Они не являются объектами базы данных, и в ней не хранятся. Универсальные коллекции используются для сбора, группировки, анализа и обработки данных.
Значения типа универсальной коллекции создаются при помощи ключевого слова Новый, например — Новый СписокЗначений, Новый ДеревоЗначений.
Платформа также предоставляет разработчику связанные типы значений, такие как КолонкаТаблицыЗначений, СтрокаДереваЗначений, КлючИЗначение, для работы с содержимым универсальных коллекций.
Следует учитывать, что два одинаковых экземпляра универсальной коллекции для платформы будут разными объектами, даже если эти два экземпляра полностью идентичны.
Составные типы значений
Реквизиты объектов конфигурации могут иметь составной тип. Например, для реквизита «Платежный документ» может быть указаны типы «Приходная накладная», «Авансовый отчет», «Оприходование товаров». В этом случае разработчик указывает, что реквизит имеет составной тип, и отмечает нужные типы на этапе конфигурирования, а пользователь в процессе эксплуатации может выбрать в реквизит значение одного из доступных типов. Следует иметь в виду, что в каждый конкретный момент времени значение имеет только один конкретный тип. Если значение составного типа не указано, тип будет Неопределено. Одновременно двух типов значение составного типа быть не может.
Проверка типа конкретного значения
При реализации прикладной логики, часто возникает необходимость проверить, к какому типу принадлежит то или иное значение. Например, если в параметр процедуры передана структура — реализуется одно поведение, а если единственное значение — то другое.
Для такой проверки используется два метода глобального контекста: Тип и ТипЗнч.
Пример. Реквизит Плательщик имеет составной тип — плательщиками могут быть Сотрудники и Контрагенты. Нам нужно проверить, что выбранное значение реквизита является элементом справочника Контрагенты:
Вопрос 1 (10454)
Укажите, какое из нижеследующих утверждений ложное.
1: Комментарии при выполнении программы вызывают печать компьютером на экране текста после символов //.
2: Если вывод осуществляется в cout, то esc-последовательность \n вызывает перемещение курсора к началу следующей строки на экране.
3: Все переменные должны быть объявлены до того, как они используются.
4: Все высказывания истинные
Вопрос 2 (10455)
Укажите, какое из нижеследующих утверждений ложное.
1: Всем переменным, когда они объявляются, должен быть присвоен тип.
2: C++ рассматривает переменные number и NuMbEr как одинаковые.
3: Объявления в теле функции C++ могут появляться почти везде.
4: Все высказывания истинные
Вопрос 4 (10457)
Укажите, какое из нижеследующих утверждений ложное.
1: Тело каждой функции ограничивается левой и правой фигурными скобками ( < и >).
2: Программа на C++, которая выводит три строки, должна содержать три оператора вывода, использующих cout.
3: Элементы данных или элемент-функции, объявленные со спецификатором доступа private, доступны для элемент-функций класса, в котором они объявлены.
4: Все высказывания истинные
Вопрос 5 (10458)
Укажите, какое из нижеследующих утверждений истинное.
1: В соответствии с соглашением, имена функций начинаются с прописной буквы, и все последующие слова в имени также начинаются с прописной буквы.
2: Переменные, объявленные в теле некоторой элемент-функции, называются элементами данных и могут использоваться во всех элемент-функциях класса.
3: Для исполнения программы можно использовать любой файл исходного кода, содержащий int main().
4: Указатель, объявленный как void, может быть разыменован.
Вопрос 6 (10459)
Укажите, какое из нижеследующих утверждений истинное.
1: Типы аргументов в вызове функции должны быть согласованы с типами соответствующих параметров в списке параметров прототипа функции.
2: В операторе выбора switch должна быть метка default.
3: В операторе выбора switch в разделе default требуется оператор break.
4: Все высказывания истинные
Вопрос 7 (10460)
Укажите, какое из нижеследующих утверждений истинное.
1: Выражение, содержащее операцию ||, истинно, если истинны оба операнда этой операции.
2: Массив может хранить много различный типов данных.
3: Операция взятия адреса может быть применима только к константам, к выражениям, не дающим в качестве результата ссылки, и к переменным, объявленным с классом памяти register.
4: Все высказывания ложные
Вопрос 9 (10462)
Укажите, какое из нижеследующих утверждений истинное.
1: Когда исполнение программы приостанавливается в контрольной точке, следующим оператором, который будет исполняться, является оператор после контрольной точки.
2: Когда значение переменной изменяется, в окнах Autos и Locals оно выделяется желтым цветом.
3: Во время отладки команда Step Out исполняет все оставшиеся операторы текущей функции и возвращает управление в точку, где была вызвана функция.
4: Все высказывания истинные
Вопрос 46 (10623)
Логическое «и» обозначается:
1: =
2: ||
3: &
4: &&
Вопрос 48 (10625)
Битовая операция инверсии битов обозначается:
1: \
3: >>
4: нужно для:
1: подключения файла, содержащего макроопределения и объявления данных, необходимых для работы функций из стандартной библиотеки ввода-вывода
2: позволяет дать в программе макроопределения (или задать макросы)
3: переопределения не только константы, но и целых программных конструкций
4: замены каждого параметра в строке лексем на соответствующий аргумент макровызова
Вопрос 60 (10637)
Точка с запятой является:
1: разделителем операторов
2: частью оператора
3: ключевым знаком языка Си
4: спецсимвол
Вопрос 61 (10638)
Какой тип данных отсутствует в Си в отличие от большинства других языков:
1: Real
2: Integer
3: String
4: Char
Вопрос 62 (10639)
В языке Си++ тело функции ограничено операторными скобками:
1: begin end
2: start finish
3: []
4: <>
Вопрос 63 (10640)
В языке Си++ программа начинает выполняться с функции:
1: Start
2: Main
3: Go
4: Do
Вопрос 65 (10642)
Лидирующий нуль в литералах означает:
1: числовой шестнадцатеричный литерал
2: вещественный десятичный литерал
3: числовой восьмеричный литерал
4: целый десятичный литерал
Вопрос 66 (10643)
Символьным литералом будет:
1: «q»
2: %q
3: «s»
4: «sq»
Вопрос 67 (10644)
Строковым литералом будет
1: «sq»
2: %q
3: «s»
4: «qsqs»
Вопрос 68 (10645)
Оператор INT в Си++ применяется для:
1: переопределения диапазона целых чисел
2: преобразования переменной к целому типу
3: описания переменных целого типа
4: прибавления единицы к коду символа
Вопрос 69 (10646)
Строки в Си++ представляются в виде:
1: множества символов, стоящих в один ряд
2: одного идентификатора
3: массива элементов типа CHAR
4: символического представления ячейки памяти
Вопрос 70 (10647)
Наличие нуль-символа (\0) означает, что:
1: количество ячеек массива должно быть, по крайней мере, на одну больше, чем число символов, которые необходимо размещать в памяти
2: логическим значением переменной является «ложь»
3: количество ячеек массива должно быть на одну меньше, чем число символов, которые необходимо размещать в памяти
4: логическим значением переменной является «истина»
Вопрос 71 (10648)
Пример: val = *ptr; операция косвенной адресации * производит:
1: получение адреса
2: перенаправление адреса переменной val к переменной ptr
3: определение значения, на которое указывает ptr
4: определение значения, на которое указывает valv
Вопрос 72 (10649)
Если в цикле задано два разных условия выхода, то используется оператор:
1: CONTINUE
2: BREAK
3: GOTO
4: NEXT
Вопрос 73 (10650)
Если в выражениях встречаются операнды различных типов, то они преобразуются к общему типу в соответствии с определенными правилами. Если один из операндов имеет тип char, то:
1: другие также преобразуются к типу char и результат имеет тип Char
2: другие преобразуются к типу int и результат имеет тип int
3: во время операции присваивания значение правой части преобразуется к типу левой части, который и становится типом результата
4: остается как есть и результат будет Char
Вопрос 74 (10651)
Метки в операторе Switch должны быть:
1: указателями
2: переменной
3: константой
4: типа Char
Вопрос 75 (10652)
Используя форму обращения Function1 (x), получаем:
1: передачу в функцию значения переменной х
2: передачу адреса переменной х
3: использование глобальной переменной
4: использование класса памяти х
Вопрос 76 (10653)
Используя форму обращения Functionl (&x), получаем:
1: передачу в функцию значения переменной х
2: передачу адреса переменной х
3: использование глобальной переменной
4: использование класса памяти х
Вопрос 77 (10654)
Тип функции определяется:
1: типом ее аргументов
2: использованием в программе
3: типом ее описания
4: типом возвращаемого ею значения
Вопрос 78 (10655)
Автоматические объекты:
1: существуют во время выполнения данного блока и теряют свои значения при выходе из него
2: хранятся вне любой функции, входящей в состав программы, и существуют в течение выполнения всей программы
3: являются объектами статического класса памяти
4: можно инициализировать только выражениями с константами и с указателями на ранее описанные объекты
Вопрос 79 (10656)
Макровызов должен состоять:
1: из списка макросов
2: из списка макропеременных
3: из списка макроимен
4: из макроимени и заключенного, в круглые скобки списка аргументов
Вопрос 80 (10657)
Каков будет результат выполнения операторов:
nrs = 22;
ptr = &nrs;
val = *ptr;
1: присваивание значения 22 переменной ptr
2: &nrs дает адрес переменной val
3: &nrs дает адрес переменной ptr
4: присваивание значения 22 переменной val
Вопрос 81 (10658)
Каков будет результат выполнения операторов:
int i,j,s;
i=j=2; /* i и j получают значение 2 */
s=(i++)+(++j);
1: i= 3,j = 2, s= 5
2: i= 3, j = 3, s = 6
3: i = 3, j = 3, s = 5
4: i = 2, j = 3, s = 5
Вопрос 82 (10659)
Каков будет результат выполнения операторов:
int х,у,а;
х=5;
у=х*2+7;
а=у/4;
1: х = 5, у = 17, а = 4,25
2: х = 5, у = 17, а = 4
3: х = 5, у = 10, а = 2,25
4: х = 5, у = 32, а = 8
Вопрос 83 (10660)
Каков будет результат выполнения операторов:
а=(у=(х=5)*2+7)/4
1: а = 4,25
2: а = 4
3: а = 2,25
4: error
Вопрос 84 (10661)
Каков будет результат выполнения операторов:
int x,y;
х=у=5;
х+=2;
y-=3;
х*=у;
х/=++у;
1: у = 3, х = 4
2: у = 4, х = 12
3: у = 12, х = 12/3
4: у = 3, х = 14
Вопрос 85 (10662)
Каков будет результат выполнения операторов:
int a,b
а = 4;
b=7;
m=(a>b)?a:b;
1: т = 4
2: m = 11
3: т = 3
4: т = 7
Вопрос 86 (10663)
Каков будет результат выполнения операторов:
int х,у
y=-4;
х=(у 1 )
Переменные и базовые типы данных языка С
Теоретическая часть
Стандарт С89 определяет пять базовых типов данных [2.4]:
float – вещественное число одинарной точности с плавающей точкой;
double – вещественное число двойной точности с плавающей точкой;
char – символьный тип для определения одного символа;
void – тип без значения.
Объект типа char всегда занимает 1 байт памяти [2.4]. Размеры объектов других типов, как правило, зависят от среды программирования и операционной системы.
Приведем модификаторы базовых типов данных. К ним относятся следующие спецификаторы, предшествующие им в тексте программы [2.4]:
В табл. 2.1 приведены допустимые комбинации типов данных языка С с их минимальным диапазоном значений и типичным размером [13].
Типы данных языка С | ||
---|---|---|
Тип данных | Типичный размер в битах | Минимально допустимый диапазон значений |
char | 8 (или 1 байт) | от –128 до 127 |
unsigned char | 8 | от 0 до 255 |
signed char | 8 | от –128 до 127 |
int | 16 или 32 | от –32768 до 32767 |
unsigned int | 16 или 32 | от 0 до 65535 |
signed int | 16 или 32 | от –32767 до 32767 |
short int | 16 | от –32767 до 32767 |
unsigned short int | 16 | от 0 до 65535 |
signed short int | 16 | от –32767 до 32767 |
long int | 32 | от –2147483648 до 2147483647 |
long long int | 64 | от –(2 63 –1 ) до (2 63 –1) для С99 |
signed long int | 32 | от –2147483647 до 2147483647 |
unsigned long int | 32 | от 0 до 4294967295 |
unsigned long long int | 64 | от 0 до (2 64 –1) для С99 |
float | 32 | от 1Е–37 до 1Е+37 (с точностью не менее 6 значащих десятичных цифр) |
double | 64 | от 1Е–37 до 1Е+37 (с точностью не менее 10 значащих десятичных цифр) |
long double | 80 | от 1Е–37 до 1Е+37 (с точностью не менее 10 значащих десятичных цифр) |
Для базового типа int возможны следующие записи с модификатором:
Для данных вещественного типа максимальные значения абсолютных величин представлены в табл. 2.2 [2.4].
Вещественные типы данных языка С | ||
---|---|---|
Тип данных | Типичный размер в битах | Диапазон абсолютных величин |
float | 32 | от 3.4Е–38 до 3.4Е+37 |
double | 64 | от 1.7Е–308 до 1.7Е+308 |
long double | 80 | от 3.4Е–4932 до 1.1Е+4932 |
Приведем характеристику данных функций [2.4].
Прототип функции printf() имеет вид:
Спецификаторы формата для функции printf() перечислены в табл. 2.3, взятой из [2.3].
Основы алгоритмизации и программирования тест сделайте пожалуйста
Вопрос 1 (10454)
Укажите, какое из нижеследующих утверждений ложное.
1: Комментарии при выполнении программы вызывают печать компьютером на экране текста после символов //.
2: Если вывод осуществляется в cout, то esc-последовательность \n вызывает перемещение курсора к началу следующей строки на экране.
3: Все переменные должны быть объявлены до того, как они используются.
4: Все высказывания истинные
Вопрос 2 (10455)
Укажите, какое из нижеследующих утверждений ложное.
1: Всем переменным, когда они объявляются, должен быть присвоен тип.
2: C++ рассматривает переменные number и NuMbEr как одинаковые.
3: Объявления в теле функции C++ могут появляться почти везде.
4: Все высказывания истинные
Вопрос 4 (10457)
Укажите, какое из нижеследующих утверждений ложное.
1: Тело каждой функции ограничивается левой и правой фигурными скобками ( < и >).
2: Программа на C++, которая выводит три строки, должна содержать три оператора вывода, использующих cout.
3: Элементы данных или элемент-функции, объявленные со спецификатором доступа private, доступны для элемент-функций класса, в котором они объявлены.
4: Все высказывания истинные
Вопрос 5 (10458)
Укажите, какое из нижеследующих утверждений истинное.
1: В соответствии с соглашением, имена функций начинаются с прописной буквы, и все последующие слова в имени также начинаются с прописной буквы.
2: Переменные, объявленные в теле некоторой элемент-функции, называются элементами данных и могут использоваться во всех элемент-функциях класса.
3: Для исполнения программы можно использовать любой файл исходного кода, содержащий int main().
4: Указатель, объявленный как void, может быть разыменован.
Вопрос 6 (10459)
Укажите, какое из нижеследующих утверждений истинное.
1: Типы аргументов в вызове функции должны быть согласованы с типами соответствующих параметров в списке параметров прототипа функции.
2: В операторе выбора switch должна быть метка default.
3: В операторе выбора switch в разделе default требуется оператор break.
4: Все высказывания истинные
Вопрос 7 (10460)
Укажите, какое из нижеследующих утверждений истинное.
1: Выражение, содержащее операцию ||, истинно, если истинны оба операнда этой операции.
2: Массив может хранить много различный типов данных.
3: Операция взятия адреса может быть применима только к константам, к выражениям, не дающим в качестве результата ссылки, и к переменным, объявленным с классом памяти register.
4: Все высказывания ложные
Вопрос 9 (10462)
Укажите, какое из нижеследующих утверждений истинное.
1: Когда исполнение программы приостанавливается в контрольной точке, следующим оператором, который будет исполняться, является оператор после контрольной точки.
2: Когда значение переменной изменяется, в окнах Autos и Locals оно выделяется желтым цветом.
3: Во время отладки команда Step Out исполняет все оставшиеся операторы текущей функции и возвращает управление в точку, где была вызвана функция.
4: Все высказывания истинные
Вопрос 46 (10623)
Логическое «и» обозначается:
1: =
2: ||
3: &
4: &&
Вопрос 48 (10625)
Битовая операция инверсии битов обозначается:
1: \
3: >>
4: нужно для:
1: подключения файла, содержащего макроопределения и объявления данных, необходимых для работы функций из стандартной библиотеки ввода-вывода
2: позволяет дать в программе макроопределения (или задать макросы)
3: переопределения не только константы, но и целых программных конструкций
4: замены каждого параметра в строке лексем на соответствующий аргумент макровызова
Вопрос 60 (10637)
Точка с запятой является:
1: разделителем операторов
2: частью оператора
3: ключевым знаком языка Си
4: спецсимвол
Вопрос 61 (10638)
Какой тип данных отсутствует в Си в отличие от большинства других языков:
1: Real
2: Integer
3: String
4: Char
Вопрос 62 (10639)
В языке Си++ тело функции ограничено операторными скобками:
1: begin end
2: start finish
3: []
4: <>
Вопрос 63 (10640)
В языке Си++ программа начинает выполняться с функции:
1: Start
2: Main
3: Go
4: Do
Вопрос 65 (10642)
Лидирующий нуль в литералах означает:
1: числовой шестнадцатеричный литерал
2: вещественный десятичный литерал
3: числовой восьмеричный литерал
4: целый десятичный литерал
Вопрос 66 (10643)
Символьным литералом будет:
1: «q»
2: %q
3: «s»
4: «sq»
Вопрос 67 (10644)
Строковым литералом будет
1: «sq»
2: %q
3: «s»
4: «qsqs»
Вопрос 68 (10645)
Оператор INT в Си++ применяется для:
1: переопределения диапазона целых чисел
2: преобразования переменной к целому типу
3: описания переменных целого типа
4: прибавления единицы к коду символа
Вопрос 69 (10646)
Строки в Си++ представляются в виде:
1: множества символов, стоящих в один ряд
2: одного идентификатора
3: массива элементов типа CHAR
4: символического представления ячейки памяти
Вопрос 70 (10647)
Наличие нуль-символа (\0) означает, что:
1: количество ячеек массива должно быть, по крайней мере, на одну больше, чем число символов, которые необходимо размещать в памяти
2: логическим значением переменной является «ложь»
3: количество ячеек массива должно быть на одну меньше, чем число символов, которые необходимо размещать в памяти
4: логическим значением переменной является «истина»
Вопрос 71 (10648)
Пример: val = *ptr; операция косвенной адресации * производит:
1: получение адреса
2: перенаправление адреса переменной val к переменной ptr
3: определение значения, на которое указывает ptr
4: определение значения, на которое указывает valv
Вопрос 72 (10649)
Если в цикле задано два разных условия выхода, то используется оператор:
1: CONTINUE
2: BREAK
3: GOTO
4: NEXT
Вопрос 73 (10650)
Если в выражениях встречаются операнды различных типов, то они преобразуются к общему типу в соответствии с определенными правилами. Если один из операндов имеет тип char, то:
1: другие также преобразуются к типу char и результат имеет тип Char
2: другие преобразуются к типу int и результат имеет тип int
3: во время операции присваивания значение правой части преобразуется к типу левой части, который и становится типом результата
4: остается как есть и результат будет Char
Вопрос 74 (10651)
Метки в операторе Switch должны быть:
1: указателями
2: переменной
3: константой
4: типа Char
Вопрос 75 (10652)
Используя форму обращения Function1 (x), получаем:
1: передачу в функцию значения переменной х
2: передачу адреса переменной х
3: использование глобальной переменной
4: использование класса памяти х
Вопрос 76 (10653)
Используя форму обращения Functionl (&x), получаем:
1: передачу в функцию значения переменной х
2: передачу адреса переменной х
3: использование глобальной переменной
4: использование класса памяти х
Вопрос 77 (10654)
Тип функции определяется:
1: типом ее аргументов
2: использованием в программе
3: типом ее описания
4: типом возвращаемого ею значения
Вопрос 78 (10655)
Автоматические объекты:
1: существуют во время выполнения данного блока и теряют свои значения при выходе из него
2: хранятся вне любой функции, входящей в состав программы, и существуют в течение выполнения всей программы
3: являются объектами статического класса памяти
4: можно инициализировать только выражениями с константами и с указателями на ранее описанные объекты
Вопрос 79 (10656)
Макровызов должен состоять:
1: из списка макросов
2: из списка макропеременных
3: из списка макроимен
4: из макроимени и заключенного, в круглые скобки списка аргументов
Вопрос 80 (10657)
Каков будет результат выполнения операторов:
nrs = 22;
ptr = &nrs;
val = *ptr;
1: присваивание значения 22 переменной ptr
2: &nrs дает адрес переменной val
3: &nrs дает адрес переменной ptr
4: присваивание значения 22 переменной val
Вопрос 81 (10658)
Каков будет результат выполнения операторов:
int i,j,s;
i=j=2; /* i и j получают значение 2 */
s=(i++)+(++j);
1: i= 3,j = 2, s= 5
2: i= 3, j = 3, s = 6
3: i = 3, j = 3, s = 5
4: i = 2, j = 3, s = 5
Вопрос 82 (10659)
Каков будет результат выполнения операторов:
int х,у,а;
х=5;
у=х*2+7;
а=у/4;
1: х = 5, у = 17, а = 4,25
2: х = 5, у = 17, а = 4
3: х = 5, у = 10, а = 2,25
4: х = 5, у = 32, а = 8
Вопрос 83 (10660)
Каков будет результат выполнения операторов:
а=(у=(х=5)*2+7)/4
1: а = 4,25
2: а = 4
3: а = 2,25
4: error
Вопрос 84 (10661)
Каков будет результат выполнения операторов:
int x,y;
х=у=5;
х+=2;
y-=3;
х*=у;
х/=++у;
1: у = 3, х = 4
2: у = 4, х = 12
3: у = 12, х = 12/3
4: у = 3, х = 14
Вопрос 85 (10662)
Каков будет результат выполнения операторов:
int a,b
а = 4;
b=7;
m=(a>b)?a:b;
1: т = 4
2: m = 11
3: т = 3
4: т = 7
Вопрос 86 (10663)
Каков будет результат выполнения операторов:
int х,у
y=-4;
х=(у 1 )