Описание данных символьного типа
⇐ ПредыдущаяСтр 3 из 3 Данные символьного тапа описываются служебным словом char. Например: char a=’A’, b, c; Значением переменной символьного типа является код соответствующего типа. Символьной константой называется символ, заключенный в одинарные кавычки. Например: b=’B’;
Программирование циклов В Си, как и в Паскале, существуют все три типа операторов цикла: цикл с предусловием, цикл с постусловием и цикл с параметром. Цикл с предусловием. Формат оператора цикла с предусловием: while (выражение) оператор; Цикл повторяет свое выполнение, пока значение выражения отлично от нуля, т. е. заключенное в нем условие цикла истинно.
Пример Программа вычисления факториала целого положительного числа N!.
include <iostream.h> void main() { long int F; int i,N; cout<<"N="; cin>>N; F=i=l; while(i<=N) F=F*i++; cout<<"\n"<<N<<"!="<<F; }
Интересно свойство следующего оператора: while(1); Это бесконечный пустой цикл. Использование в качестве выражения константы 1 приводит к тому, что условие повторения цикла все время остается истинным и работа цикла никогда не заканчивается.
Пример Вычислить сумму гармонического ряда: 1 +1/2+1/3+... с заданной точностью е
#include<iostream.h> #include <limits.h> void main() { int n=l; double S=0, eps; cout<<"Tочность: "; cin>>eps; while(1.0/n>eps && n<INT_MAX) S+=l./n++; } Файл limits.h, подключаемый препроцессором, содержит определения предельных констант для целых типов данных. В частности, константа с именем int_max равна максимальному значению типа int в данной реализации компилятора. Цикл с постусловием. Формат оператора цикла с постусловием: do оператор while (выражение); В отличие от оператора repeat...until, используемого в Паскале, где в конце пишется условие выхода из цикла, в операторе do... while в Си в конце пишется условие повторения цикла.
Пример Программа вычисления факториала целого положительного числа N!
#include <iostream.h> void main() { long int F; int i,N; cout<<"N="; cin>>N; F=i=l; do F*=i++; while(i<=N); cout<<"\n"<<N<<"! ="<<F; }
Цикл с параметром. Формат оператора цикла с параметром: for (выражение_1; выражение_2; выражение_3) оператор; Выражение 1 выполняется только один раз в начале цикла. Обычно оно определяет начальное значение параметра цикла (инициализирует параметр цикла). Выражение 2 — это условие выполнения цикла. Выражение 3 обычно определяет изменение параметра цикла, оператор — тело цикла, которое может быть простым или составным. В последнем случае используются фигурные скобки. Алгоритм выполнения цикла for представлен на блок-схеме. С помощью цикла for нахождение N! можно организовать следующим образом: F=l; for(i=l;i<=N;i++) F=F*i; Используя операцию «запятая», можно в выражение 1 внести инициализацию значений сразу нескольких переменных: for(F=l,i=l;i<=N;i++) F=F*i; Некоторых элементов в операторе for может не быть, однако разделяющие их точки с запятой обязательно дожны присутствовать. Ниже показан еще один вариант вычисления N!. В нем на месте тела цикла находится пустой оператор, а вычислительная часть внесена в Выражение3. for(F=l,i=l;i<=N;F=F*i,i++); Этот же оператор можно записать в следующей форме: for(F=l,i=l;i<=N;F*=i++); В языке Си оператор for является достаточно универсальным средством для организации циклов. С его помощью можно программировать даже итерационные циклы, что невозможно в Паскале. Вот пример вычисления суммы элементов гармонического ряда, превышающих заданную величину е: for (n=l, S=0; 1.0/n>eps && n<INT_MAX; n++) S+=1.0/n; И наконец, эта же самая задача с пустым телом цикла:
for(n=l,S=0;1.0/n>eps && n<INT_MAX; S+=l. 0/n++); Оператор continue. Если выполнение очередного шага цикла требуется завершить до того, как будет достигнут конец тела цикла, используется оператор continue. Оператор goto. Оператор безусловного перехода goto существует в языке Си, как и во всех других языках программирования высокого уровня. Однако с точки зрения структурного подхода к программированию его использование рекомендуется ограничить. Формат оператора: goto метка; Метка представляет собой идентификатор с последующим двоеточием, ставится перед помечаемым оператором. При использовании оператора безусловного перехода необходимо учитывать следующие ограничения: • нельзя входить внутрь блока извне; • нельзя входить внутрь условного оператора (if...else...); • нельзя входить внутрь переключателя; • нельзя входить внутрь цикла.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|