Your SlideShare is downloading. ×
  • Like
C language. Introduction
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

C language. Introduction

  • 544 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
544
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
22
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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