sem01 (Мини-учебник с ejudge = Чернокнижка), страница 2

PDF-файл sem01 (Мини-учебник с ejudge = Чернокнижка), страница 2 Практика расчётов на ПЭВМ (37202): Книга - 3 семестрsem01 (Мини-учебник с ejudge = Чернокнижка) - PDF, страница 2 (37202) - СтудИзба2019-05-08СтудИзба

Описание файла

Файл "sem01" внутри архива находится в следующих папках: Мини-учебник с ejudge = Чернокнижка, Еще, Entry level. PDF-файл из архива "Мини-учебник с ejudge = Чернокнижка", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 2 страницы из PDF

Для архитектуры ix86 обычно размер типа float равен 4 байта, типа double — 8 байтов, типа longdouble — 12 байтов, из которых используется 10.1.1.7 Функция ввода данных7scanf("%d%d", &b, &c)Это — вызов функции scanf для считывания данных со стандартного потока ввода(обычно стандартный поток ввода — это клавиатура). Функция scanf первая функция стандартной библиотеки языка Си, которую мы рассмотрим.Первый аргумент функции это строка формата (строки мы будем рассматривать позже, апока заметьте, что они записываются в кавычках), которая определяет, значения каких типовдолжны быть считаны. Остальные аргументы задают переменные, в которые должны бытьсчитаны значения.Строка формата состоит из спецификаторов ввода полей.

Каждый спецификатор вводаначинается со знака % («процент»). Простейшие спецификаторы ввода перечислены ниже.%dСчитать целое число (int). Перед чтением числа пропускаются все пробельныесимволы (пробелы, табуляции, переводы строк). Если первый непробельный символ не может начинать число, функция scanf завершается. Иначе число считывается либо пока не возникнет переполнения, либо пока не встретится символ, который не может быть частью числа. Если возникло переполнение, функция scanfзавершается с неудачей. Если встретился нецифровой символ, чтение числа считается успешным, а этот символ не будет считан из потока.%ld Считать длинное целое число (long int). Используются те же самые правила, чтои при чтении обычного целого числа.%Ld Считать длинное целое число (long long int).

Используются те же самые правила, что и при чтении обычного целого числа.%fСчитать вещественное число типа float. Применяются те же правила, что и причтении целых чисел.%lf Считать вещественное число типа double. Применяются те же правила, что и причтении целых чисел.%Lf Считать вещественное число типа long double. Применяются те же правила, чтои при чтении целых чисел.%cСчитать очередной символ из входного потока в переменную типа char.Несколько спецификаций формата могут быть записаны в одной форматной строке.

Например, "%lf%d%f" — считать вещественное значение в переменную типа double, затемцелое значение в переменную типа int, затем вещественное значение в переменную типаfloat.После спецификации формата перечисляются переменные, в которые будет записанозначение. Для всех простых типов, которые были упомянуты выше, перед именем переменной обязательно должен стоять знак &. Это — унарная операция взятия адреса переменной, которую мы ещё рассмотрим в дальнейшем.Количество спецификаций формата в форматной строке обязательно должно совпадатьс количеством переменных, указанных после неё. Кроме того, тип, указанный в спецификации формата, обязательно должен совпадать с типом соответствующей переменной. Есливы где-то ошиблись, то многие компиляторы ничего не заметят и скомпилируют программу.6При выполнении такая программа будет либо давать неправильный результат, либо вообщезавершаться аварийно.Функция scanf возвращает количество успешно считанных полей, заданных в спецификации.

В примере из программы, которую мы пишем, значение 2 означает, что успешносчитаны два целых числа, 1 означает, что было считано только первое число, а второе — нет(закончился файл или до начала чтения числа встретился символ, которые не может бытьчастью целого числа). Если бы scanf вернул 0, это значит, что ни одна переменная не быласчитана из-за неверного задания входных данных в файле.

Если данные закончились (то естьчтение дошло до конца файла) до того, как была считана хотя бы одна переменная, функцияscanf вернёт значение, задаваемое константой EOF.Игнорировать значение, возвращаемое функций scanf нельзя! То есть, язык, конечно,позволяет это делать, но программа, написанная таким образом будет работать некорректно,если пользователь ошибся при вводе.1.1.8 Оператор цикла while719while (scanf("%d%d", &b, &c) == 2) {}Это — оператор цикла while.

Цикл while выполняется (как и в Паскале) до тех пор,пока истинно выражение, записанное в скобках. В данном случае цикл будет выполняться, пока функция scanf возвращает значение 2, то есть пока считываются оба числа b иc. Круглые скобки здесь — часть оператора цикла while, а не выражения условия цикла.Круглые скобки не могут быть пропущены.Телом цикла while может быть любой оператор и, в частности, составной оператор, какв разбираемой программе.1.1.9 Операции сравнения и логические операцииВ языке Си определены обычные операции сравнения чисел, которые записываются следующим образом:== сравнение двух чисел на равенство.!= сравнение на неравенство.>= «больше или равно».>«больше».<= «меньше или равно».<«меньше».Обратите внимание, что сравнение на равенство записывается как два знака равенства==, а один знак равенства = — это операция присваивания!Подробнее то, как вычисляются выражения, мы рассмотрим подробнее на следующихзанятиях.Для проверки нескольких условий используются логические операции-связки || и &&.Обратите внимание, что оба знака операции состоят из двух символов.

Есть и операции | и&, это совсем другие операции, мы их рассмотрим позднее.Операция || — логическое «или». Она даёт истинное значение, если хотя бы один изаргументов даёт истинное значение. При этом операция вычисляется по «короткой» схеме,то есть если первый аргумент операции дал «истину», второй даже не вычисляется.7Операция && — логическое «и».

Она даёт значение «ложь», если хотя бы один из аргументов даёт значение «ложь». Как и предыдущая, эта операция вычисляется по «короткой»схеме. Если первый аргумент дал значение «ложь», второй аргумент даже не вычисляется.Обратите внимание, что в языке Си отсутствует логический тип как таковой. Везде, гдетребуется логическое значение «ложь» или «истина», может использоваться любое целоевыражение (и вообще, любое скалярное выражение).

Значение 0 понимается, как «ложь», алюбое значение, не равное 0, как «истина». Тем не менее, операции отношения и логическиеоперации вырабатывают в качестве значения «истины» вполне определённое значение — 1.В новом стандарте C99 тип _Bool всё же введён. Но все правила, описанные выше, продолжают работать.1.1.10 Условный оператор if8if (b <= 0 || c <= 0) {10} else {18}Это — условный оператор. Обратите внимание, что круглые скобки ( и ) являютсячастью условного оператора, и, соответственно, не могут быть опущены.

Специальное ключевое слово then отсутствует. И после условия, и после ключевого слова elseмогут находиться по одному оператору программы. Для наглядности мы используем составной оператор в обоих случаях, хотя в первой части оператора составной оператор необязателен. Как обычно, часть else может быть опущена.Рассматривая нашу задачу вычисления НОД двух чисел, нужно заметить, что этот условный оператор выполняет очень важную функцию: проверяет входные данные на допустимость. Алгоритм вычисления НОД, использованный в нашей программе, работает корректно только при положительных значениях аргументов. С другой стороны, программа не можетникак влиять на входные данные, которые пользователь будет задавать программе. Поэтомупри чтении данных от пользователя проверка корректности входных данных обязательна! Это — одно из важнейших требований, которым должна удовлетворять надёжнаяпрограмма.Часть проверок на допустимость входных данных выполняет функция scanf.

Она проверяет, что действительно на стандартном потоке ввода заданы два числа, каждое из которыхпредставимо в типе int. Только в этом случае функция scanf вернёт результат 2.1.1.11 Оператор do while12do {16} while (c != 0);Это — оператор цикла с постусловием. Отличия от цикла repeat until языка Паскальперечислены ниже:1.

Ключевые слова do и while не образуют блока. Поэтому, если в цикле необходимозаписать несколько операторов, нужно использовать составной оператор.2. Круглые скобки после ключевого слова while являются частью оператора цикла, а невыражения, и поэтому обязательны.83. Цикл выполняется, пока условие, записанное после while истинно.1.1.12 О расстановке «;»В языке Си «точки с запятой» являются составной частью каждого оператора, кромесоставного, поэтому должны обязательно ставится после них. После составного оператораточка с запятой никогда не должна ставиться!1.1.13 Арифметические выражения и присваивания131415a = b;b = c;c = a % b;В языке определены обычные арифметические операции:сложение.вычитание.умножение.деление. Если оба операнда операции — целые выражения, деление будет выполняться как деление нацело, результатом будет тоже целое значение.

Если хотя быодин из операндов отрицателен, то результат операции целочисленного деления зависит от реализации. Если хотя бы один операнд — вещественное число, деление будетвыполняться над вещественными числами и даст вещественный результат.% взятие остатка от деления. Применимо только к целым выражениям. Если хотя быодин из операндов отрицателен, то результат операции взятия остатка зависит от реализации.При выполнении операций сложения и вычитания с целыми числами арифметическое переполнение или переносы не диагностируется. Программа продолжит работать как ни бывало. Но при выполнении операций умножения и деления, а также сложения и вычитания свещественными числами, ошибки диагностируются и вызывают аварийное завершение программы.Операция присваивания = даёт результат, равный присвоенному значению, поэтому допустимо использование нескольких присваиваний подряд, например:+*/a = b = c = 0;1.1.14 Функция вывода данных917printf("Invalid parameters\n");printf("%d\n", b);Функция printf печатает значения на стандартный поток вывода (обычно это экран).Первый параметр функции — это строка формата печати.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5288
Авторов
на СтудИзбе
417
Средний доход
с одного платного файла
Обучение Подробнее