- •Рецензенты:
- •Лекция 1 Основные понятия языка с
- •Первая программа
- •Переменные языка с
- •Имя переменной
- •Объявление константы
- •Операции языка с
- •Лекция 2 Операторы языка с Условный оператор
- •Оператор безусловного перехода
- •Оператор switch
- •Циклы Цикл for
- •Циклы while и do-while
- •Использование операторов break, continue и goto в циклах
- •Операция условие ?
- •Лекция 3 Массивы
- •Инициализация массивов
- •Массивы символов. Строки
- •Функции для работы со строками
- •Лекция 4 Указатели
- •Объявление указателей
- •Операции над указателями
- •Связь указателей и массивов
- •Массивы указателей
- •Инициализация указателей
- •Лекция 5 Функции языка с
- •Объявление функции
- •Оператор return
- •Прототипы функций
- •Функции c произвольным числом параметров
- •Область действия и область видимости переменной
- •Классы памяти
- •Параметры и аргументы функции
- •Лекция 6 Типы, определяемые пользователями
- •Структура
- •Перечислимый тип
- •Переименование типов-typedef
- •Лекция 7 Модели памяти и препроцессор языка с Модели памяти
- •Препроцессор языка с
- •Директива #define
- •Список рекомендуемой литературы
- •Оглавление
- •Программирование на языках высокого уровня: с
- •428015 Г.Чебоксары, Московский просп., 15
Оператор безусловного перехода
Оператор goto служит для выхода из вложенных циклов или для перехода к нужному месту программы. Этот оператор тесно связан с таким понятием, как метка. Метка в С/С++ -это идентификатор, за которым следует двоеточие. Например,
goto exit;
…
exit: printf(“конец программы");
Пример использования оператора безусловного перехода представлен в программе 2.1.
Оператор switch
Язык С имеет встроенный оператор множественного выбора switch. Основная форма оператора имеет вид
switch(выражение) {
case const1:
Последовательность операторов
break;
case const2:
Последовательность операторов
break;
…
case const2:
Последовательность операторов
break;
default:
Последовательность операторов
Сначала выполняется выражение в скобках за ключевым словом switch. Затем рассматривается список меток до тех пор, пока не находится метка, соответствующая значению вычисленного выражения. Далее происходит выполнение соответствующей последовательности операторов, следующих за двоеточием. Если же значение выражения не соответствует ни одной из меток оператора switch, то выполняется последовательность операторов, следующая за ключевым словом default.
Допускается конструкция оператора, когда слово default и соответствующая последовательность операторов может отсутствовать.
Еще один, не встречавшийся нам ранее, оператор break. Когда после последовательности операторов встречается ключевое слово break, то выполнение его приводит к выходу из оператора switch и переходу к следующей строке программы. Наличие этого оператора необязательно.
Пример использования оператора switch:
switch(сh){
case ‘j’:
printf(“Sessia”); break;
case ‘f’:
printf(“Study”); break;
case ‘a’:
printf("holidays"); break;
default:
printf(“Work");
Циклы Цикл for
Общий вид оператора цикла:
for(инициализация; проверка условия; изменение) оператор;
или
for(инициализация; проверка условия; изменение)
последовательность операторов}
Например,
for(i=0;i<2; i++) printf("i= %d\n", i);
или
for(char c='a'; c<'e'; C++) { scanf("%c\n", &c); c= char(ord(c)-l); printf("%c\n", c); }
или
for(char с =’a’; c!='e';) scanf<"%c\n", &c);
Этот цикл будет выполняться до тех пор, пока с клавиатуры не будет введен символ 'е'.
Следующий пример иллюстрирует выполнение составного оператора после цикла:
for(i=0: i<2: i++) {
prinlf("h %d\n", i);
int x=i (i+1);
printf(“x=%d\n". x);}
Следующая программа выводит последовательность символов и их машинных кодов от 0до 255:
Программа 2.2:
#include<stdio.h>
void main() {
char c=0;
for (int i=0; i<256; i++)
printf(“%c=%d",c,c++); }
Циклы while и do-while
Основная форма оператора цикла while с предусловием имеет вид
while(условие) оператор; или whilе(условие) {последовательность операторов}
Цикл выполняется до тех пор, пока условие истинно. Когда условие принимает значение “ложно”, управление передается следующему оператору программы.
В отличие от предыдущих циклов в цикле do-while условие проверяется в конце оператора цикла. Основная форма оператора do-while следующая
do {
последовательность операторов
} while (условие);
Фигурные скобки не обязательны, если внутри них находится один оператор. Какое бы условие не стояло в конце оператора, набор операторов в фигурных скобках выполнится хотя бы один раз.
Следующая программа иллюстрирует использование операторов цикла
№ строки |
Программа 2.3. |
1 |
#include<stdio.h> void main() |
2 |
{ int i; |
3 |
for (i=0; i<2; i++) {printf(“i=%d\n”,i);} |
4 |
for(cha c=’a’; c<’e’; c++) {if (c==’d’) printf(“end of the loop for c=%c\n”,c); } |
5 |
while (c<’f’) {printf(“loop while c=%c\n”,c++);} |
6 |
c=’a’; |
7 |
do {printf(“loop do c=%c\n”, ++c); } while(c<’d’);} |
Результат выполнения этой программы |
i=0 i=1 end of the loop for c=d loop while c=e loop do c=b loop do c=c loop do c=d |
