Простейшие функции Ввода вывода
Функция вывода 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 принимает в качестве аргумента число, и в зависимости от его значения выполняет те или иные команды. ?
Если значение переменной не соответствует ни одному case, то выполняется default ветвь. Она может отсутствовать, тогда вообще ничего не выполняется. Ветвь 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(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; }
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (343)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |