1 / 24

Краткое введение в язык программирования С

Краткое введение в язык программирования С. Томский политехнический университет. Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ. Данные и подпрограммы необходимые для обработки, располагаются отдельно от обрабатываемой информации. Традиционное процедурное программирование.

rafael
Download Presentation

Краткое введение в язык программирования С

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Краткое введение в язык программирования С Томский политехнический университет Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ

  2. Данные и подпрограммы необходимые для обработки, располагаются отдельно от обрабатываемой информации Традиционное процедурное программирование • Программист должен быть уверен, что перед обработкой входные переменные инициализированы корректно и эти корректные данные подаются на вызывающие их функции • Если представление обрабатываемых данных изменяется, то необходимо модифицировать все функции, связанные с ними Краткое введение в язык программирования С Аксёнов С.В.

  3. Трансляция Си-программы Краткое введение в язык программирования С Аксёнов С.В.

  4. Структура функции main() Краткое введение в язык программирования С Аксёнов С.В.

  5. #include <iostream.h> void pause(); int main() { cout<<"Это - пример простой программы"<<endl; cout<<"Программа выводит на экран несколько строк"<<endl; pause(); pause(); cout<<"Работа программы завершена"; return 0; } void pause() { cout<<"******************************"<<endl; } Пример простой Си-программы Краткое введение в язык программирования С Аксёнов С.В.

  6. Базовые типы переменных Краткое введение в язык программирования С Аксёнов С.В.

  7. Имена используются для объявления переменных и функций • Корректные имена удовлетворяют следующим правилам: • Имя состоит из набора букв английского алфавита, цифр и символа подчеркивания (_). Язык чувствителен к регистру. • Первый символ - только буква или символ подчеркивания • Нет ограничений по числу символов в наименовании • Ключевые слова языка зарезервированы и не могут использоваться в качестве идентификаторов Наименование переменных (правила) Краткое введение в язык программирования С Аксёнов С.В.

  8. Примеры корректных имен переменных: a, Russia, VOID_MAIN _include, SetFunctionParameter, sA565, Identifier_ID, A_very_long_name0987654321, fileName, sumOfFunction Примеры неправильных имен переменных: My_Money$, Tschüß, 34setup, true, int, fast-food Наименование переменных (примеры) Краткое введение в язык программирования С Аксёнов С.В.

  9. В программе переменные могут быть определены либо внутри функций программы либо за их пределами. • Глобальные переменные (определены за пределами функций) могут использоваться всеми функциями программы • Локальные переменные (определены в рамках одной функции) могут использоваться только в функции-владельце Определение переменных и инициализация Примеры определения переменных: int a; double b = 5.987; inti, j = 8; char ch = ‘D’; int p(4); double d = .765; Краткое введение в язык программирования С Аксёнов С.В.

  10. #include <iostream.h> const double pi = 3.141593; double radius = 2; voidarea_circle_function() { cout<<"Площадь круга радиуса "<<radius<<" равна "<<pi * radius * radius<<endl; } voidvolume_cylinder_function() { radius = 3; double h = 1.2; cout<<"Объём цилиндра радиуса "<<radius<<" и высоты "<<h<<" равен“ <<pi*radius*radius*h<<endl; } void main() { area_circle_function(); volume_cylinder_function(); } Пример Си-программы Краткое введение в язык программирования С Аксёнов С.В.

  11. Пример прототипа функции Объявление функций Примеры стандартных математических функций double sin(double); // функция синус double cos(double); // функция косинус double tan(double); // функция тангенс double pow(double, double); // возведение в степень double exp(double); // экспонента double log(double); // натуральный логарифм double log10(double); // десятичный логарифм Краткое введение в язык программирования С Аксёнов С.В.

  12. #include <iostream.h> #include <math.h> doublefunction_F(double, double); void main() { double x1 = .45, y1 = 1.7; double f1 =function_F(x1,y1); double x2 = 6.11, y2(.2); cout<<"x = "<<x1<<" y1 = "<<y1<<" f = "<<f1<<endl; double f2 =function_F(x2,y2); cout<<"x = "<<x2<<" y1 = "<<y2<<" f = "<<f2<<endl; } double function_F(double x, double y) { return sin(x)/pow(y*y+0.5,3.4); } Вызов функций (пример) Краткое введение в язык программирования С Аксёнов С.В.

  13. Операторы для базовых типов (бинарные арифметические операторы) Краткое введение в язык программирования С Аксёнов С.В.

  14. Операторы для базовых типов (унарные арифметические операторы) Пример программы #include <iostream.h> int main() { inti(5), j(1); cout << i++ << endl; // Вывод на экран: 5 cout << i << endl; // Вывод на экран:6 cout << j-- << endl; // Вывод на экран:0 cout << --j << endl; // Вывод на экран:-1 return 0; } Краткое введение в язык программирования С Аксёнов С.В.

  15. Операторы сравнения Пример программы #include <iostream.h> voidmain() { double x, y; cout << "\n Введите два числа: "; cin >> x >> y; bool b = x > y; cout << "Первое число больше чем второе: "<<b; } Краткое введение в язык программирования С Аксёнов С.В.

  16. Логическая операция —операция над выражениями логического типа, соответствующая некоторой операции над высказываниями в алгебре логики. Таблица истинности для логических операций Логические операторы Краткое введение в язык программирования С Аксёнов С.В.

  17. Условный оператор - конструкция языка программирования, обеспечивающая выполнение определённой команды (набора команд) только при условии истинности некоторого логического выражения, либо выполнение одной из нескольких команд (наборов команд) в зависимости от значения некоторого выражения. Условный оператор Синтаксис: if(выражение ) Набор команд 1 [ else Набор команд 2] Пример программы #include<iostream.h> voidmain() { float x =5 , y=4, min; if( x < y ) min = x; else min = y; cout << "\n Меньшее число: " << min << endl; } Краткое введение в язык программирования С Аксёнов С.В.

  18. Цикл —управляющая конструкция, предназначенная для организации многократного исполнения набора инструкций. Синтаксис: while(управляющее выражение) Набор команд Оператор цикла while Количество запусков набора команд зависит от управляющего выражения. В случае цикла while значение управляющего выражения проверяется до выполнения набора команд, если его значение ИСТИНА, то происходит выполнение команд, эти операции перезапускается до тех пор пока управляющее выражение не премет значение ЛОЖЬ Пример программы #include <iostream.h> #include <math.h> voidmain() { double sum = 0; inti = 1; while(i<=10) sum+=(x*sin(x))*(x*sin(x)) cout<< "\n Сумма равна: " << sum << endl; } Краткое введение в язык программирования С Аксёнов С.В.

  19. Синтаксис: for(Выражение1, Выражение2; Выражение3) Набор команд Оператор цикла for Первоначально выполняется Выражение 1, Выражение 2 – управляющее выражение, которое всегда анализируется до запуска тела цикла, Выражение3 выполняется после завершения итерации Пример программы #include <iostream.h> #include <math.h> voidmain() { double sum = 0; for(inti=0; i<=10; i++) sum+=(x*sin(x))*(x*sin(x)) cout<< "\n Сумма равна: " << sum << endl; } Краткое введение в язык программирования С Аксёнов С.В.

  20. Ссылка— это объект, указывающий на определенные данные, но не хранящий их. Пример программы Ссылки #include <iostream.h> float x = 5.2; int main() { float &rx = x; // Локальная ссылка на x // double &ref = x; // Ошибка: несовпадение типов! rx *= 2; cout << " x = " << x << endl // x = 10.4 << " rx = " << rx << endl; // rx = 10.4 const float& cref = x; // Ссылка только для чтения cout << "cref = " << cref << endl; // cref = 10.4 // ++cref; // Ошибка: невозможно модифицировать! return 0; } Краткое введение в язык программирования С Аксёнов С.В.

  21. #include<iostream.h> double& refMin( double& a, double& b) { if (a<=b) return a; elsereturn b; } voidmain() { double x1 = 1.1, x2 = x1 + 0.5, y; y = refMin( x1, x2); // y –ссылка на минимальное значение из х1, х2 cout << "x1 = " << x1 << " "<< "x2 = " << x2 << endl; cout<< " Минимум: " << y << endl; ++refMin( x1, x2); // ++x1, т.к. x1 - минумум cout << "x1 = " << x1 << " " // x1 = 2.1 << "x2 = " << x2 << endl; // x2 = 1.6 ++refMin( x1, x2); // ++x2, x2 – минимум cout << "x1 = " << x1 << " " // x1 = 2.1 << "x2 = " << x2 << endl; // x2 = 2.6 } Пример использования ссылок Краткое введение в язык программирования С Аксёнов С.В.

  22. Указатель— переменная, диапазон значений которой состоит из адресов ячеек памяти Пример программы Указатели #include<iostream.h> intvar, *ptr; void main() { var = 100; ptr = &var; cout << " Значение var: " << var // Значение var: 100 << " Адресvar: " << &var // Адресvar: 00D0916C << endl; cout << " Значениеptr: " << ptr // Значениеptr: 00D0916C << " Адресptr: " << &ptr // Адресptr: 00D09170 <<endl; } Краткое введение в язык программирования С Аксёнов С.В.

  23. Индексный массив— именованный набор однотипных переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу. Синтаксис: typeимя_массива[число элементов] Массивы Пример программы Задача: В массив arrзаписать по возрастанию целые числа от 0 до 9 #include<iostream.h> voidmain() { const int MAXCNT = 9; floatarr[MAXCNT], x; for( int i = 0; i < MAXCNT; i++) arr[i] = i; for( int i = 0; i < MAXCNT; i++) cout << arr[i]<< " "; } Краткое введение в язык программирования С Аксёнов С.В.

  24. Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ E-mail: axoenowsw@tpu.ru Контакты Краткое введение в язык программирования С Аксёнов С.В.

More Related