Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции C.DOC
Скачиваний:
3
Добавлен:
16.08.2019
Размер:
41.47 Кб
Скачать

If( целое_выражение )

оператор 1

else

oператор 2

Условный оператор может быть не полным (без else).

Переключатель

switch( целое_выражение ){

case константа_1:

операторы

case константа_2:

операторы

...

...

default:

операторы

}

Вычисляется целое_выражение и сравнивается с константами, если нашлась равная, то выполняются соответствующие операторы, если ни одной не нашлось, то операторы в фразе default. Фраза default может быть опущена.

Если начнет выполняться один case то выполняется все следующее за ним – эффект проваливания. Поэтому обычно операторы очередного case завершаются оператором break.

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

преждевременный выход из switch и из циклов.

Цикл пока с предусловием:

while( целое_выражение ) оператор

оператор м.б. составным

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

do операторы while( целое_выражение );

Хотя бы один раз цикл выполнится. Выполнится пока условие – целое_выражение истинно.

Цикл for

for( выражение1; целое_выражение2; выражение_3 ) оператор

выважение1 выполняется всегда один раз до начала выполнения тела цикла – оператор.

целое_выражение2 – это условие продолжения цикла с предусловием.

После очередного выполнения тела цикла, вычисляется выражение_3, т.е. оно вычисляется столько раз, сколько раз выплняется тело цикла.

Пример: for( i = 1; i <= maxi ;i = i + 1 ) тело цикла;

Замечание: любое из трех выражений может быть опущенно. Если опущенно выражение_2, то цикл бесконечный.

Оператор продолжения цикла

оператор continue служит для продолжение цикла, т.е. перехода к следующей итерации цикла.

Функции

В языке СИ есть только функции.

В СИ нет вложенного описания функции.

Программа на СИ состоит как минимум из одной функции main( ).Именно из нее начинается выполнение программы

Синтаксис описания функции

mun _ имя функции (список формальных параметров)

{

описание данных

исполняемые операторы

}

Пример: #include <stdio.h>.- проверка параметров функции

woid main( )

{ printf (“Это наша первая программа на СИ\n”);

}

/*main*/ -комментарий

#include -деректива включения файла < > в нашу программу

woid -mun функции которая ничуго не возвращает.

Для возврата из функции используется оператор RETURN;

Если он есть =>возврат осуществляется но возвращения значения нет, иначе RETURN (выражение)

Указатели ,строки

Строковая константа это выражение заключ. в ковычки

“…” -char [ ] -массив символов

‘ c ’ -char

Строкой считается совокупность символов, которая завершается нулевым байтом.

Пустая строка - в самом первом байте стоит 0.

string.h -библиотека для работы со строками.

Указатели:

char s[20]

s[i]

*(s+1) - обращение к итому символу

i - относительный индекс размерности элементов.Если элемент 25 байт, то i=25*i.

Если i не индекс а указатель, то это еще эффективней.

Пример: найти символ в строке.

# include <stdio.h>

main ( ) {

char c;

char S[ ] = “.................................................”;

int i OKF ind = 0;

c = ‘a’;

for (i = 0; S[i]:= ‘\ 0’; i ++)

if (S[i] c) {

OKFind = 1;

break;

}

if (OKFind == 1)

printf (“Ура\ n”);

} / *main* /.

Операция “,” - последовательность выражений через “,” тоже вуражения

Из программы сделаем функцию,которая определяет наличие символа в строке.

Входные параметры функции:

  1. указатель на строку , в которой искать

  2. символ, который искать.

Возвращаемое значение:

указатель на найденый символ (не 0) или NULL, если символ не найден.

char *CharFind(char*S, char c) {

for ( S&&*S != c , S + +);

if (*S) return (S);

return (NULL);

} / * CharFind * /

Параметры в СИ всегда передаются по значениюю (внутри функции создается копия и все выполняется с копией), за исключением массивов, которые всегда передаются по i-ссылке.(передается адрес; измен., перемещается в вызываюющей программе).

S - локальна переменная - указатель на char с начальным значением - указатель на начало, поэтому в for первое значение опущено.

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