- •1.История создания и развития языка Си. Структура программы на языке Си. Этапы выполнения программы.
- •2.Алфавит, идентификаторы, служебные слова. Базовые типы данных. Переменные: объявление, инициализация.
- •3. Арифметические операции: их приоритет, примеры. Операции присваивания, пример использования. Генерация случайных чисел.
- •6.Опреатор цикла while, do-whaile, for: назначение, блок-схемы. Примеры и использования.
- •7. Операторы перехода continue, break, goto, return: назначение, блок-схемы, примеры использования.
- •8. Массивы: объявление, инициализация, примеры операции над массивами.
- •9. Макросы и константы: назначение, классификация, примеры использования.
- •10. Строки: примеры объявления и инициализации. Функции работы со строками.
- •11. Функции: назначение, правила объявления, фактические и формальные параметры, примеры использования.
- •4. Операторы условия if, if-else и оператор выбора switch: назначение, блок-схемы, примеры использования.
- •12.Функции: передача в функцию массивов, аргументы по умолчанию, рекурсивные функции, примеры.
1.История создания и развития языка Си. Структура программы на языке Си. Этапы выполнения программы.
История создания и развития языка Си.
Язык Си появился при разработки системы Юник в 1972году. Разработан был сотрудником Bell Laboratories Денисом Ритчи. В начале 80-x сотрудником Бьёрн Страуструп в результате расширения языка Си был создан по создан по сути новый язык. Который в последствии получил название Си++.
Структура программы на языке Си.
-Исходная программа на Си создается в текстовом формате.
-Каждая программа это последовательный директив описание и определение объектов и функций.
-Определения и описания могут размещаться произвольно, кроме директифа.
-После того как программа написана на её основе должен быть создан выполняемый файл.
Этапы выполнения программы.
-препроцесорное преобразование
-компиляция
-компоновка
Только после всех перечисленных этапов формируется машинный код программы.
2.Алфавит, идентификаторы, служебные слова. Базовые типы данных. Переменные: объявление, инициализация.
В алфавит языка Си входят:
-прописные и строчные буквы латинского алфавита
-цифры
-специальные знаки “<,>,=,+,- и т.д.”
Идентификаторы.
Идентификаторы используются для обозначении имен переменных констант функций.
Пример “radius, pi и т.д.”
Идентификатор не может совпадать с языком Си поскольку они уже зарегистрированы а так же не может совпадать с переменной.
Служебные слова:
If, else, for, do, while, break, continues, char и т.д.
Базовые типы данных Тип данных нужен для указанию компилятору сколько байт нужно выделить под заданные переменные.
В языке Си определены следующие стандартные типы данных.
сhar, int,float, double, void,singned , ansingned и т.д. (long, short)
Переменные: объявление, инициализация.
Переменная-это величина с помощью которой обращается с помощью идентификатора.
Все переменные должны быть объявлены до их использования.
Основная форма объявления переменных имеет вид (Тип данных список переменных)
Пример: int a, b=3;
3. Арифметические операции: их приоритет, примеры. Операции присваивания, пример использования. Генерация случайных чисел.
Арифметические операции: их приоритет, примеры.
В языке Си используется служебные арифметические операции
+,-,*,/
% (вычисление остатка отдельных двух целых чисел )
Так же к арифметическим операциям относятся увеличение на 1 а++ и уменьшение на 1 а--
++а префиксная операция увеличение значение на 1 до использования в выражении.
а++ постфиксная операция увеличивает на 1 после использования.
Приоритет операции - это порядок их выполнения по старшинству.
Операции присваивания, пример использования.
Операции присваивания в языке Си обозначается =
(операция выполняется справа на лево)
В языке Си имеются дополнительные операции присваивания “+=, -=, /=, *=, %=”
В место выражения а=а+5 можно использовать а+=5
Генерация случайных чисел.
Для генерации случайных чисел используют следующие функции rand() возращает псевдо случайное число от 0 до 32767
Int a;
a=rand();// a=41 но при этом число при каждом запуске будет всегда 41
Что бы число была при каждом запуске программы разное.
#
#
# include <time.h>
main ()
{int a;
srand (time(NULL));
a=rand();
printf (“%d”,a);
getch();
return 0;
}
Генерация случайного числа в диапазоне 10-23.
#
#
# include <time.h>
main ()
{int a, min=10, max=23;
srand (time(NULL));
a=min+rand()%(max-min+1);
printf (“%d”,a);
getch();
return 0;
}
Генерация от 0 до n
Int a;
a=random (25) // а случайно в диапазоне 0 до 25
5. Форматированный ввод-вывод и другие функции консольного ввода-вывода. Примеры использования.
Форматированный вывод
Подключить файл <stdio.h >
Функция форматированного вывода является printf () – при её применение у программы появляется возможность форматировать данные то есть влиять на их представление на экране дисплея.
printf (“форматная_сторока”, список_аргумент)
Форматная строка ограничена 2 мя кавычками и может включать произвольный текс, управляющие символы и спецификаторы формата вывода.
Управляющие символы- позволяют влиять на размещение выводной информации на дисплей.
Управляющий символ начинается “\”
Основные управляющие символы:
\a-звонок
\b-забивание символа справа
\n-перевод в новую строку
\r-возврат курсора в начало строки
\t-горизонтальная табуляция
Спецификатор указывает какой тип данных имеет аргумент.
Основные спецификаторы формата.
d – int, char
f – float,double
c- int, char
s – char*
p- любой указатель
printf (“%15f”,a);
15 указывает ширину поля.
Форматированный ввод.
Функцией форматированого ввода явл-ся функция scanf().
Используется для ввода данных с клавиатуры выполняя чтение кода в клавиатуре, преобразует их во внутрений формат и передает программе. При этом можно влиять на правила интерации входных кодов с помощью спецификации форматной строки.
Вид: scanf (“форматная_строка”, список_аргументов);
Другие функции консольного ввода-вывода
Getche()-читает символы с клавиатуры.//<conio.h>
Getch()-действует также getche, но не выводит символ на экран. //<conio.h>
Getchar()-производит буферизованный вод, но не требует нажатие клавиши ENTER.//<stdio.h>
Putchar()-выводит символ который является её аргументом в текущую позицию курсора.//<stdio.h>
Gets(), puts()-осуществляют соответсвенно ввод и вывод строки символов.//<stdio.h>
Puts()-автоматически переводит курсор в новую строку, выводит только текст.