- •Предисловие
- •Алфавит языка
- •Служебные слова
- •Константы
- •Комментарии
- •Переменные
- •Int I,j,k; //переменные I, j, k – целого типа
- •Математические функции
- •Выражения
- •Выражения целого типа
- •Примеры записи выражений целого типа:
- •Примеры вычислений выражений целого типа:
- •Выражения вещественного типа
- •Примеры записи выражений вещественного типа
- •Примеры вычислений выражений вещественного типа:
- •Операторы присваивания
- •Примеры записи операторов присваивания:
- •Ввод и вывод данных
- •Стандартный ввод-вывод
- •Посимвольный ввод-вывод
- •Ввод-вывод строк
- •Форматированный вывод
- •Форматированный ввод
- •Scanf(“формат”, аргументы);
- •Int age, rost;
- •Vasja Pupkin
- •Vasja Pupkin
- •Структура программы
- •Void main()
- •Int main()
- •Int age, rost;
- •Директивы препроцессора
- •Включение файлов
- •Int main()
- •Int age, rost;
- •Int main()
- •Int age, rost;
- •Подстановка имен
- •Макросы
- •Структуры данных
- •Массивы
- •Int vect[5];
- •Int vect[count];
- •Vect[0] vect[1] vect[2] vect[3] vect[4]
- •Int main()
- •Int temp;
- •Int matr[row][col];
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Пример записи алгоритма:
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •If (условие)
- •Вариант 2 – с использованием операции конъюнкции
- •Int main()
- •Int c, y1, y2, kl, day, month, year;
- •Часто встречающиеся ошибки программирования:
- •Int main()
- •Переключатель
- •Int main()
- •Int month;
- •Часто встречающиеся ошибки программирования:
- •Бесконечные циклы
- •Циклы с предусловием
- •Int main()
- •Программа
- •Int main()
- •Программа
- •Int main()
- •Часто встречающиеся ошибки программирования:
- •Циклы с постусловием
- •Int main()
- •Int main()
- •Программа
- •Int main()
- •Int main()
- •Int main()
- •Int month;
- •Циклы с параметром
- •Действия цикла:
- •Int main()
- •Int top, bottom;
- •Int main()
- •Int num, sum, factor;
- •Int main()
- •Int main()
- •If (number % 3)
- •Int main()
- •Int main()
- •Int I, m, vector_min, vector_max, temp;
- •Int vector[n];
- •Int main()
- •Int vector_min, vector_max, temp;
- •Int vector[n];
- •Функции
- •Int summa(int a, int b)
- •Int summa(int a, int b)
- •Void swap(int a, int b)
- •Int temp;
- •Int top, bottom, temp;
- •Рекурсия
- •5 * 4 * Factorial(3)
- •5 * 4 * 3 * Factorial(2)
- •5 * 4 * 3 * 2 * Factorial(1)
- •Void quick_sort(int left, int right, int vector[])
- •Int I, last;
- •Void swap(int I, int j, int vector[])
- •Int temp;
- •Особенности рекурсии:
- •Адреса и указатели
- •Операции над указателями
- •Указатели и массивы
- •Int mass[5];
- •Int trio[5][2][3];
- •Указатели и функции
- •Int main()
- •Указатели и строки
- •Функции для работы со строками
- •Vtorokursnik
- •Vtorokursnik
- •Itoa(I, str, 16);
- •Текстовые файлы
- •Int vector[k];
- •Vector_1:
- •Vector_2:
- •Int ocenka;
- •Imja: Vasilij
- •Imja: Ivan
- •Int ocenka;
- •Бинарные файлы
Алфавит языка
Алфавит языка Си – это набор символов языка, используемых при написании программ. Он включает в себя три категории символов:
буквы,
цифры,
специальные знаки.
К категории букв относятся:
26 строчных букв латинского алфавита:
a b c d e f g h I j k l m n o p q r s t u v w x y z
26 прописных букв латинского алфавита:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
причем одинаковые строчные и прописные буквы считаются разными символами.
Для записи комментариев и работы со строками могут дополнительно использоваться строчные и прописные буквы русского алфавита.
К категории цифр относятся десять арабских цифр:
0 1 2 3 4 5 6 7 8 9
Специальными знаками являются символы:
+ плюс ‘ апостроф
- минус “ кавычки
* звездочка ? вопросительный знак
/ дробная черта ! восклицательный знак
< меньше _ знак подчеркивания
> больше () круглые скобки
= равно [] квадратные скобки
. точка {} фигурные скобки
, запятая | вертикальная черта
; точка с запятой \ слэш
: двоеточие # знак номера (шарп)
~ тильда % процент
^ карат & амперсанд
Служебные слова
Программы на языке Си пишутся с помощью служебных слов, которые дают команду компьютеру на выполнение определенных действий.
В качестве служебных слов используются слова английского языка, отражающие смысл выполняемого действия:
auto автоматический int целый
break прервать long длинный
case вариант main головная
char символьный register регистровый
const константа return возврат
continue продолжать short короткий
default по умолчанию signed со знаком
define определять sizeof размер
do выполнять static статический
double двойной struct структура
else иначе switch переключатель
enum перечисляемый typedef определить тип
extern внешний union смесь
float вещественный unsigned без знака
for для void пустой
if если while пока
include включать
Константы
Константы представляют собой величины, не изменяемые в процессе выполнения программы.
В Си используются константы четырех стандартных типов:
целые,
вещественные,
символьные,
строковые.
В отличие от Паскаля, в Си отсутствуют константы логического типа (true, false).
Целые константы – это целые числа, которые могу быть представлены в десятичной, восьмеричной и шестнадцатеричной системах счисления.
Целые десятичные константы – это обычные целые числа в диапазонах:
простое целое int: -32768 … +32767,
целое без знака unsigned int: 0 … 65535,
длинное целое long: -2 147 483 648 … +2 147 483 647,
длинное целое без знака unsigned long int: 0 … 4 294 967 295.
Внимание! Целая десятичная константа не может начинаться с нуля!
Вещественные константы представляют собой десятичные числа с дробной частью в диапазонах:
простое вещественное float: ±3,4×10-38…±3,4×10+38,
вещественное двойной точности double: ±1,7×10-308…±1,7×10+308.
Вещественные константы могут быть записаны в двух формах:
форме с фиксированной запятой – в виде десятичной дроби, причем вместо десятичной запятой ставится десятичная точка:
3.14159265358979 -2.71 1.4142 1.72
форме с плавающей запятой – в виде десятичной дроби с последующим десятичным порядком, который обозначается буквой E (e):
-2.31E-4 3.16e21 25.8e-6 -0.275E7
Символьные константы имеют стандартный тип char и представляют собой все символы алфавита Си, заключенные в апострофы:
‘A’ ‘a’ ‘Z’ ‘z’ ‘*’ ‘1’ ‘9’ ‘,’ ‘>’
Все символьные константы имеют внутреннее машинное двоичное представление, то есть каждому символу соответствует двоичное число в коде ASCII (американский стандартный код обмена информацией). Поэтому символьные константы в Си считаются данными целого типа и соответствуют целым десятичным числам в диапазоне 0 … 255 (приложение 1).
В Си различают особую группу символьных констант, используемых при вводе и выводе данных – управляющие символьные константы или ESC-последовательности. Они заключаются в апострофы и состоят из слэша и одного из символов алфавита языка:
‘\a’ звуковой сигнал
‘\b’ возврат на шаг
‘\f’ перевод страницы
‘\n’ перевод строки
‘\r’ возврат каретки
‘\t’ горизонтальная табуляция
‘\v’ вертикальная табуляция
‘\0’ нулевой символ (нулевой байт) – конец строки
‘\’’ апостроф
‘\\’ слэш
‘\?’ вопросительный знак
‘\”’ кавычка
Строковая константа (строковый литерал) представляет собой последовательность символов языка, заключенную в кавычки:
“This is a character string”
“abcdefghijklmnopqrstuvwxyz”
“Это строковая константа”
“Введите исходные данные:”
В конце каждой строки компилятор (переводчик с языка Си на язык машинных кодов) автоматически помещает нулевой символ ‘\0’, отмечающий ее конец.
В строковую константу могут быть включены ESC-последовательности, рассматриваемые как один отдельный символ:
“\nВведите исходные данные:”
При выводе этой константы на экран сначала будет сделан перевод на новую строку, а затем выведено сообщение:
Введите исходные данные:
Строковые константы, отделенные в программе только пробельными символами, при компиляции объединяются в одну. Длинную строковую константу можно разместить на нескольких строках, используя в качестве знака переноса ESC-последовательность ‘\n’:
“\nПрограмма\nстудента группы ИС-10\nИванова Ванечки”
Эта константа будет выведена на экран в следующем виде:
Программа
студента группы ИС-10
Иванова Ванечки
Внимание! Пустая символьная константа ‘’ недопустима!
Обратите внимание на разницу между строковой константой из одного символа, например, “A” , и похожей символьной константой ‘A’.