
- •Основы программирования язык “с” Минск – 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онтрольные вопросы
- •Какие операции определены со строками?
§4 Массивы
4.1 Одномерные массивы
Массив – это группа расположенных друг за другом в памяти элементов одного типа и имеющих одно общее имя. Определение массива должно содержать информацию о типе, количестве элементов и имени массива. Доступ к элементам массива осуществляется по имени массива и индексу элемента. Индекс – это порядковый номер элемента в массиве; индекс первого элемента всегда 0 далее следуют целые положительные числа.
Объявления массива имеет следующий вид:
тип_данных имя_массива [размер];
размер может быть только целой константой.
Несколько примеров объявления массива:
int x[6]; где x – это имя массива, int – это тип, 6 – это количество элементов, или размер массива.
x
0 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
int x[2*4];
int x[]={1,3,5,6,7,8};
x
0 |
1 |
1 |
3 |
2 |
5 |
3 |
6 |
4 |
7 |
5 |
8 |
int x[15]={1,5,-90,7}; в этом случае первые 4 элемента будут соответственно 1,5,-90,7, а остальные будут 0
т.к. размером массива может быть только константа или константное выражение, то
const int n =7;
int x[n];
следующее объявление массива неверно:
int n =7;
int x[n];
В языке “С”, при обработки массивов удобно использовать указатель на этот массив. Любой доступ к элементам массива, осуществляемый операцией индексирования, может быть выполнен и при помощи указателя. Декларация int x[10]; определяет массив ‘x’ из 10 элементов, т.е. блок из10 последовательных элементов с именем x[0],x[1]……,x[9] и определяет значение указателя x, которое равно адресу элемента x[0]. Значение указателя x менять нельзя, т.к. оно является константой, но ее можно присвоить другому указателю и изменить его же значение, а также использовать в выражениях. x[6] тоже самое, что и*(x+6), а &x[6] тоже самое, что и (x+6)
array
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
45 |
56 |
-89 |
6 |
12 |
-4 |
56 |
-6 |
7 |
123 |
Int array[10];
int *p;
Если объявлены массив array и указатель того же типа, то
p=&array[0]; или p=array; мы направляем указатель p на массив. И (p+6), &array[6], &p[6] таким образом мы обращаемся к адресу 6 элемента, а *(p+6), array[6], p[6] таким образом мы обращаемся к самому элементу, который записан под 6 индексом.
Ввод массива осуществляется следующим образом:
for(i=0;i<n; i++)
{
printf("[%d]=",i);
scanf("%d",&x[i]);
}
Вывод массива осуществляется следующим образом:
for(i=0;i<n; i++)
printf("[%d]=%d\n", i, x[i]);
4.2 Примеры использования массивов
Сумма элементов массива.
#include<stdio.h>