- •Основы программирования
- •Средства создания программ
- •Работа в интегрированной среде разработки программ turbo c (Borland c)
- •Основные функциональные клавиши и сочетания клавиш в Turbo c
- •Контрольные вопросы
- •Основы языка Си
- •Составляющие языка Си
- •Понятия алгоритмических языков (На примере языка Си)
- •Структура программы на языке Си
- •Директивы препроцессора
- •Главная функция
- •Переменные и массивы
- •Объявления переменных и массивов
- •Комментарии
- •Основные операции в Си
- •Арифметические операции
- •Логические операции и операции отношения
- •Операции присваивания
- •Функции ввода и вывода
- •Функция форматированного вывода printf( )
- •Функция форматированного ввода scanf( )
- •Функция неформатированного ввода getch( )
- •Функция неформатированного ввода gets( )
- •Функция неформатированного вывода puts( )
- •Программа – диалог
- •Контрольные к лабораторной работе «Программа-диалог»
- •Программа–тест
- •Контрольные вопросы к лабораторной работе «Программа-тест»
- •Конструкция switch/case/default
- •Операторы цикла
- •Цикл for
- •Стандартные математические функции
- •Пример выполнения лабораторной работы «Вычисление значения функции»
- •Контрольные вопросы к лабораторной работе «Вычисление значения функции»
- •Вложенные циклы.
- •Использование оператора break в циклах
- •Оператор continue
- •Оператор безусловного перехода goto
- •Действия с одномерными массивами
- •Инициализация массива
- •Ввод значений элементов массива с клавиатуры
- •Заполнение массива случайными числами
- •Вычисление суммы и произведения элементов массива
- •Поиск максимального элемента массива и его номера
- •Вычисление среднего арифметического
- •Перестановка элементов в массиве
- •Сортировка массива
- •Заполнение массива элементами из другого массива.
- •Контрольные вопросы к лабораторной работе «Одномерный массив»
- •Контрольные к лабораторной работе «Программа-диалог»
- •Контрольные вопросы к лабораторной работе «Программа-тест»
- •Контрольные вопросы к лабораторной работе «Вычисление значения функции»
- •Контрольные вопросы к лабораторной работе «Одномерный массив»
Объявления переменных и массивов
За именем главной функции располагается заключённая в фигурные скобки группа объявлений и операторов. В объявлениях (описаниях) перечисляются через запятую имена используемых в программе переменных и массивов с указанием их типа. Объявления переменных и массивов необходимы для того, чтобы правильно зарезервировать место в оперативной памяти компьютера для хранения значений этих переменных и массивов. Объём памяти, занимаемой переменными и массивами, зависит не только от количества переменных и размеров массивов, но и от их типа, так как значения разных типов требуют различного объёма памяти.
Объявление переменных и массивов одного типа имеет вид:
Спецификатор типа список переменных и массивов;
В качестве разделителя элементов списка используется запятая. Например, запись
int x, a1;
объявляет переменные x и a1 целого типа.
При объявлении массива в квадратных скобках после имени массива указывается количество значений, принимаемых соответствующим индексом.
Например, объявление
float y12, b1[3][4];
описывает одну переменную действительного типа y12 и двумерный массив b1 переменных действительного типа, состоящий из 12 элементов. После этого объявления в программе могут использоваться следующие элементы массива b1:
b1[0][0] b1[0][1] b1[0][2] b1[0][3]
b1[1][0] b1[1][1] b1[1][2] b1[1][3]
b1[2][0] b1[2][1] b1[2][2] b1[2][3]
Следует подчеркнуть, что контроль за тем, чтобы значения индексов не выходили за допустимые границы, возлагается на автора программы.
Комментарии
В текст программы могут быть внесены комментарии, поясняющие назначение переменных и массивов, работу программы и т.п. Комментарии записываются в одном из двух видов:
/* текст */
//текст
В первом случае комментарий может занимать несколько строк, принимая вид:
-
/* текст
текст
. . .
текст
текст */
Во втором случае неявным концом комментария является конец строки, в которой он расположен.
В начале программы рекомендуется использовать функцию clrscr(), выполняющую очистку экрана. Она описана в заголовочном файле conio.h.
Основные операции в Си
Арифметические операции
В языке Си используются следующие арифметические операции:
(умножение);
+ (сложение);
- (вычитание);
/ (деление);
% (определение остатка);
++ (инкремент);
-- (декремент).
Первые три операции специального пояснения не требуют. Остановимся на последних четырёх операциях из этой группы.
Деление значений целого типа выполняется с отбрасыванием дробной части, в результате целочисленного деления будет получено целое значение. Например, в результате выполнения действий
х = 5/3; y = –8/3; |
переменная х получит значение 1, а переменная y получит значение –2.
Операция % определения остатка применяется только к операндам целого типа. Выполнение оператора
х = 14%3; |
приведёт к тому, что переменная х получит значение 2.
Операции инкремента “++” и декремента “- -“ соответственно увеличивают и уменьшают значение операнда на 1. Эти операции применимы к переменным всех типов, перечисленных в табл. 1.
Существуют две формы записи этих операций:
префиксная, ++х, - - x;
постфиксная, х++, x - -.
Форма записи инкремента и декремента существенно влияет на значение выражения. Если в выражении используется префиксная форма инкремента или декремента, то значение переменной изменяется до вычисления значения выражения, в котором она используется. Если же в выражении используется постфиксная форма инкремента или декремента, то значение переменной изменяется после вычисления значения выражения.
Так, в результате выполнения следующей группы операторов
int i, y; y = i = 0; y = i ++; |
/*1*/ /*2*/ /*3*/ |
переменная y получит значение 0, а переменная i получит значение 1.
В результате выполнения группы операторов
int i, y; y = i = 0; y = ++ i ; |
/*1*/ /*2*/ /*3*/ |
переменные y, i получат одинаковое значение 1.
Определите самостоятельно значения переменных после выполнения операторов:
int i1, i2, y1, y2; y1 = y2 = i1 = i2 = 0; y1 = i1++ + i1++ + i1++ ; y2 = ++i2 + ++i2 + ++i2 ; |
/*1*/ /*2*/ /*3*/ /*4*/ |