
- •Основы программирования язык “с” Минск – 2005
- •§1 Введение в программирование
- •Void main()
- •Void main()
- •Void main()
- •2 Распечатать свою фамилию следующим образом
- •3. Распечатать прямоугольник следующим образом
- •1.1 Простые программы: печать стоки текста Понятие переменной.
- •Volatile while
- •1.2 Целый тип данных
- •1.3 Числа с плавающей точкой
- •Void main({
- •1.4 Символьный тип
- •Void main()
- •§2 Управляющий структуры
- •2.1 Структура выбора if (если) и if/else(если - иначе)
- •Void main()
- •Void main()
- •2.2 Структуры повторенийfor(цикл)
- •Void main()
- •Void main()
- •2.3 Структура повторения while (пока)
- •Void main()
- •Void main()
- •Void main(){
- •Void main()
- •Void main()
- •2.4 Структура многомерного выбора switch
- •Void main()
- •Void main()
- •2.5 Операторы continue и break
- •Void main()
- •Void main()
- •2.6 Контрольные вопросы:
- •§3 Функция
- •Int printf(“const char * string”,…); %[флаг][ширина][точность][модификатор типа] тип_формата
- •Int scanf(const char * format, ……); возвращаемое значение – число считанных полей
- •3.1 Определение функции:
- •3.2 Классы памяти.
- •3.3 Указатели
- •Void main()
- •Void fff(int,int,int*,int*,int*,double*);
- •Void main()
- •Void fff(int a,int b,int*p1,int*p2,int*p3,double*p4)
- •Генерация случайных чисел.
- •Void main()
- •Void main()
- •Void main()
- •Void main(){
- •Void main()
- •3.6 Переменные перечисляемого типа
- •Int rollDice();
- •Void main()
- •Int sum,myPoint;
- •Int rollDice(){
- •Int die1,die2,workSum;
- •Void main()
- •§4 Массивы
- •4.1 Одномерные массивы
- •Int array[10];
- •4.2 Примеры использования массивов
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •4.3 Сортировки массивов
- •Void main()
- •Void main()
- •Void main()
- •Void main(){
- •Int arr1[maxsize],arr2[maxsize],buf;
- •Void main()
- •4.4 Передача массивов функции
- •4.5 Двумерные массивы
- •Void main()
- •Int I,j,temp;
- •Void main()
- •4.6 Контрольные вопросы:
- •§5 Символьная строка
- •5.1 Объявление символьной строки
- •Void main()
- •Void main()
- •Int srav(char *,char *);
- •Void main()
- •Int srav(char *X,char *y)
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •5.3 Массив строк
- •Void main()
- •Void main()
- •Void main()
- •§6 Динамическое распределение памяти
- •6.1 Функция malloc()
- •Void * malloc(unsigned size)
- •Void free(free *ptr)
- •Void main(){
- •Void main(){
- •Void vvod_mas(int*,int);
- •Void sort_vozr(int*,int);
- •Void main()
- •Vvod_mas(ptr1,n1);
- •Vvod_mas(ptr2,n2);
- •Void sort_vozr(int*X,int n)
- •Void vvod_mas(int*X,int n)
- •6.2 Функция сalloc()
- •Void * сalloc(unsigned num ,unsigned size)
- •6.3 Функция realloc()
- •Void * realloc(void *ptr ,unsigned size)
- •§7 Структура
- •7.1 Объявление структуры
- •Void main()
- •7.2 Объединения
- •§8 Файлы и потоки
- •8.1 Объявления файла
- •Int feof(file *);
- •8.2 Работа с текстовым файлом
- •Int fprintf(file *, const char format, …);
- •Void main()
- •Int account;
- •Int fputs(const char *, file *);
- •Int fscanf( file *, const char *format, …..);
- •Void main()
- •Void main()
- •Int account;
- •Void main()
- •Int fseek(file *,long ,int );
- •Void main()
- •Void main()
- •Void main()
- •Void show_file(file *k1)
- •Void dobav_file(file *k1)
- •Void fill_file(file *k1)
- •Создание файла произвольного доступа.
- •8.3 Работа с бинарным файлом
- •Void main()
- •Void main()
- •Void print_file(file *);
- •Void main(){
- •If(feof(k1)){
- •If(feof(k2)){
- •Void print_file(file *k){
- •8.4 Kонтрольные вопросы
- •Какие операции определены со строками?
2.5 Операторы continue и break
Операторы break и continue изменяют поток управления. Когда оператор break выполняется в структурах while, for, do/while или switch, происходит немедленный выход из структуры и программа продолжает выполнять операторы, написанные после структуры. Обычное назначение оператора break – досрочно прерывать цикл или пропустить оставшуюся часть структуры switch. Оператор continue выполняется в структурах while, for, do/while вызывает пропуск оставшейся части тела структуры и начинает выполнять следующую итерацию цикла. В структурах while и do/while после выполнения оператора continue производится проверка условия продолжения цикла, а в структуре for выполняется выражение приращения, а затем проверка условия продолжения цикла.
Примеры:
1. Использование оператора break в цикле for
#include<stdio.h>
void main()
{
for(int x=1;x<=10;x++)
{
if(x==5)
break;
printf("%d ",x);
}
printf("\nCikol prervan pri x=%d\n",x);
}
2. Использование оператора break в цикле while
#include<stdio.h>
void main()
{
int x=1;
while(x<=10)
{
if(x==5)
break;
printf("%d ",x);
x++;
}
printf("\nCikol prervan pri x=%d\n",x);
}
3. Использование оператора continue в цикле for
#include<stdio.h>
void main()
{
for(int x=1;x<=10;x++)
{
if(x==5)
continue;
printf("%d ",x);
}
}
4. Использование оператора continue в цикле while
#include<stdio.h>
void main()
{
int x=1;
while(x<=10)
{
if(x==5)
{
x++;
continue;
}
printf("%d ",x);
x++;
}
}
Что получим после выполнения данной программы?
int x, z=0;
for(x=0;x<5;x++)
{ z++;
if(x<3)
continue;
if(x>3)
break;
z++;
}
printf(“z=%d\n”,z);
Написать данную программу с использованием оператора while.
Задачи:
1. Программа, которая определяет, является ли введенное целое число совершенным или нет. Целое число является совершенным, если его сомножители, включая 1 (но не само число) в сумме дает это число. Например, 6 – это совершенное число, т.к. 6=1+2+3.
#include<stdio.h>
Void main()
{
int n,i,sum=1;
printf("Vvedite chislo: ");
scanf("%d",&n);
for(i=2;i<=n/2;i++)
{
if(!(n%i))
sum+=i;
}
if(sum==n)
printf("\a\aChislo SOVERSHENNO!!!!!\n");
else
printf("NET!!!!!\n");
}
2. Программа, которая получает целое число и печатает число в обратном порядке. Например, если ввели 12345, то программа печатает 54321.
3. Ввести целое число и определить является ли данное число простым или нет.
#include<stdio.h>
Void main()
{
int n,i,sum=1;
printf("Vvedite chislo: ");
scanf("%d",&n);
for(i=2;i<=n/2;i++)
{
if(!(n%i))
break;
}
if(i==n/2+1)
printf("\a\aChislo PROSTOEO!!!!!\n");
else
printf("NET!!!!!\n");
}
4.
Вычислить сумму
int k,n,j,p,x;
double a,s;
printf("\n input n,x");
scanf("%d%d",&n,&x);
s=1;
for(k=1;k<=n;k++)
{p=1;
for(j=1;j<=k;j++)
p*=j;
a=pow(x,k);
s+=a/p; }
printf("s=%5.1lf",s);
5. Вычислить
сумму