- •Содержание
- •1.Введение
- •Рекомендуемая литература
- •1.1Этапы решения инженерных задач с помощью эвм.
- •1.2Алгоритмы решения задач.
- •1.2.1Понятие алгоритма, его свойства.
- •Свойства алгоритма
- •1.2.2Обозначения элементов алгоритмов (блоки).
- •1.2.3Базовые управляющие конструкции.
- •Основные блочные символы.
- •Базовые алгоритмические структуры.
- •1.2.4Некоторые стандартные приемы алгоритмизации.
- •1. Поменять местами содержимое двух переменных (три ведра).
- •Определить, имеют ли две переменные один знак.
- •Проверить делимость числа на 3.
- •Алгоритм обработки массива.
- •Найти сумму элементов массива.
- •Найти максимальный элемент массива.
- •Использование флага наступления события.
- •Построить таблицу значений функции на отрезке и найти ее максимальное значение.
- •1.3Системы программирования.
- •1.3.1Состав.
- •1.3.2Язык программирования, алфавит, синтаксис, семантика.
- •1.3.3Реализация языка.
- •1.4Характеристики языков программирования.
- •1.5Целевое назначение систем программирования.
- •1.5.1Машинно-ориентированные.
- •1.5.1.1Системы символического кодирования.
- •1.5.1.2Ассемблеры.
- •1.5.2Машинно-независимые.
- •1.5.2.1Процедурно-ориентированные.
- •1.5.2.2Проблемно-ориентированные.
- •1.6Этапы обработки программы машиной.
- •2.1История создания.
- •2.3Алфавит, структура программы.
- •2.3.1Алфавит.
- •2.3.2Структура программы.
- •2.4Типы данных Си. Константы. Переменные. Описания переменных.
- •2.5Выражения в языке Си.
- •2.5.1Арифметические операции и выражения.
- •2.5.2Логические операции и выражения.
- •2.5.3Некоторые другие операции в языке Си.
- •2.5.3.1Операция присваивания.
- •2.5.3.2Условная операция.
- •2.5.3.3Операция последовательного вычисления (запятая).
- •2.5.3.4Специфические формы операции присваивания.
- •2.5.3.5Приоритет выполнения операций.
- •2.5.4Стандартные функции.
- •2.5.4.1Правила записи.
- •2.5.4.2Основные математические функции.
- •2.6.2.2Оператор бесформатного ввода с клавиатуры.
- •2.6.2.3Функция форматного вывода на экран.
- •2.6.2.4Функция ввода символа с клавиатуры.
- •2.6.3Составной оператор.
- •3.Операторы управления.
- •3.1Условные операторы.
- •3.1.1Оператор if-else.
- •3.1.2Оператор else-if.
- •3.2Оператор-переключатель. Оператор break.
- •3.3Операторы для организации цикла.
- •3.3.1Оператор цикла с предусловием (while).
- •3.3.2Оператор цикла с постусловием (do).
- •3.3.3Оператор цикла с параметром (for) или пошаговый.
- •3.3.4Вложенные циклы.
- •3.3.5Операторы break и continue.
- •3.3.6Оператор безусловного перехода.
- •4.Использование массивов. Указатели.
- •4.1Массивы.
- •4.1.1Понятие массива. Описание массива.
- •4.1.2Инициализация массивов.
- •4.1.2.1Инициализация массивов при их объявлении.
- •4.1.2.2Инициализация массивов вводом с клавиатуры.
- •4.1.3Вывод массивов.
- •4.1.4Работа с массивами.
- •4.2Указатели.
- •4.2.1Адреса и указатели.
- •4.2.2Массивы и указатели.
- •4.2.3Строки и указатели.
- •5.Функции пользователя в языке Си.
- •5.1Назначение функций. Описание функции.
- •5.2Обращение к функции. Прототип функции. Область видимости и время жизни переменных.
- •5.3Правила соответствия формальных параметров и фактических аргументов.
- •5.4Передача данных по значению и по адресу. Функция scanf().
- •5.5Использование массивов в качестве аргументов функции.
- •Int na, nb; // количества введенных элементов этих массивов
- •Vvod_mas1(&na,a) // Ввод количества элементов na и массива a
- •Vvod_mas1(&nb,b) // Ввод количества элементов nb и массива b
- •If password("Мой пароль")
- •6.Работа с внешними файлами в Си.
- •6.1Файловый указатель. Открытие файла.
- •6.2Чтение данных из текстового файла.
- •6.3Запись данных в текстовый файл. Закрытие файла.
2.5.3.5Приоритет выполнения операций.
Приведем сводную таблицу приоритетов рассмотренных операций языка Си.
Операции |
Выполнение Слева направо Справа налево |
( ) |
|
! ++ -- унарный - |
|
* / % |
|
+ - |
|
< <= >= > |
|
== != |
|
&& || |
|
Условная операция ( ? : ) |
|
= += = *= /= %= |
|
Операция ',' |
|
2.5.4Стандартные функции.
При записи выражений используются стандартные математические функции, прототипы которых находятся в файле math.h .
2.5.4.1Правила записи.
Обращение к функции имеет вид (синтаксис):
имя(список аргументов)
При вызове функции надо выполнять следующие правила:
После имени функции должна идти открывающая скобка, после списка аргументов - закрывающая. Скобки позволяют транслятору определить, где начинается и где заканчивается список аргументов;
Аргументы перечисляются через “,” ;
Аргументы могут быть как константами, так и выражениями, которые в свою очередь могут содержать другие функции. Задаваемые аргументы должны иметь допустимые для данного аргумента типы и значения. Соответствующий контроль не производится.
Пример 4. y=sin(x)+pow(cos(2.*x),3.0)
2.5.4.2Основные математические функции.
Перечислим основные из математических функций.
Синтаксис |
Возвращаемое значение |
Пример |
|
|
sqrt(9.0) =3.0 |
|
|x| для вещественных x |
fabs(-3.0) = 3.0 |
|
|x| для целых x |
abs(-3) = 3 |
|
xy, x,y - вещественные. При x<0 и y не целом - ошибка |
pow(2.,3.) = 8 pow(-2.,.5) - ошибка |
|
Число |
M_PI/2 1.57 |
|
синус x, x - вещественный |
sin(M_PI) = 0.0 |
|
косинус x, x - вещественный |
|
|
тангенс x, x - вещественный |
|
|
арктангенс x, x - вещественный |
|
|
ex, x - вещественный |
exp(1.0) 2.7 |
|
Натуральный логарифм x, x - вещественный |
log(1.0) = 0.0 |
|
Десятичный логарифм x, x - вещественный |
log10(10.) = 1.0 |
2.6Простейшие операторы языка Си.
Операторы управляют процессом выполнения программы., в них содержатся инструкции, что делать ЭВМ. Признаком окончания оператора является символ ";". Обычно в одной строке располагают один оператор. Перед любым оператором может стоять метка, состоящая из имени и ":".
Рассмотрим простейшие из них.
2.6.1Оператор-выражение.
Оператор-выражение имеет вид (синтаксис):
выражение;
Например, x = y + 3.0; my_funct(x); i=i+1;
max= x>y ? (y=0, x) : (x=0,y);
2.6.2Операторы для ввода и вывода информации.
Важным примером операторов-выражений являются операторы, использующие функции для ввода и вывода информации.
2.6.2.1Оператор бесформатного вывода на экран.
Бесформатный вывод значений выражений на экран имеет вид (синтаксис):
cout << выражение1 [<< выражение2...];
Здесь cout означает так называемый стандартный поток вывода (иначе - вывод на монитор), а лексема “<<” означает “вставить в”, если только слева от неё стоит cout.
Семантика: указанный оператор выводит на экран поочередно значения выражений1, 2 и т.д., перечисленных справа от cout через знаки "<<".
Пример 5. Операторы
a=1;
cout << "\nМы изучаем Си " << a+1 << "-ю неделю.";
выведут на экран сообщение: Мы изучаем Си 2-ю неделю.
Здесь выводятся значения трех выражений. Значением строковой константы является текст, заключенный в двойные кавычки ". Символы '\n' означают, что в этом месте вывод продолжается с начала следующей строки экрана. Значением выражения a+1 является число 2.
