- •В. А. Лучников программирование на языке си
- •Оглавление
- •Предисловие
- •Алфавит языка
- •Служебные слова
- •Константы
- •Комментарии
- •Переменные
- •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;
- •Подстановка имен
- •Макросы
- •#Define vyvod puts(“Programma studenta Vasi Pupkina”)
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •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()
- •Int main()
- •Структуры данных
- •Массивы
- •Int vect[5];
- •Int vect[count];
- •Vect[0] vect[1] vect[2] vect[3] vect[4]
- •Int main()
- •Int temp;
- •Int matr[row][col];
- •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 vector[k];
- •Vector_1:
- •Vector_2:
- •Int ocenka;
- •Imja: Vasilij
- •Imja: Ivan
- •Int ocenka;
- •Бинарные файлы
- •Функции
- •Void main()
- •Int summa(int a, int b)
- •Int summa(int a, int b)
- •Void swap(int a, int b)
- •Int temp;
- •Void poplavok(int n, int vector[n])
- •5 * 4 * Factorial(3)
- •5 * 4 * 3 * Factorial(2)
- •5 * 4 * 3 * 2 * Factorial(1)
- •Int fibo(int n)
- •Int binom(int m, int n)
- •Int max_element(int k, int n, int vector[])
- •Int temp;
- •Void quick_sort(int left, int right, int vector[])
- •Адреса и указатели
- •Операции над указателями
- •Указатели и массивы
- •Int mass[5];
- •Int trio[5][2][3];
- •Указатели и функции
- •Int sloshenie(int a, int b);
- •Int sloshenie(int a, int b)
- •Int main()
- •Указатели и строки
- •Функции для работы со строками
- •Vtorokursnik
- •Vtorokursnik
- •Itoa(I, str, 16);
- •Лучников Владимир Александрович программирование на языке си
Алфавит языка
Алфавит языка Си– это набор символов языка, используемых при написании программ. Он включает в себя три категории символов:
буквы,
цифры,
специальные знаки.
К категории буквотносятся:
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’.