
- •Основы программирования язык “с” Минск – 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онтрольные вопросы
- •Какие операции определены со строками?
Volatile while
В языке “C” существуют следующие типы данных: данные целого типа, вещественные типы данных, символьные данные, переменные перечисляемого типа, структурный тип данных. Каждый тип данных имеет размер, т.е. сколько байтов выделяется в оперативной памяти для записи переменной данного типа, и диапазон значений.
1.2 Целый тип данных
тип |
Размер, в байтах |
Диапазон значений |
short int |
2 |
-32768………32767 |
int |
2 |
-32768………32767 |
4 |
-2 147 483 648…….2 147 483 647 |
|
long int |
4 |
-2 147 483 648…….2 147 483 647 |
unsigned int |
2 |
0……65 536 |
4 |
0……4 294 967 295 |
unsigned – это беззнаковое целое, т.е. положительные числа.
Разберемся, что означает размер 2 байта, т.е. 16 битов. Машина все воспринимает в 2-ой системе исчисления, т.е. 0 и 1; вся память разбита на биты, т.е. на ячейки где записываются 1 или 0. В десятеричной системе исчисления число 3567, цифры 3, 5, 6, 7 – это коэффициенты, причем 3 коэффициент 103, 5 – 102, 6- 101, 7 – 100, т.е. 3567=3*103 + 5*102 + 6*101+ 7*100
short int занимает памяти 2 байта = 16 битов, начинается с 0…..15.
15 бит – для знака, 1 – если число отрицательное
0 - если число положительное
0...14 битах записывается число, переведенное из десятичной системы исчисления в 2-ную.
Пример:
37 |
2 |
2 |
18 |
17 |
|
16 |
|
1 |
|
18 |
2 |
18 |
9 |
0 |
|
9 |
2 |
8 |
4 |
1 |
|
4 |
2 |
4 |
2 |
0 |
|
2 |
2 |
2 |
1 |
0 |
|
Полученные остатки от деления на 2 запишем наоборот и получим 1 0 0 1 0 1
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
100101=1*25+0*24+0*23+1*22+0*21+1*20=32+0+0+4+0+1=37
Следовательно, положительное максимальное число, которое поместится в 16 битах и будет:
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 в 2-ой системе исчисления и 32 767 в десятичной системе исчисления
Для того, чтобы объявить целое число необходимо
int x; где int – это тип переменной, а x – это имя переменной.
Для того, чтобы вывести целое число на экран результатов необходимо
printf(“%d”,x);
Для того, чтобы обратиться к целому типу данных, используем следующие символы:
%d int
%hd short int
%ld long int
Задачи:
1.Что делают следующие программы:
-
int x;
printf(“%d\n”,x);
int x;
x=2.8;
printf(“%d\n”,x);
int x=5;
printf(“%d\n”);
int x,y;
x=5;
y=7;
printf(“x=%d\ny=%d”,y,x);
int x,y;
x=5;
y=7;
printf(“%d+%d=%d\n”,y,x,x+y);
2.Даны 2 целых числа, например 21 и 8, написать программу, которая считала сумму, разность, умножение, деление данных чисел и распечатала, следующим образом:
21+8=29
21-8=13 и т.д.