Мегаобучалка Главная | О нас | Обратная связь


Простейшие функции Ввода вывода



2016-01-26 340 Обсуждений (0)
Простейшие функции Ввода вывода 0.00 из 5.00 0 оценок




Функция вывода printf () несколько сложнее, поскольку позволяет применить фор­матированный вывод. Она имеет следующий синтаксис вызова:

printf("Строка, в которую подставляются переменные", переменная1, переменная2, ....);

Функция scanf () считывает из входного потока значения в формате, опреде­ленном в первом параметре, и сохраняет их в переменных, адреса которых пере­даны ей в качестве последующих параметров. Спецификации форматирования для этой функции такие же, как и для printf (). Обычно функция scanf () использу­ется в паре с printf():

scanf("%d,%x\n", &x, &y); /* Считывает два числа, введенные через запятую: одно - в десятичной, а другое – в шестнадцатеричной форме */

printf("х = %d, у = %04Х", х, у);

Управляющие операторы. Блочные Операторы.

Управляющие операторы применяются в рамках методов. Они определяют последовательность выполнения операторов в программе и являются основным средством реализации алгоритмов.

Различаются следующие категории управляющих операторов:

· Операторы выбора. Вводятся ключевыми словами if, if ... else ..., switch.

· Итеративные операторы. Вводятся ключевыми словами while, do ... while, for, foreach.

· Операторы перехода (в рамках методов). Вводятся ключевыми словами goto, break, continue.

11. Условный Оператор If… Else.

Условные операторы позволяют управлять потоком выполнения программы, чтобы не выполнялась каждая строка кода, как она следует в программе.

if (условие)

оператор (операторы)

else

оператор (операторы)

Если по каждому из условий нужно выполнить более одного оператора, эти операторы должны быть объединены в блок с помощью фигурных скобок {...}.

12. Оператор Switch.

switch (day) {

case 0:

printf("Sunday");

break;

case 1:

printf("Monday");

break;

case 2:

printf("Tuesday");

break;

case 3:

printf("Wednesday");

break;

case 4:

printf("Thursday");

break;

case 5:

printf("Friday");

break;

default:

printf("Saturday");

}

Оператор switch принимает в качестве аргумента число, и в зависимости от его значения выполняет те или иные команды.

?

switch (<переменная>) { case <значение 1>: <ветвь 1> [case <значение 2>: <ветвь 2>] [default: <действия по умолчанию>] }

Если значение переменной не соответствует ни одному case, то выполняется default ветвь. Она может отсутствовать, тогда вообще ничего не выполняется.
В примере выше каждая ветвь оканчивается оператором break. Это важно. Когда компьютер видит оператор break, он выходит из оператора switch. Если бы он отсутствовал, то программа "провалилась" бы дальше, и стала выполнять следующие ветви.

Ветвь default может располагаться в любом месте, не обязательно в конце. Этот код также будет нормально работать. default здесь также нуждается в операторе break, как и другие ветви, иначе произойдёт сваливание вниз. Несмотря на то, что так можно писать, это плохой стиль программирования. Ветвь default логически располагается в конце, когда других вариантов больше нет. Возможные значения аргумента оператора switch могут располагаться в любом порядке, но должны быть константными значениями. Это значит, что следующий код не заработает.

Оператор цикла For.

Общая форма записи

for (инициализация параметра; проверка условия окончания; коррекция параметра) {

блок операций;

}

for — параметрический цикл (цикл с фиксированным числом повторений). Для организации такого цикла необходимо осуществить три операции:

· инициализация параметра - присваивание параметру цикла начального значения;

· проверка условия окончания - сравнение величины параметра с некоторым граничным значением;

· коррекция параметра - изменение значения параметра при каждом прохождении тела цикла.

Эти три операции записываются в скобках и разделяются точкой с запятой (;). Как правило, параметром цикла является целочисленная переменная.

Инициализация параметра осуществляется только один раз — когда цикл for начинает выполняться. Проверка условия окончания осуществляется перед каждым возможным выполнением тела цикла. Когда выражение становится ложным (равным нулю), цикл завершается. Коррекция параметра осуществляется в конце каждого выполнения тела цикла. Параметр может как увеличиваться, так и уменьшаться.

Пример

#include <stdio.h>

int main() {

int num;

for(num = 1; num < 5; num++)

printf("num = %d\n",num);

return 0;

}

Можно опустить одно или несколько выражений, но нельзя опускать точку с запятой, разделяющие три составляющие цикла.

for(; num < 5; num++)

printf("num = %d\n",num);

Параметры, находящиеся в выражениях в заголовке цикла можно изменить при выполнении операции в теле цикла.
В цикле for может использоваться операция запятая (,) для разделения нескольких выражений. Это позволяет включить в спецификацию цикла несколько инициализирующих или корректирующих выражений. Выражения, к которым применяется операция запятая, будут вычисляться слева направо.

for(i = 1, j=2; i < 5; i++, j=j+2)

printf("i = %d j = %d\n",i,j);

В Си допускаются вложенные циклы, то есть когда один цикл находится внутри другого:

for ( i=0; i<n; i++) { // цикл 1

for( j=0; j<n; j++) { // цикл 2

// блок операций цикла 2;

}

// блок операций цикла 1;

}

Оператор Цикла While.

Общая форма записи

while(выражение) {

блок операций;

}

Если выражение истинно (не равно нулю), то выполняется блок операций, заключенный в фигурные скобки, затем выражение проверяется снова. Последовательность действий, состоящая из проверки и выполнения блока операций, повторяется до тех пор, пока выражение не станет ложным (равным нулю). При этом происходит выход из цикла, и производится выполнение операции, стоящей после оператора цикла.

Пример

int k=5;

int i=1;

int sum=0;

while(i <=k) {

sum = sum + i;

i++;

}

При построении цикла while, в него необходимо включить конструкции, изменяющие величину проверяемого выражения так, чтобы в конце концов оно стало ложным (равным нулю). Иначе выполнение цикла будет осуществляться бесконечно (бесконечный цикл), например

while(1) {

блок операций;

}

while — цикл с предусловием, поэтому вполне возможно, что тело цикла не будет выполнено ни разу если в момент первой проверки проверяемое условие окажется ложным.

Пример

int k=5;

int n=10;

while(k>n) {

printf(" k=%d n=%d \n", k, n);

k = k + 2;

}

15. Оператор цикла do…While.

Цикл с постусловием do...while

Общая форма записи

do {

блок операций;

} while(выражение);

Цикл с постусловием

Цикл do...while — это цикл с постусловием, где истинность выражения проверяется после выполнения всех операций, включенных в блок, ограниченный фигурными скобками.Тело цикла выполняется до тех пор, пока выражение не станет ложным, то есть тело цикла с постусловием выполнится хотя бы один раз.

Использовать цикл do...while лучше использовать в тех случаях, когда должна быть выполнена хотя бы одна итерация, либо когда инициализация объектов, участвующих в проверке условия, происходит внутри тела цикла.

Пример. Ввести число от 0 до 10

#include <stdio.h>

#include <stdlib.h>

int main() {

int num;

system("chcp 1251");

system("cls");

do {

printf("Введите число от 0 до 10: ");

scanf("%d", &num);

} while((num < 0) || (num > 10));

printf("Вы ввели число %d", num);

return 0;

}



2016-01-26 340 Обсуждений (0)
Простейшие функции Ввода вывода 0.00 из 5.00 0 оценок









Обсуждение в статье: Простейшие функции Ввода вывода

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (340)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)