
- •Основы программирования язык “с” Минск – 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онтрольные вопросы
- •Какие операции определены со строками?
Int scanf(const char * format, ……); возвращаемое значение – число считанных полей
format - %d,%f,%s,%lf,%c
Данные в языках “С/C++” могут быть локальными или глобальными. Локальными могут быть только переменные, т.е. переменные функции и параметры функции и к локальным переменным можно ссылаться толь в функции, в которой они определены. Глобальные переменные объявляются вне функции и они сохраняют свое значение в течении всего времени выполнения программы, а также на них можно ссылаться в любой функции, которая объявлена после объявления глобальных переменных.
3.1 Определение функции:
тип_возвращаемого_значения имя_функции (список параметров)
{
объявления и операторы, т.е. тело функции
}
тип_возвращаемого_значения - это тип данных результата, возвращаемого из функции. Тип возвращаемого значения void указывает, что функция не возвращает никакого значения, или на прямую не возвращает никакого значения.
имя_функции – это любой правильно написанный идентификатор.
список параметров – это список разделенных запятыми объявлений тех параметров, которая получает функция при вызове. Если функция не получает никаких значений, список параметров задается как void, т.е. список параметров пустой.
Прототип функции: является одной из наиболее важных особенностей языка, т.к. прототип функции указывает компилятору тип данных, возвращаемый функцией, количество параметров, которое ожидает функция, тип параметров и ожидаемый порядок их следования.
Оператор return . Оператор return завершает выполнения функции, в которой он встретился, и передает управление в вызывающую программу в точку вызова. Оператор return имеет следующий вид: return выражение; Выражение может быть как константой и вычисляемым выражением. Оператор return в теле функции может встречаться несколько раз.
Примеры:
Используя глобальную переменную, программа считает квадрат вводимого числа с использованием функции.
#include<stdio.h>
void kvadrat();// прототип функции
int x;// глобальная переменная, следовательно она понимается как в функции main(), так и в
//функции kvadrat()
void main(){
printf("x=");
scanf("%d",&x);
kvadrat();//вызов функции
}
void kvadrat(){// описание функции
printf("%d^2=%d\n",x,x*x);
}
Неправильный пример, с использованием локальной переменной.
#include<stdio.h>
void kvadrat();
void main(){
int x;// локальная переменная, для функции main(), поэтому она не доступна в функции kvadrat()
printf("x=");
scanf("%d",&x);
kvadrat();
}
void kvadrat(){
printf("%d^2=%d\n",x,x*x);
}
Правильный пример, с использованием локальной переменной
#include<stdio.h>
void kvadrat(int);//функция с параметром
void main(){
int x;// локальная переменная, для функции main(), поэтому она не доступна в функции kvadrat()
printf("x=");
scanf("%d",&x);
kvadrat(x);
}
void kvadrat(int a){
printf("%d^2=%d\n",a,a*a);
}
При вызове функции мы передаем ей переменную, с которой она должна работать, т.е. создается локальная переменная а, которая получает то же значение, что и х. После вызова функции kvadrat() все локальные переменные уничтожаются автоматически.
Пример с использованием возвращаемого значения и параметром
#include<stdio.h>
int kvadrat(int);//функция с параметром и возвращаемым значением
void main(){
int x,kv;// локальная переменная, для функции main(), поэтому она не доступна в функции kvadrat()
printf("x=");
scanf("%d",&x);
kv=kvadrat(x);
printf(“%d^2=%d\n”,x,kv);
}
int kvadrat(int a){
int y;
y= a*a;
return y;// return a*a;
}
Ввести 5 чисел x1,x2,x3,x4,x5 и определить максимальное из x1,x2,x3; из x4,x2,x3; из x4,x5,x3. Использовать функцию, которая получает 3 числа и возвращает максимальное из них
#include<stdio.h>
int max_3(int, int, int);
void main(){
int x1,x2,x3,x4,x5,max1,max2,max3;
printf("5 chisel:");
scanf("%d%d%d%d%d",&x1,&x2,&x3,&x4,&x5);
max1=max_3(x1,x2,x3);
printf("Iz chisel: %d %d %d max=%d\n",x1,x2,x3,max1);
max2=max_3(x4,x2,x3);
printf("Iz chisel: %d %d %d max=%d\n",x4,x2,x3,max2);
max3=max_3(x3,x4,x5);
printf("Iz chisel: %d %d %d max=%d\n",x4,x5,x3,max3);
}
int max_3(int a,int b,int c){
int max=a;
if(max<b)
max=b;
if(max<c)
max=c;
return max;
}
Ввести 5 чисел x1,x2,x3,x4,x5 и определить минимальное из x1,x2,x3; из x4,x2,x3; из x4,x5,x3. Использовать функцию, которая получает 3 числа и возвращает минимальное из них
Ввести 5 чисел x1,x2,x3,x4,x5 и определить минимальное и максимальное из x1,x2,x3; из x4,x2,x3; из x4,x5,x3. Использовать 2 функции, 1-ая получает 3 числа и возвращает минимальное из них, 2-ая получает 3 числа и возвращает максимальное из них
Написать функцию, которая считает факториал числа. Ввести 3 числа, посчитать их факториалы.
Решение квадратного уравнения, используя 3 функции: 1-ая печатает уравнение, 2-ая считает дискриминант, 3-я выводит корни уравнения.
Функция, которая получает степень n и основание x и возвращает xn.
Функция получает 2 целых числа и возвращает деление этих чисел.
Функция, которая получает число и определяет, является ли данное число совершенным или нет. Используя эту функцию в программе, которая определяет и печатает все совершенные числа от 1 до 1000. Напечатайте все сомножители каждого совершенного числа, чтобы убедится, чтобы убедиться, что число действительно совершенно.