
- •Основы программирования язык “с” Минск – 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онтрольные вопросы
- •Какие операции определены со строками?
Void main()
{
double xa,ya,xb,yb,ab;
printf("xa=");
scanf("%lf",&xa);
printf("ya=");
scanf("%lf",&ya);
printf("xb=");
scanf("%lf",&xb);
printf("yb=");
scanf("%lf",&yb);
ab=sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb));
printf("Rastoyanie mezdu A(%.2lf;%.2lf) i B(%.2lf;%.2lf)=%.2lf\n",xa,ya,xb,yb,ab);
}
Ввести координаты центра окружности O (xo,yo), радиус r. Ввести также и координаты точки А(ха, ya) и определить попадает ли данная точка в окружность или нет.
2.2 Структуры повторенийfor(цикл)
Структура повторена for содержит все элементы, необходимые для повторения, управляемые счетчиком. Общая форма структуры for
for(выражение1; выражение2; выражение3)
{
операторы; или оператор;
}
выражение 1 – это начальное значение управляющей переменной
выражение 2 – это условие продолжения цикла
выражение 3 – изменяет управляющую переменную
Чтобы проиллюстрировать работу структуры for посмотрим работу следующих программ.
Пример: Распечатать все числа от 1 до 10
for(int i=1;i<=10;i++)
printf(“%d ”,i);
При выполнении структуры for, управляющей переменной i задается начальное значение 1. Затем проверяется условие продолжения цикла i<=10, т.к. начальное значение равно 1, то условие выполняется и следовательно выполняется тело структуры, т.е. срабатывает функция printf(“%d ”,i), которая печатает значение переменной i, которая равна 1. Затем управляющая переменная увеличивается на 1 в выражении i++ и цикл опять начинается с проверки условия его продолжительности. Этот процесс продолжается до тех пор пока переменная i, не примет значение 11, т.к. при этом значении не выполняется условие продолжительности цикла. Следовательно распечатаются все числа от 1 до 10.
Распечатать все числа от 10 до 1
for(int i=10;i<=1;i--)
printf(“%d ”,i);
Задачи:
Напечатать числа от 3 до 20.
Напечатать числа от 50 до 120.
Напечатать все четные числа от 10 до 100.
for(int i=10;i<=100;i+=2)
printf(“%d ”,i);
Напечатать все нечетные числа от 150 до 20.
Распечатать все числа от 1 до введенного числа и рядом их квадраты:
Если введенное число 4, то
1
4
9
16
Введите 2 числа и распечатать все числа от наименьшего до наибольшего
Введите 2 числа и распечатать все числа от наибольшего до наименьшего
Введите 2 числа и посчитать сумму всех чисел между ними
#include<stdio.h>
Void main()
{
int i,n,m,sum=0;
printf("Введите два целых числа: ");
scanf("%d%d",&n,&m);
if(n>m){
i=n;
n=m;
m=i;
}
for(i=n;i<=m;i++)
{
if(i!=n)
printf("%+d",i);
else
printf("%d",i);
sum+=i;
}
printf("=%d\n",sum);
}
Введите число и посчитать произведение всех чисел от 1 до этого числа
Введите число, которое записывается в переменную n, и посчитать 2^n.
#include<stdio.h>
Void main()
{
int n,st=2,i;
printf("Введите степень:");
scanf("%d",&n);
for(i=2;i<=n;i++)
st*=2;
printf("2^%d=%d\n",n,st);
}
Введите 2 числа. Первое число x - основание, второе число - степень, посчитать x^n.