- •1 Порядок разработки программного продукта
- •2 Структура программы на языке с
- •Int age; // Поле age
- •Void main(void) // Основная функция
- •3 Типы данных языка с
- •Void main(void)
- •Int *iptr; // Объявление указателя
- •Void main(void)
- •Int *iptr; // Объявление указателя
- •Void main(void)
- •Void show_string(char *string)
- •Void main(void)
- •4 Операции языка с
- •Арифметические операции
- •Void main(void)
- •Void main(void)
- •Логические операции
- •Void main(void)
- •Операции отношения
- •Поразрядные операции
- •Побитовые операции
- •Void main(void)
- •Адресные операции
- •Операция “условие”
- •Void main(void)
- •Операция sizeof()
- •Void main(void)
- •Int size;
- •Void main(void)
- •Int *iptr;
- •Void main(void)
- •Int *list,I;
- •Операция вызова функции
- •5 Операторы языка с
- •Условный оператор if
- •Оператор switch
- •Void main(void)
- •Void main(void)
- •Оператор цикла for
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Цикл while
- •Void main(void)
- •Цикл do ... While
- •Void main(void)
- •Вложенные циклы
- •Void main(void)
- •Void main(void)
- •Int I,j,score;
- •Int scores[line][column];
- •Оператор безусловного перехода
- •Оператор break
- •Void main(void)
- •Оператор continue
- •Void main(void)
- •If (I % 5) continue;
- •Оператор return
- •6 Организация функций
- •Int sum_vect(int V[], int n)
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •7 Библиотечные функции
- •7.1 Функции форматного ввода-вывода
- •Int printf(char*format[, argument,...]);
- •Void main(void)
- •Void main(void)
- •Int scanf(char *format[,argument,...]);
- •Функции для работы с файлами
- •Void main(void)
- •Int vect[line];
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •Void main(void)
- •7.3 Графические средства языка с
- •Void main(void)
- •Initgraph(&gdriver, &gmode, ""); // Инициализация графического режима
- •Int maxX, maxY;
- •Void far initgraph(int far *driver, int far *mode, char far *path);
- •Void main(void)
- •Int driver, mode, errorcode;
- •Void far rectangle(int left, int top, int right, int bottom);
- •Void far setviewport(int left, int top, int right, int bottom, int flag);
- •Void far circle(int X, int y, int radius);
- •7.4 Функции для работы со строками
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •Void main (void)
- •7.5 Математические функции
- •Продолжение таблицы а.7
- •Продолжение таблицы а.7
Void main(void)
{
int s, x, n=0;
randomize(); // Инициализация генератора случайных чисел
s=random(100)+1; // Генерирует случайные числа от 1 до 100
do
{
printf("Введите число от 1 до 100 : ");
scanf("%d",&x);
n++;
if (s<x) printf("Заданное число меньше\n");
if (s>x) printf("Заданное число больше\n");
} while(s-x); // Выход из цикла, когда (s-x) равно нулю
printf("Вы угадали число!\n");
printf("На угадывание затратили %d попыток\n",n);
}
Вложенные циклы
Когда один цикл находится внутри другого, то говорят, что это вложенные циклы. Они часто используются при работе с матрицами (см. примеры 5.9 и 5.10):
// Пример 5.9.
// Найти сумму элементов второго столбца матрицы 3х3
#include <stdio.h>
Void main(void)
{
int m[3][3] = {{5, 1, 7}, {3, 12, 9}, {2, 4, 10}};
int i,j,sum;
printf("Матрица исходных данных\n");
for(i=0; i<3; i++)
{
for(j=0; j<3; j++) printf("%3d ",m[i][j]);
printf("\n");
}
sum=0; j=1;
for(i=0; i<3; i++) sum+=m[i][j];
printf("Сумма элементов второго столбца матрицы равна %5d\n",sum);
}
// Пример 5.10.
// Вложенные циклы и оператор while с выходом continue
// Сформировать матрицу неотрицательных элементов
#include <stdio.h>
#define LINE 3
#define COLUMN 3
Void main(void)
{
Int I,j,score;
Int scores[line][column];
for(i=0; i<LINE; i++)
{
j=0;
while(j<COLUMN)
{
printf("Введите следующее значение %d : ",i);
scanf("%d",&score);
if (score<0)
{
printf("Повторите ввод\n");
continue;
}
else scores[i][j++]=score;
}
}
printf("Матрица значений\n");
for(i=0; i<LINE; i++)
{
for(j=0; j<COLUMN; j++)
printf("%d ",scores[i][j]);
printf("\n");
}
}
Оператор безусловного перехода
Форма оператора: goto метка;
Метка — это имя, служащее в качестве метки, которая обычно пишется прописными буквами, например
ABC2: x = 3;
...................
goto ABC2;
Одно из полезных применений оператора goto — выход из вложенных циклов:
for ( )
{
while ( )
{
for ( )
{
.................
goto exit;
.................
}
}
}
exit: printf(“Быстрый выход из вложенных циклов”);
Оператор break
Оператор break имеет два применения:
окончание варианта case в операторе switch (см. пример 5.1);
немедленное окончание цикла, не связанное с проверкой обычного условия окончания цикла:
// Пример 5.11.
// Оператор break быстрого выхода из цикла
#include <stdio.h>
Void main(void)
{
int i;
unsigned k;
for(i=0; i<1000; i++)
{
k=i*i;
if (k>=32767) break;
else printf("Квадрат числа %d равен %u\n",i,k);
}
}
Оператор continue
Оператор continue используется внутри цикла, когда надо завершить текущую итерацию и, не выполняя последующие операторы, передать управление на начало следующей итерации цикла. В циклах while и do...while происходит переход к следующей итерации без проверки условия (см. пример 5.10). В цикле for наращивается значение управляющей переменной:
// Пример 5.12.
// Вывести натуральные числа, кратные 5
// Оператор continue
#include <stdio.h>