Язык программирования C Основы языка baa
Введение <ul><li>Стандарт языка C 1999 года (C99) </li></ul><ul><li>Язык С — процедурный язык </li></ul><ul><li>Язык С </l...
Структура программы <ul><li>Составляющая часть программы - функция </li></ul><ul><li>Функции </li></ul><ul><ul><li>Стандар...
Исходный код <ul><li>Исходный код программы </li></ul><ul><ul><li>Определение функций  </li></ul></ul><ul><ul><li>Определе...
Исходный код <ul><li>Файлы кода </li></ul><ul><ul><li>Расширение файла «*.c» </li></ul></ul><ul><ul><li>Содержит определен...
Использование заголовочных файлов <ul><li>Файл src1.c void func1(){ printf(«Hello, world»); } </li></ul><ul><li>Файл src1....
Использование комментариев <ul><li>Блочные комментарии </li></ul><ul><ul><li>Примеры блочных комментариев </li></ul></ul><...
Идентификаторы <ul><li>Идентификаторы — имена переменных, функций, макросов и структур </li></ul><ul><li>Символы </li></ul...
Области видимости <ul><li>Файловая область </li></ul><ul><ul><li>Если идентификатор объявлен вне блоков и списков параметр...
Сокрытие переменных <ul><li>int i=1; // используется глобальная переменная int main(){ char i=5; // используется переменна...
Типы данных <ul><li>Целочисленные данные </li></ul><ul><ul><li>Знаковые типы </li></ul></ul><ul><ul><li>Типы без знака </l...
Целочисленные типы <ul><li>long - 4 байта - -2,147,483,648 ..  2,147,483,647 </li></ul><ul><li>unsigned long — 4 байта — 0...
Типы с плавающей запятой <ul><li>float -  4 байта </li></ul><ul><ul><li>±3.4E+38 </li></ul></ul><ul><ul><li>1.2E-38 </li><...
Перечисления <ul><li>enum [имя] { список данных }; </li></ul><ul><ul><li>enum list1 { value1, value2, value3 } </li></ul><...
Тип void <ul><li>Функция, которая не возвращает значения, может иметь тип void </li></ul><ul><ul><li>void func{} </li></ul...
Литералы <ul><li>Числовые литералы </li></ul><ul><ul><li>int  </li></ul></ul><ul><ul><ul><li>0x200, 010 </li></ul></ul></u...
Литералы <ul><li>С плавающей запятой </li></ul><ul><ul><li>10.0 — значение 10 </li></ul></ul><ul><ul><li>2.34E5 — значение...
Литералы <ul><li>Символы </li></ul><ul><ul><li>'a' </li></ul></ul><ul><ul><li>'x61' </li></ul></ul><ul><ul><li>Специальные...
Приведение типов <ul><li>Неявное приведение типов </li></ul><ul><ul><li>int i=10; long l=i; </li></ul></ul><ul><li>Явное п...
Операторы <ul><li>[ ]  ( )  .  ->  ++  -- (type name){list}  ( -> ) </li></ul><ul><li>++  -- !  ~  +  -  *  &  sizeof  ( <...
Выражение <ul><li>Выражение заканчивается «;» </li></ul><ul><ul><li>int i=10; </li></ul></ul><ul><ul><li>for(;;) выражение...
Циклы <ul><li>while(условие) действие;  while(условие){ Блок действий; } </li></ul><ul><li>for(инициализация;условие;измен...
Оператор if <ul><li>if(условие) действие; if(условие){ Блок действий; } </li></ul><ul><li>if(условие) действие1; else дейс...
Оператор выбора <ul><li>switch(переменная) { case значение1: действие1; case значение2: действие2; break; default: действи...
Операторы break, continue, goto, return <ul><li>Оператор break </li></ul><ul><ul><li>for(;;){  i++; if(i==5) break; } </li...
Конец Вопросы e-mail: a.bovanenko@gmail.com
Upcoming SlideShare
Loading in...5
×

C language. Introduction

587

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
587
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

C language. Introduction

  1. 1. Язык программирования C Основы языка baa
  2. 2. Введение <ul><li>Стандарт языка C 1999 года (C99) </li></ul><ul><li>Язык С — процедурный язык </li></ul><ul><li>Язык С </li></ul><ul><ul><li>1970 год </li></ul></ul><ul><ul><li>AT&T Bell Laboratoies </li></ul></ul><ul><li>Отличительные особенности языка: </li></ul><ul><ul><li>Портируемость исходного кода </li></ul></ul><ul><ul><li>Возможность действий на низком машинном уровне </li></ul></ul><ul><ul><li>Эффективность </li></ul></ul>
  3. 3. Структура программы <ul><li>Составляющая часть программы - функция </li></ul><ul><li>Функции </li></ul><ul><ul><li>Стандартные — входят в библиотеки </li></ul></ul><ul><ul><li>Пользовательские — созданные пользователем </li></ul></ul><ul><li>Основная функция </li></ul><ul><ul><li>main </li></ul></ul><ul><ul><li>int main(){} int main(void){} int main(int argc, char *argv[]){} </li></ul></ul>
  4. 4. Исходный код <ul><li>Исходный код программы </li></ul><ul><ul><li>Определение функций </li></ul></ul><ul><ul><li>Определение глобальных переменных </li></ul></ul><ul><ul><li>Декларации препроцессора </li></ul></ul><ul><li>Код хранится в файлах с расширением «*.c» </li></ul><ul><li>Пример int i=0; int main(){ printf(«i=%d»,i); return 0; } </li></ul>
  5. 5. Исходный код <ul><li>Файлы кода </li></ul><ul><ul><li>Расширение файла «*.c» </li></ul></ul><ul><ul><li>Содержит определение функций </li></ul></ul><ul><ul><li>Например int func1(){ /* Какие-то действия */ </li></ul></ul><ul><li>Заголовочные файлы </li></ul><ul><ul><li>Расширение файла «*.h» </li></ul></ul><ul><ul><li>Содержит декларацию функций </li></ul></ul><ul><ul><li>Например int func1(); </li></ul></ul>
  6. 6. Использование заголовочных файлов <ul><li>Файл src1.c void func1(){ printf(«Hello, world»); } </li></ul><ul><li>Файл src1.h void func1(); </li></ul><ul><li>Файл src2.c </li></ul><ul><ul><li>Код в данном файле использует функцию, определенную в файле src1.c #include «src1.h» ... func1(); ... </li></ul></ul>
  7. 7. Использование комментариев <ul><li>Блочные комментарии </li></ul><ul><ul><li>Примеры блочных комментариев </li></ul></ul><ul><ul><ul><li>/* Это комментарий Это комментарий */ </li></ul></ul></ul><ul><ul><ul><li>/* Это комментарий */ </li></ul></ul></ul><ul><li>Однострочные комментарии </li></ul><ul><ul><li>Примеры однострочных комментариев </li></ul></ul><ul><ul><ul><li>// Это комментарий </li></ul></ul></ul><ul><ul><ul><li>// Это комментарий // Это тоже комментарий </li></ul></ul></ul>
  8. 8. Идентификаторы <ul><li>Идентификаторы — имена переменных, функций, макросов и структур </li></ul><ul><li>Символы </li></ul><ul><ul><li>a-z, A-Z </li></ul></ul><ul><ul><li>_ </li></ul></ul><ul><ul><li>0-9 </li></ul></ul><ul><ul><ul><li>Не может быть первым символом </li></ul></ul></ul><ul><li>Первые 31 символ являются значимыми </li></ul><ul><ul><li>Для функций и глобальных переменных </li></ul></ul><ul><li>Первые 64 символа являются значимыми </li></ul><ul><ul><li>Для остальных идентификаторов </li></ul></ul>
  9. 9. Области видимости <ul><li>Файловая область </li></ul><ul><ul><li>Если идентификатор объявлен вне блоков и списков параметров </li></ul></ul><ul><ul><li>int i=0; void func(){} </li></ul></ul><ul><li>Блоковая область </li></ul><ul><ul><li>Идентификатор определен внутри блока кода </li></ul></ul><ul><ul><li>{ int i=0; } </li></ul></ul><ul><li>Область прототипа функции </li></ul><ul><ul><li>void func(int i, int j); </li></ul></ul><ul><li>Область функции </li></ul><ul><ul><li>void func(){ int i; } </li></ul></ul>
  10. 10. Сокрытие переменных <ul><li>int i=1; // используется глобальная переменная int main(){ char i=5; // используется переменная i == 5 ... ... { ... short i=0; // используется i==0 ... } ... // используется i == 5 } </li></ul>
  11. 11. Типы данных <ul><li>Целочисленные данные </li></ul><ul><ul><li>Знаковые типы </li></ul></ul><ul><ul><li>Типы без знака </li></ul></ul><ul><ul><li>char </li></ul></ul><ul><ul><ul><li>unsigned char — 1 байт — 0 .. 255 </li></ul></ul></ul><ul><ul><ul><li>signed char — 1 байт - -128 ... 127 </li></ul></ul></ul><ul><ul><li>int - 2/4 байта </li></ul></ul><ul><ul><ul><li>-32,768 или -2,147,483,648 </li></ul></ul></ul><ul><ul><ul><li>32,767 или 2,147,483,647 </li></ul></ul></ul><ul><ul><li>unsigned int - 2/4 байта </li></ul></ul><ul><ul><ul><li>0 </li></ul></ul></ul><ul><ul><ul><li>65,535 or 2,147,483,647 </li></ul></ul></ul><ul><ul><li>short - 2 байта - -32,768 .. 32,767 </li></ul></ul><ul><ul><li>unsigned short — 2 байта — 0 .. 65,535 </li></ul></ul>
  12. 12. Целочисленные типы <ul><li>long - 4 байта - -2,147,483,648 .. 2,147,483,647 </li></ul><ul><li>unsigned long — 4 байта — 0 .. 4,294,967,295 </li></ul><ul><li>long long(C99) — 8 байт </li></ul><ul><ul><li>-9,223,372,036, 854,775,808 </li></ul></ul><ul><ul><li>9,223,372,036, 854,775,807 </li></ul></ul><ul><li>unsigned long long (C99) — 8 байт </li></ul><ul><ul><li>0 </li></ul></ul><ul><ul><li>18,446,744,073, 709,551,615 </li></ul></ul><ul><li>Получение размера переменной </li></ul><ul><ul><li>size_t sizeof(type) </li></ul></ul>
  13. 13. Типы с плавающей запятой <ul><li>float - 4 байта </li></ul><ul><ul><li>±3.4E+38 </li></ul></ul><ul><ul><li>1.2E-38 </li></ul></ul><ul><ul><li>Точность: 6 знаков </li></ul></ul><ul><li>double - 8 байт </li></ul><ul><ul><li>±1.7E+308 </li></ul></ul><ul><ul><li>2.3E-308 </li></ul></ul><ul><ul><li>Точность: 15 знаков </li></ul></ul><ul><li>long double - 10 байт </li></ul><ul><ul><li>±1.1E+4932 </li></ul></ul><ul><ul><li>3.4E-4932 </li></ul></ul><ul><ul><li>Точность: 19 знаков </li></ul></ul>
  14. 14. Перечисления <ul><li>enum [имя] { список данных }; </li></ul><ul><ul><li>enum list1 { value1, value2, value3 } </li></ul></ul><ul><li>Элементы перечисления инициализируются значениями, начиная с 0 </li></ul><ul><li>Можно задавать значения самостоятельно </li></ul><ul><ul><li>enum list2 { value1, value2=4, value5, value6=4 } </li></ul></ul>
  15. 15. Тип void <ul><li>Функция, которая не возвращает значения, может иметь тип void </li></ul><ul><ul><li>void func{} </li></ul></ul><ul><li>Использование указателей: void * </li></ul><ul><ul><li>Указывает на то, что данные представляют адрес </li></ul></ul><ul><ul><li>Не указывает на тип данных </li></ul></ul><ul><ul><li>void * func(){ char buf[]={1,0,0,0}; return buf; } int *i=(int *)func(); // *i==1; </li></ul></ul>
  16. 16. Литералы <ul><li>Числовые литералы </li></ul><ul><ul><li>int </li></ul></ul><ul><ul><ul><li>0x200, 010 </li></ul></ul></ul><ul><ul><li>unsigned int </li></ul></ul><ul><ul><ul><li>512U </li></ul></ul></ul><ul><ul><li>long </li></ul></ul><ul><ul><ul><li>0L </li></ul></ul></ul><ul><ul><li>unsigned long </li></ul></ul><ul><ul><ul><li>0Xf0fUL </li></ul></ul></ul><ul><ul><li>long long </li></ul></ul><ul><ul><ul><li>0777LL </li></ul></ul></ul><ul><ul><li>unsigned long long </li></ul></ul><ul><ul><ul><li>0xAAAllu </li></ul></ul></ul>
  17. 17. Литералы <ul><li>С плавающей запятой </li></ul><ul><ul><li>10.0 — значение 10 </li></ul></ul><ul><ul><li>2.34E5 — значение 2.34 x 10 5 </li></ul></ul><ul><ul><li>67e-12 — значение 67.0 x 10 -12 </li></ul></ul><ul><li>float float_val = 10.5f; </li></ul><ul><li>long double ld_val=0.16l </li></ul>
  18. 18. Литералы <ul><li>Символы </li></ul><ul><ul><li>'a' </li></ul></ul><ul><ul><li>'x61' </li></ul></ul><ul><ul><li>Специальные символы: </li></ul></ul><ul><ul><ul><li> , , , o, x, u </li></ul></ul></ul><ul><li>Строки </li></ul><ul><ul><li>«Hello, world!» </li></ul></ul><ul><ul><li>«Hello, orld!» </li></ul></ul><ul><ul><li>«Hello, world! » </li></ul></ul>
  19. 19. Приведение типов <ul><li>Неявное приведение типов </li></ul><ul><ul><li>int i=10; long l=i; </li></ul></ul><ul><li>Явное приведение типов </li></ul><ul><ul><li>long l=10; int i=(int)l; </li></ul></ul><ul><ul><li>Используется при приведении указателей </li></ul></ul><ul><ul><ul><li>char buf[]={1,0,0,0}; int *i=(int *)buf; printf(«Результат: %d »,*i); </li></ul></ul></ul>
  20. 20. Операторы <ul><li>[ ] ( ) . -> ++ -- (type name){list} ( -> ) </li></ul><ul><li>++ -- ! ~ + - * & sizeof ( <- ) </li></ul><ul><li>(type name) ( <- ) </li></ul><ul><li>* / % ( -> ) </li></ul><ul><li>+ - ( -> ) </li></ul><ul><li><< >> ( -> ) </li></ul><ul><li>< <= > >= ( -> ) </li></ul><ul><li>== != ( -> ) </li></ul><ul><li>& ( -> ) </li></ul><ul><li>^ ( -> ) </li></ul><ul><li>| ( ->) </li></ul><ul><li>&& ( -> ) </li></ul><ul><li>|| ( -> ) </li></ul><ul><li>? : ( <- ) </li></ul><ul><li>= += -= *= /= %= &= ^= |= <<= >>= (<-) </li></ul><ul><li>, ( -> ) </li></ul>
  21. 21. Выражение <ul><li>Выражение заканчивается «;» </li></ul><ul><ul><li>int i=10; </li></ul></ul><ul><ul><li>for(;;) выражение; </li></ul></ul><ul><li>Блоки </li></ul><ul><ul><li>{ Выражение; } </li></ul></ul><ul><ul><li>for(;;){ ... } </li></ul></ul>
  22. 22. Циклы <ul><li>while(условие) действие; while(условие){ Блок действий; } </li></ul><ul><li>for(инициализация;условие;изменение) действие; for(инициализация;условие;изменение){ Блок действий; } </li></ul><ul><li>do{ Блок действий; }while(условие); </li></ul>
  23. 23. Оператор if <ul><li>if(условие) действие; if(условие){ Блок действий; } </li></ul><ul><li>if(условие) действие1; else действие2; if(условие){ Блок действий 1; }else{ Блок действий 2; } </li></ul>
  24. 24. Оператор выбора <ul><li>switch(переменная) { case значение1: действие1; case значение2: действие2; break; default: действие по умолчанию; } </li></ul>
  25. 25. Операторы break, continue, goto, return <ul><li>Оператор break </li></ul><ul><ul><li>for(;;){ i++; if(i==5) break; } </li></ul></ul><ul><li>Оператор continue </li></ul><ul><ul><li>for(;;){ i++; if(i==5) continue; ... } </li></ul></ul><ul><li>Оператор goto </li></ul><ul><ul><li>label1: действие; goto label1; </li></ul></ul><ul><li>Оператор return </li></ul><ul><ul><li>return value; </li></ul></ul>
  26. 26. Конец Вопросы e-mail: a.bovanenko@gmail.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×