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

Int top, bottom;

char temp, string[N];

for (top=0, bottom = N-1; top<bottom; top++, bottom--)

{

temp=string[top];

string[top]=string[bottom];

string[bottom]=temp;

}

Эта программа переворачивает строку символов string[N].

Как и в других языках программирования, в Сиразрешено использовать цикл в цикле, при этом циклы должны иметьразныепараметры цикла:

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define MIN 6

#define MAX 10000

Int main()

{

Int num, sum, factor;

printf(“\nСовершенные числа от %d до %d:\n”, MIN, MAX);

for (num = MIN; num <= MAX; num += 2)

{

sum = 1;

for (factor = 2; factor < num; factor++)

{

if (num % factor == 0)

sum += factor;

}

if (sum == num)

printf(“\n%d”, num);

}

return 0;

}

Эта программа осуществляет поиск всех совершенныхчисел от6 до10000.

Для досрочногопрекращения выполнения цикла и выхода из него используется оператор прерыванияbreak:

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define MIN 2

#define MAX 10000

Int main()

{

for (int n = MIN; n <= MAX; n++)

{

for (int i = MIN; i < n; i++)

{

if (n % i == 0)

break;

}

if (i == n)

printf(“\n%d”, n);

}

return 0;

}

Эта программа осуществляет поиск всех простыхчисел от2до1000.

Во вложенных циклах команда breakпрекращает выполнение только того цикла,в котором стоит.

Для пропускаодной итерации цикла (перехода к следующей итерации) используется команда продолженияcontinue:

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define MIN 3

#define MAX 100

Int main()

{

for (int number = MIN; number <= MAX; number++)

{

if (number % 3 == 0)

continue;

printf(“\n%d”, number);

}

return 0;

}

Эта программа осуществляет поиск всех чисел, кратныхтрем, от3до100.

Примеры

1.Вычислить Sn– суммуn первых натуральных чисел

АлгоритмSn = 0

для i от 1 до n выполнять

Sn = Sn + i

Программа

#include <stdio.h>

#include <conio.h>

#include <math.h>

Int main()

{

int n, sn=0;

printf(“\nДо какого числа суммировать:”);

scanf(“%d”, &n);

for (int i = 1; i <= n; i++)

{

sn+=i;

}

printf(“\nСумма чисел от 1 до %d равна %d ”, n, sn);

return 0;

}

Структуры данных

В повседневной практике обработки информации мы часто имеем дело с естественно организованными (объединенными) представлениями информации: текстами, списками, таблицами, анкетами. Такие организованные (структурированные) данные во многом облегчают их восприятие и обработку.

Естественная организация данных эффективно отражается в современных языках программирования понятием структур данных.

Под структурами данныхпонимаются специальным образом организованные совокупности данных, облегчающие реализацию алгоритма и их компьютерную обработку.

Отличительной особенностью хорошо написанных программ является то, что данные в них организованы в определенные, наиболее подходящие для их хранения и обработки структуры, а сами программы являются лишь средством обработки этих структур независимо от их информационного содержания. Проектирование подходящих структур данных для их эффективной обработки программой столь же важно, и занятие это, возможно, более сложное, чем написание собственно операторов программы в соответствии с выбранным алгоритмом их обработки. Хорошо спроектированные структуры данных облегчают и ускоряют их обработку, улучшают понимание самой программы.

К базовым структурамданныхвСиотносятся:

  • переменные,

  • массивы,

  • строки,

  • смеси,

  • структуры,

  • файлы.

Из этих структур можно конструировать более сложные, например файлы структур (базы данных).

Понятие переменныхбыло введено раньше – это структура данных, состоящая из отдельных элементов, каждый из которых имеет имя, тип и конкретное значение.