Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C.doc
Скачиваний:
29
Добавлен:
08.05.2015
Размер:
1.17 Mб
Скачать

Оператор if

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

if (выражение) <оператор 1 или группа операторов 1>

else <оператор 2 или группа операторов 2>

Если значение выражения истинно, то выполняется 1, в противном случае выполняется 2.

Часть else <оператор 2 или группа операторов 2> не является обязательной, то есть допустима следующая запись оператора if:

if (выражение) <оператор 1 или группа операторов 1>

Если используются вложенные операторы if, то конструкция else относится к ближайшему по тексту вверх оператору if.

Пример: ввод целого числа и определение, больше, меньше или равно нулю.

main()

{

int i;

/* ввод значения i */

printf("\nВведите целое число: ");

scanf("%d",&i);

/* печать начальной шапки сообщения */

printf("\nВведенное число %d ",i);

/* определение и вывод сообщений */

if (i<0) printf("<0");

else

if (i>0) printf(">0");

else printf("=0");

}

Операторы циклов Оператор while

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

while (выражение) <оператор или группа операторов>

До тех пор, пока значение выражение истинно, выполняется оператор или группа операторов.

Пример: подсчет числа символов 't' в символьном массиве.

main()

{

char *f="апофгцtsuwnstxjska";

int i,j;

i=0; /* текущий счетчик символов */

j=0; /* счетчик числа символов t */

while (*(f+i)!=0) /* проверка на конец строки */

if (*(f+(i++))=='t') j++; /* если символ t, увеличиваем j на 1-цу */

printf("\nЧисло символов t в строке %s равно %d",f,j);

}

Примечание: если данная программа тяжела для понимания, рекомендуется написание предыдущей программы, например, в виде:

main()

{

char f[]="апофгцtsuwnstxjska";

/* количество элементов массива f можно не описывать, оно равно

числу элементов во введенной строке */

int i,j;

i=0;

j=0;

while (f[i]!=0)

{

if (f[i]=='t') j++;

i++;

}

printf("\nЧисло символов t в строке %s равно %d",f,j);

}

Оператор do ... While

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

do <оператор или группа операторов> while (выражение);

Этот оператор отличается от оператора while тем, что выражение проверяется после выполнения оператора или группы операторов.

Пример: ввод и печать целых чисел с остановкой после ввода нуля

main()

{

int i;

do

{

scanf("%d",&i);

printf("Введенное число: %d\n",i);

}

while (i!=0);

}

Оператор for

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

for (выражение 1; выражение 2; выражение 3)

<оператор или группа операторов>

Выражение 1 обычно задает начальное значение переменной цикла. Выражение 2 обычно задает условие продолжения цикла. Выражение 3 обычно задает некоторую модификацию переменной цикла за каждое выполнение цикла.

Пример: вычисление таблицы умножения 4 на N от 1 до 9.

main()

{

int i;

for (i=1; i<10; i++) printf("\n4 * %d = %d",i,i*4);

}

Примечание: в операторе for можно использовать более 3 выражений. Например, оператор for (i=0; j=0; j<10; i++; j+=2) ... задает два начальных значения переменных цикла, а также две модификации переменных цикла. Использовать такие конструкции начинающему программисту на С не рекомендуется. Данную конструкцию можно (и предпочтительно) написать с использованием множественных выражений в числе трех, то есть в данном случае

for (i=0, j=0; j<10; i++, j+=2) ...

Можно использовать также бесконечный цикл for (;;) ...

В качестве примера можно написать оператор, вычисляющий длину строки, находящейся в символьном массиве с именем a. Результат будет находиться в переменной i:

for (i=0; a[i]!=0; i++) ;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]