Cтраница 4
Запись исходных данных разрешается упрощать, чтобы сделать их подготовку более удобной. Так, в случае спецификаций преобразования Е и D необязательно выделять четыре позиции для записи десятичного порядка. [46]
![]() |
Блок-схема структуры if / else с двойным выбором языка С. [47] |
Экзамен сдан), если условие grade 60 истинно, и строковый литерал Failed ( Экзамен не сдан), если это условие ложно. Строка управления форматом функции printf содержит спецификацию преобразования % s для печати символьной строки. [48]
Каждая спецификация преобразования начинается с символа процента и заканчивается спецификатором преобразования. В одной строке управления форматом может быть указано несколько спецификаций преобразования. [49]
![]() |
Использование списка аргументов переменной длины. [50] |
У читателя может возникнуть резонный вопрос, как функции printf и scanf узнают, какой тип использовать в каждом макросе va arg. Ответ состоит в том, что printf и scanf просматривают спецификации преобразования в управляющей строке формата для определения типа следующего аргумента, который будет обрабатываться. [51]
Итак, ввод-вывод является частью языка Паскаль и не является частью языка Си. Поэтому в языке Си оказывается невозможным обнаружить ряд ошибок на этапе трансляции, в частности несоответствие числа операндов и числа спецификаций преобразования и формата. [52]
Таким образом, изменение типа переменной х приводит к необходимости не только изменения описания переменной х, но и внесения изменений в программу. Если бы средства ввода-вывода были встроены в язык Си, то такой проблемы бы не возникало, поскольку транслятор с него был бы в состоянии ассоциировать тип объекта со спецификациями преобразования и формата и установить между ними необходимое соответствие. [53]
Функция scanf получает значения, которые пользователь обычно вводит с клавиатуры. Ее первый аргумент - управляющая строка, задающая формат считывания, которая сообщает компьютеру, какой тип данных должен быть введен пользователем. Спецификация преобразования % d определяет, что эти данные должны быть целыми. Каждому из оставшихся аргументов должна соответствовать спецификация преобразования в управляющей строке формата считывания. Имя каждой переменной обычно предваряется амперсандом ( &), называемым в С операцией взятия адреса. Амперсанд при объединении с именем переменной сообщает компьютеру ячейку памяти, в которой будет храниться значение. Затем компьютер записывает значение в эту ячейку. [54]
![]() |
Бросание шестигранной игральной кости 6000 раз ( часть 2 из 2. [55] |
Как показывает результат, выведенный программой, масштабирование и сдвиг в сочетании с функцией rand позволяет реалистично моделировать вращение шестигранной игральной кости. Также обратите внимание на использование спецификации преобразования % s для печати символьных строк Face и Frequency в качестве заголовков столбцов. [56]
Ввод с точным контролем формата выполняется функцией scanf. Каждый оператор scanf содержит строку управления форматом, которая описывает формат входных данных. Строка управления форматом состоит из спецификаций преобразования и литеральных символов. [57]
ФОРТРАН сводится к записи на бланке программирования численных значений параметров выполняемого варианта. Первым числом строки должен быть номер варианта, далее параметры следуют в том порядке, в каком они приведены в задании. Числа должны быть записаны в соответствии со спецификацией преобразования, указанной в программе. [58]