Работа на ЭВМ и программирование Язык C Типы данных: целое число - int вещественное число - float, double (вещючисло двойной точности) символы - char Операторы: 1) присваивание: "=" 2) вызов функции: func(x) 3) управляющие конструкции: if, while, for, do ... while, switch 4) заголовки функций: <тип возвращаемого значения> <имя функции> (<список параметров>) список параметров: <тип параметра> <имя параметра>, ..., <тип параметра> <имя параметра> 5) оператор выхода из функции 6) составной оператор { <оператор> <оператор> <оператор> } Ввод/вывод: Ввод данных в программу: с клавиатуры, из файла, ... Вывод данных из программы: на экран, в файл, ... Библиотека ввода/вывода: 1. вывести на экран - printf (print + f (Formatted)) 2. ввести с клавиатуры - scanf 3. работа с файлами Функции библиотеки вывода описаны в файле stdio.h (Правило C: функция перед вызовом должна быть описана Описание функции - грубо говоря, копия заголовка функции) Включить файл "stdio.h" в процесс компиляции: #include Компиляция - процесс перевода программы с языка программирования на язык машинных кодов. Компилятор - это программа, которая осуществляет компиляцию. Компилятор gcc - GNU C Compiler GNU - GNU Not Unix Linux: gnu, cat, lynx, ... "Введение в язык программирования C" Керниган, Ритчи void - пустой (список параметров) ; - в конце операторов вызова функции, присваивания, return (выход из функции) =================================================== Программа "Ничего не делать" ------------------------- #include int main(void) return 0; =================================================== Программа "Hello, World!" ------------------------- #include int main(void) { printf("Hello, World!\n"); return 0; } =================================================== Непечатные символы: \n - конец строки \t - знак табуляции ... Представление символов к компьютере: Система ASCII (American Standard ... Institute) Код символа Символ 10 - \n 32 - пробел 48 - '0' 49 - '1' ... 57 - '9' ... 65 - 'A' ... 90 - 'Z' ... ================================================= Перевод текста из Windows в Unix (концы строк): dos2unix, unix2dos (утилиты Линукса) Пример преобразования кода символа в его значения: 123 = (('1'-48)*10 + ('2' - 48))*10 + '3' - 48 (схема Горнера) ================================================= Команды Линукса: 1) cd - Change Directory 2) ls - список файлов в текущей директории 3) gcc - скомпилировать программу (gcc tmp.c -> ./a.out) 4) rm - удалить файл 5) mv - переименовать или переместить файл 7) man - показать документацию (выход - ':')/\. Пример: "man gcc", "man printf" 8) pwd - показать путь к текущей директории Путь - путь по дереву. Дерево директорий (папок, фолдеров, оглавлений) Корень - '/' & - операция извлечения адреса переменной (номер самого младшего байта) scanf() считывает данные с клавиатуры и помещает в память по указанному адресу Память - это последовательность пронумерованных ячеек, в которых хранятся данные Адрес памяти - это номер ячейки Единица информации - бит Наименьшая адресуемая ячейка памяти - байт (8-битная) Замечание. Байт может содержать и не 8 битов (зависит от архитектуры) Память: N Номера байтов: 0 1 2 3! 4 5 6 7! ... 4*k 4*k+1 4*k+2 4*k+3! ! <123> ! 4*k == &N %d - обозначение формата десятичного числа while (<условие продолжение цикла>) <оператор> ================================================== Программа "Вычисление факториала целого числа" (N!=1*2*3*...*N) ---------------------------------------------- #include int main(void) { int N, res = 1; printf("Input number\n"); scanf("%d", &N); while (N >= 1) { res *= N; N -= 1; } printf("res: %d\n", res); return 0; }