Краткое введение в язык программирования С Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет
Традиционное процедурное программирование Данные и подпрограммы необходимые для обработки, располагаются отдельно от обрабатываемой информации Программист должен быть уверен, что перед обработкой входные переменные инициализированы корректно и эти корректные данные подаются на вызывающие их функции Если представление обрабатываемых данных изменяется, то необходимо модифицировать все функции, связанные с ними 2 Краткое введение в язык программирования С Аксёнов С.В.
Трансляция Си-программы 3 Краткое введение в язык программирования С Аксёнов С.В.
Структура функции main() 4 Краткое введение в язык программирования С Аксёнов С.В.
Пример простой Си-программы #include void pause(); int main() { cout
Базовые типы переменных Тип переменнойНаименованиеРазмер Логическийbool1 байт Символьныйchar1 байт Целыйshort2 байта int2(4) байта long4 байта Вещественныйfloat4 байта double8 байт long double10 байт 6 Краткое введение в язык программирования С Аксёнов С.В.
Наименование переменных (правила) Имена используются для объявления переменных и функций Корректные имена удовлетворяют следующим правилам: Имя состоит из набора букв английского алфавита, цифр и символа подчеркивания (_). Язык чувствителен к регистру. Первый символ - только буква или символ подчеркивания Нет ограничений по числу символов в наименовании Ключевые слова языка зарезервированы и не могут использоваться в качестве идентификаторов 7 Краткое введение в язык программирования С Аксёнов С.В.
Наименование переменных (примеры) Примеры корректных имен переменных: a, Russia, VOID_MAIN _include, SetFunctionParameter, sA565, Identifier_ID, A_very_long_name , fileName,sumOfFunction Примеры неправильных имен переменных: My_Money$,Tschüß, 34setup,true, int,fast-food 8 Краткое введение в язык программирования С Аксёнов С.В.
Определение переменных и инициализация Примеры определения переменных: int a; double b = 5.987; int i, j = 8; char ch = D; int p(4); double d =.765; В программе переменные могут быть определены либо внутри функций программы либо за их пределами. Глобальные переменные (определены за пределами функций) могут использоваться всеми функциями программы Локальные переменные (определены в рамках одной функции) могут использоваться только в функции-владельце 9 Краткое введение в язык программирования С Аксёнов С.В.
Пример Си-программы #include const double pi = ; double radius = 2; void area_circle_function() { cout
Объявление функций Примеры стандартных математических функций double sin(double); // функция синус double cos(double); // функция косинус double tan(double); // функция тангенс double pow(double, double); // возведение в степень double exp(double); // экспонента double log(double); // натуральный логарифм double log10(double); // десятичный логарифм Пример прототипа функции 11 Краткое введение в язык программирования С Аксёнов С.В.
Вызов функций (пример) #include double function_F(double, double); void main() { double x1 =.45, y1 = 1.7; double f1 =function_F(x1,y1); double x2 = 6.11, y2(.2); cout
Операторы для базовых типов (бинарные арифметические операторы) ОператорЗначение +Сложение -Вычитание /Деление *Умножение %Остаток от деления 13 Краткое введение в язык программирования С Аксёнов С.В.
Операторы для базовых типов (унарные арифметические операторы) ОператорЗначение + -Знаковый оператор ++Инкремент --Декремент #include int main() { int i(5), j(1); cout
Операторы сравнения ОператорЗначение =Больше или равно ==Равно !=Не равно #include void main() { double x, y; cout > x >> y; bool b = x > y; cout
Логические операторы ABA &&B (логич.И) A||B (логич.ИЛИ) true false true falsetruefalsetrue false Falsefalse 16 Краткое введение в язык программирования С Аксёнов С.В. Логическая операция операция над выражениями логического типа, соответствующая некоторой операции над высказываниями в алгебре логики. Таблица истинности для логических операций A!A (логич. отрицание) truefalse true
Условный оператор #include void main() { float x =5, y=4, min; if( x < y ) min = x; else min = y; cout
Оператор цикла while #include void main() { double sum = 0; int i = 1; while(i
Оператор цикла for #include void main() { double sum = 0; for(int i=0; i
Ссылки #include float x = 5.2; int main() { float &rx = x; // Локальная ссылка на x // double &ref = x; // Ошибка: несовпадение типов! rx *= 2; cout
Пример использования ссылок #include double& refMin( double& a, double& b) { if (a
Указатели #include int var, *ptr; void main() { var = 100; ptr = &var; cout
Массивы #include void main() { const int MAXCNT = 9; float arr[MAXCNT], x; for( int i = 0; i < MAXCNT; i++) arr[i] = i; for( int i = 0; i < MAXCNT; i++) cout
Контакты Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ 24 Краткое введение в язык программирования С Аксёнов С.В.