Курс С. Лекция 2 Введение в язык Си 050 135-98-82 Михаил Борисович
1.33M
Category: programmingprogramming

Курс С. Лекция 2. Введение в язык Си

1. Курс С. Лекция 2 Введение в язык Си 050 135-98-82 Михаил Борисович

2.

Программирование на языке Си
2
Алгоритм
Алгоритм – это четко определенный план
действий для исполнителя.
Свойства алгоритма
• дискретность: состоит из отдельных шагов (команд)
• понятность: должен включать только команды,
известные исполнителю
• определенность: при одинаковых исходных данных
всегда выдает один и тот же результат
• конечность: заканчивается за конечное число шагов
• массовость: может применяться многократно при
различных исходных данных
• корректность: дает верное решение при любых
допустимых исходных данных
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

3.

Программирование на языке Си
3
Программа
Программа – это
• алгоритм, записанный на каком-либо языке
программирования
• набор команд для компьютера
Команда (оператор, инструкция) – это описание
действий, которые должен выполнить
компьютер.
• откуда взять исходные данные?
• что нужно с ними сделать?
• куда поместить результат?
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

4.

Программирование на языке Си
4
Языки программирования
• Машинно-ориентированные (низкого уровня) каждая команда соответствует одной команде
процессора (ассемблер, CIL)
• Языки высокого уровня – приближены к
естественному (английскому) языку, легче
воспринимаются человеком, не зависят от
конкретного компьютера
• для обучения: Basic, Pascal
• общего назначения: C,C++,C#, Java, Python
• для задач искусственного интеллекта: Lisp ,
Prolog
• для Web-разработки: JavaScript, PHP
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

5.

Программирование на языке Си
5
Язык Си
1972 – Деннис Ритчи K&R
создан для написания UNIX
• высокая скорость работы программ
• много возможностей
• стал основой многих современных
языков : С++, С#, Javascript, Java
• много шансов сделать ошибку, которая
не обнаруживается автоматически
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

6.

Программирование на языке Си
6
Простейшая программа
главная (основная) программа
всегда имеет имя main
void main()
{
«тело»
функции
(основная
часть)
К. Поляков, 2006-2012
начало
программы
}
конец
программы
http://kpolyakov.narod.ru

7.

Программирование на языке Си
7
Вывод текста на экран
include = включить
#include <stdio.h>
void main()
{
printf("Привет!");
}
вызов стандартной
функции
printf = print format
(форматный вывод)
К. Поляков, 2006-2012
файл stdio.h:
описание
стандартных
функций ввода
и вывода
этот текст
будет на
экране
http://kpolyakov.narod.ru

8.

Программирование на языке Си
8
IDE = Integrated Development Environment
интегрированная среда разработки:
• текстовый редактор для создания и
редактирования текстов программ
• компилятор для перевода текстов программ
на Си в команды процессора
• компоновщик для создания исполняемого
файла (EXE-файла), подключаются
стандартные функции
• отладчик для поиска ошибок в программах
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

9.

Программирование на языке Си
9
Что такое переменная?
Переменная – это ячейка в памяти компьютера,
которая имеет имя и хранит некоторое значение.
• Значение переменной может меняться во время
выполнения программы.
• При записи в ячейку нового значения старое
стирается.
Типы переменных (Wiki - Система типов Си)
• int – целое число (4 байта)
• short - целое число (2 байта)
• float – вещественное число, floating point (4 байта)
• double – вещественное число, floating point (8 байт)
• char – символ, character (1 байт)
signed, unsigned, short и long
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

10.

Программирование на языке Си
10
Тип
Диапазон
Размер, байт
int
≈(-2·109 — 2·109)
Знаковое, 4
short
-32768 — 32767
Знаковое, 2
float
+1.5·10-45 - +3.4·1038
double
+5.0·10-324 - +1.7·10308
char
К. Поляков, 2006-2012
4
8
1
http://kpolyakov.narod.ru

11.

11
012 = 110
102 = 210
11 = 3 = 22 -1
100 = 4 = 22
11…1 (n раз) = 2n -1
1 байт = 8 бит = 8 разрядов( знак ) -> 11…1 (8 раз)
Максимальное число 28 -1= 255
2 байта = 16 бит = 1 разряд( знак ) + 11…1 (15 раз)
Максимальное число типа short : 215 -1= 32767

12.

Программирование на языке Си
12
Тип
Диапазон
Размер, байт
int
≈(-2·109 — 2·109)
Знаковое, 4
short
-32768 — 32767
Знаковое, 2
long
≈(-2·109 — 2·109)
Знаковое, 4
unsigned
int
≈(0 — 4·109)
Знаковое, 4
long long
≈(-9·1018 — 9·1018)
Знаковое, 8
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

13.

Программирование на языке Си
13
char
int
sig ned char
sig ned
unsig ned char
sig ned int
short
unsig ned
short int
unsig ned int
sig ned short
long
sig ned short int
long int
unsig ned short
unsig ned short int
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

14.

Программирование на языке Си
signed long
signed long int
unsigned long
unsigned long int
long long
long long int
signed long long
signed long long int
unsigned long long
К. Поляков, 2006-2012
14
float
double
long double
http://kpolyakov.narod.ru

15.

Программирование на языке Си
Имена переменных (идентификаторы)
15
Могут включать
• латинские буквы (A-Z, a-z)
• знак подчеркивания _
• цифры 0-9
!
Имя не может начинаться с цифры!
НЕ могут включать
• кириллицу
• пробелы
• скобки, знаки +, =, !, ? и др.
идентификатор не должен совпадать с
ключевыми словами : int, double, if, for …
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

16.

Программирование на языке Си
Имена переменных (идентификаторы)
16
большие и маленькие буквы различаются
(регистрозависимость): sysop, SySoP и SYSOP - три
разных имени
максимальная длина идентификатора – 32 символа
Допустимые идентификаторы : iPhone, b12, John, _25.
Недопуст. идентификаторы: 2late, hot-tab, Tax rate
(1-й начинается с цифры, остальные содержат
недопустимые символы).
Какие имена правильные?
AXby R&B 4Wheel Вася “PesBarbos”
TU154 [QuQu] _ABBA A+B
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

17.

Программирование на языке Си
17
Объявление переменных
Объявить переменную = определить ее имя, тип,
[начальное значение], и выделить ей место в памяти.
main()
целая переменная a
{
вещественные
переменные
b и c переменные
целые
intцелая
a; и дробная
части отделяются
точкой
float b,
c;
Tu104, Il86 и Yak42
Il86 = 23
вещественные
int Tu104, Il86=23, Yak42; переменные x, y и z
x = 4,56
float x=4.56,
y, z;
·
char c, c2='A', m;
}
!
символьные
переменные c, c2 и m
c2 = 'A'
Если начальное значение не задано, в этой
ячейке находится «мусор»!
К. Поляков, 2006-2012
http://kpolyakov.narod.ru

18.

Программирование на языке Си
18
Оператор присваивания
Оператор – это команда языка программирования
высокого уровня.
Оператор присваивания служит для изменения
значения переменной.
Пример
a = 5;
x = a + 20;
a
5
?
5
x
25
?
y = (a + x) * (x – a);
К. Поляков, 2006-2012
5+20
y
600
?
30*20
http://kpolyakov.narod.ru

19.

Программирование на языке Си
19
Понятие оператора
2 типа терминологии:
• statement a= b+c;
1) оператор
2) инструкция
К. Поляков, 2006-2012
• оperator + - * /
операция
оператор
http://kpolyakov.narod.ru

20.

Программирование на языке Си
20
Оператор присваивания
Общая структура:
куда записать
что
имя переменной = выражение;
Арифметическое выражение может включать
• константы (постоянные)
• имена переменных
• знаки арифметических операций:
+ *
/
%
умножение
деление
• вызовы функций
• круглые скобки ( )
К. Поляков, 2006-2012
остаток от
деления
? Для чего служат
круглые скобки?
http://kpolyakov.narod.ru
English     Русский Rules