Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы пиоа.doc
Скачиваний:
134
Добавлен:
25.01.2017
Размер:
218.62 Кб
Скачать

43. Арифметические и логические операции языка си.

Бинарными арифметическими операциями являются +, -, *, / и операция деления по модулю %. Имеется унарная операция -(унарной операцией на множестве М называется отображение множества в себя М -->М, которое каждому элементу множества М, называемому операндом, ставит в соответствие некоторый элемент того же множества, называемый результатом). При делении целых дробная часть отбрасывается. Выражение x % y даёт остаток от деления x на y и , след., = 0, когда x делится на y точно. Напр., год явл-ся високосным, если он делится на 4, но не делится на 100, исключая то, что делящиеся на 400 годы тоже являются високосными. Поэтому: (см оборот). Опер. для увелич. (++ добавляет 1к своему операнду) и уменьш. (– вычитает 1) знач. перемен. Выражение ++N увелич перемен N до использования её значения, а N++ увелич перемен N после того, как её значение было использовано. Допустим, что N=5, тогда x=N++; устанавливает x=5, а x=++N; полагает x=6. В обоих случаях N становится =6. Операциями отношения являются: =>, >, =<, <. Выражения, связанные операциями && и || ( логич И, логич ИЛИ), вычисляются слева направо, причём их рассмотрение прекращается сразу же как только становится ясно, будет ли результат истиной или ложью. Унарная операция отрицания ! Преобразует ненулевой или истинный операнд

в 0, а нулевой или ложный операнд — в 1.

44. Операторы ввода и вывода данных языка си.

Ввод и вывод информации осуществляется через функции стандартной библиотеки. Прототипы рассматриваемых функций находятся в файле stdio.h. Эта библиотека содержит функции: printf() - для вывода информации; scanf() - для ввода информации. Функция printf() предназначена для форматированного вывода. Она переводит данные в символьное представление и выводит полученные изображения символов на экран. При этом у программиста имеется возможность форматировать данные, то есть влиять на их представление на экране. Пример: int a=5; float x = 2.78; printf("\n Значение переменной a=%d", a); printf("\n Значение переменной x=%f", x);

Результат работы программы

Значение переменной a=5 Значение переменной x=2.780000

Функция форматированного ввода данных с клавиатуры scanf() выполняет чтение данных, вводимых с клавиатуры, преобразует их во внутренний формат и передает вызывающей функции. При этом программист задает правила интерпретации входных данных с помощью спецификаций форматной строки. Пример: #include <stdio.h> #include <stdlib.h> int main() {

  float y;

  system("chcp 1251");

  system("cls");

  printf("Введите y: ");

  scanf("%f",&y);  // Ввод значения переменной y

  printf("Значение переменной y=%f",y);

  getchar(); getchar();

  return 0; }

45. Операторы условного и безусловного перехода языка си.

Для организации условных и безусловных переходов в программе на языке СИ (C)используются операторы: if - else, switch и goto. Первый из них записывается следующим образом:

if (проверка_условия) оператор_1; else оператор_2;

Если условие в скобках принимает истинное значение, выполняется оператор_1, если ложное - оператор_2. Если вместо одного необходимо выполнить несколько операторов, то они заключаются в фигурные скобки. В операторе if слово else может отсутствовать.

В операторе if - else непосредственно после ключевых слов if и else должны следовать другие операторы. Если хотя бы один из них является оператором if, его называют вложенным. Оператор switch позволяет выбрать одну из нескольких альтернатив. Он записывается в следующем формальном виде: switch (выражение)

{

case константа_1: операторы_1;

break;

case константа_2: операторы_2;

break;

........ ........

default: операторы_default;

}

Здесь вычисляется значение целого выражения в скобках и оно сравнивается со всеми константами. Все константы должны быть различными. При совпадении выполнится соответствующий вариант операторов. Вариант с ключевым словом default реализуется, если ни один другой не подошел. Если default отсутствует, а все результаты сравнения отрицательны, то ни один вариант не выполняется. Для прекращения последующих проверок после успешного выбора некоторого варианта используется оператор break, обеспечивающий немедленный выход из переключателя switch. Рассмотрим правила выполнения безусловного перехода, который можно представить в следующей форме: goto метка; Метка - это любой идентификатор, после которого поставлено двоеточие. Оператор goto указывает, что выполнение программы необходимо продолжить начиная с оператора, перед которым записана метка. Метку можно поставить перед любым оператором в той функции, где находится соответствующий ей оператор goto.

Соседние файлы в предмете Основы алгоритмизации и программирования