C language. Introduction

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    C language. Introduction - Presentation 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, \world!»
        • «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
    SlideShare Zeitgeist 2009

    + Alexey BovanenkoAlexey Bovanenko Nominate

    custom

    234 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 234
      • 234 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 6
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags