Скачать презентацию ЭЛЕМЕНТЫ ЯЗЫКА СИ Используемые символы Множество символов Скачать презентацию ЭЛЕМЕНТЫ ЯЗЫКА СИ Используемые символы Множество символов

Элементы Языка СИ.pptx

  • Количество слайдов: 31

ЭЛЕМЕНТЫ ЯЗЫКА СИ ЭЛЕМЕНТЫ ЯЗЫКА СИ

Используемые символы Множество символов используемых в языке СИ можно разделить на пять групп 1. Используемые символы Множество символов используемых в языке СИ можно разделить на пять групп 1. Символы, используемые для образования ключевых слов и идентификаторов Прописные буквы латинского алфавита ABCDEFGHIJKLMNOPQRSTUVWXYZ Строчные буквы латинского алфавита abcdefghijklmnopqrstuvwxyz Символ подчеркивания _

Используемые символы 2. Группа прописных и строчных букв русского алфавита и арабские цифры Прописные Используемые символы 2. Группа прописных и строчных букв русского алфавита и арабские цифры Прописные буквы русского алфавита АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЫЬЭЮЯ Строчные буквы русского алфавита абвгдежзиклмнопрстуфхцчшщъыьэюя Арабские цифры 0123456789

Используемые символы 3. Знаки нумерации и специальные символы. Эти символы используются с одной стороны Используемые символы 3. Знаки нумерации и специальные символы. Эти символы используются с одной стороны для организации процесса вычислений, а с другой - для передачи компилятору определенного набора инструкций.

Используемые символы 4. Управляющие и разделительные символы. К той группе символов относятся: пробел, символы Используемые символы 4. Управляющие и разделительные символы. К той группе символов относятся: пробел, символы табуляции, перевода строки, возврата каретки, новая страница и новая строка. Эти символы отделяют друг от друга объекты, определяемые пользователем, к которым относятся константы и идентификаторы. 5. Кроме выделенных групп символов в языке СИ широко используются так называемые, управляющие последовательности, т. е. специальные символьные комбинации, используемые в функциях ввода и вывода информации. Управляющая последовательность строится на основе использования обратной дробной черты () (обязательный первый символ) и комбинацией латинских букв и цифр

Используемые символы символ возврата каретки может быть представлен различными способами: r - общая управляющая Используемые символы символ возврата каретки может быть представлен различными способами: r - общая управляющая последовательность, 15 - восьмеричная управляющая последовательность, x 00 D - шестнадцатеричная управляющая последовательность.

Ключевые слова - это зарезервированные идентификаторы, которые наделены определенным смыслом. Ключевые слова - это зарезервированные идентификаторы, которые наделены определенным смыслом.

Идентификатор Идентификатором называется последовательность цифр и букв, а также специальных символов, при условии, что Идентификатор Идентификатором называется последовательность цифр и букв, а также специальных символов, при условии, что первой стоит буква или специальный символ. Для образования идентификаторов могут быть использованы строчные или прописные буквы латинского алфавита. В качестве специального символа может использоваться символ подчеркивание (_). Два идентификатора для образования которых используются совпадающие строчные и прописные буквы, считаются различными. Например: abc, ABC, A 128 B, a 128 b. Важной особенностью является то, что компилятор допускает любое количество символов в идентификаторе, хотя значимыми являются первые 31 символ. Идентификатор создается на этапе объявления переменной, функции, структуры и т. п. после этого его можно использовать в последующих операторах разрабатываемой программы

Константы В языке СИ разделяют четыре типа констант: целые константы, константы с плавающей запятой, Константы В языке СИ разделяют четыре типа констант: целые константы, константы с плавающей запятой, символьные константы и строковыми литералы Целая константа: это десятичное, восьмеричное или шестнадцатеричное число, которое представляет целую величину в одной из следующих форм: десятичной, восьмеричной или шестнадцатеричной. Десятичная константа состоит из одной или нескольких десятичных цифр, причем первая цифра не должна быть нулем (в противном случае число будет воспринято как восьмеричное). Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных цифр (среди цифр должны отсутствовать восьмерка и девятка, так как эти цифры не входят в восьмеричную систему счисления). Шестнадцатеричная константа начинается с обязательной последовательности 0 х или 0 Х и содержит одну или несколько шестнадцатеричных цифр (цифры представляющие собой набор цифр шеснадцатеричной системы счисления: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) const int hex = 0 x 80; /* 128 в десятичной системе */ const int oct = 012; /* 10 в десятичной системе */

Программа на С Программа на С

Использование комментариев в тексте программы /*пример Пример*/ //пример Использование комментариев в тексте программы /*пример Пример*/ //пример

Простые типы данных Простые типы данных

Объявление переменных Объявление переменной имеет следующий формат: [спецификатор_класса_памяти] спецификатор_типа идентификатор [=инициатор]. Спецификатор класса памяти Объявление переменных Объявление переменной имеет следующий формат: [спецификатор_класса_памяти] спецификатор_типа идентификатор [=инициатор]. Спецификатор класса памяти определяется одним из 4 ключевых слов языка C: auto, extern, register, static и указывает, во-первых, каким образом будет распределяться память под объявляемую переменную и, во-вторых, область видимости этой переменной, т. е. из каких частей программы можно к ней обратиться. Спецификатор типа - одно или несколько ключевых слов, определяющих тип объявляемой переменной. Инициатор задает начальное значение или список начальных значений, присваиваемых переменной при объявлении. Примеры инициализации переменных: int i=5; float f=12. 35; char ch='a'; int k=0, b=5, d=7;

Пример Пример

Как вводить и выводить информацию Самый простой механизм ввода - чтение по одному символу Как вводить и выводить информацию Самый простой механизм ввода - чтение по одному символу из стандартного входного потока (с клавиатуры) с помощью функции getchar( ). Она имеет следующий прототип (т. е. описание заголовка): int getchar(void); Здесь определен тип единственного аргумента (void) и тип возвращаемого функцией значения (int). Оператор вида: х = getchar( ); присваивает переменной х очередной вводимый символ. Переменная х должна иметь символьный или целый тип. Другая функция - putchar(х) выдает значение переменной x в стандартный выходной поток (на экран дисплея). Функция putchar( ) имеет прототип: int putchar(int);

Простой ввод-вывод Простой ввод-вывод

Форматированный вывод данных Функция printf( ) (прототип содержится в файле stdio. h) обеспечивает форматированный Форматированный вывод данных Функция printf( ) (прототип содержится в файле stdio. h) обеспечивает форматированный вывод. Ее можно записать в следующем формальном виде: рrintf ("управляющая строка", аргумент _1, аргумент _2, . . . );

Управляющая строка содержит компоненты трех типов: обычные символы, которые просто копируются в стандартный выходной Управляющая строка содержит компоненты трех типов: обычные символы, которые просто копируются в стандартный выходной поток (выводятся на экран дисплея); спецификации преобразования, каждая из которых вызывает вывод на экран очередного аргумента из последующего списка; управляющие символьные константы. Каждая спецификация преобразования начинается со знака % и заканчивается некоторым символом, задающим преобразование. Между знаком % и символом преобразования могут встречаться другие знаки в соответствии со следующим форматом: % [признаки] [ширина_поля] [точность] [F|N|h|l|L] c_n Все параметры в квадратных скобках не являются обязательными. На месте параметра c_n (символ преобразования) могут быть записаны: с - значением аргумента является символ; d или i - значением аргумента является десятичное целое число; е - значением аргумента является вещественное десятичное число в экспоненциальной форме вида 1. 23 e+2; Е - значением аргумента является вещественное десятичное число в экспоненциальной форме вида 1. 23 E+2; f - значением аргумента является вещественное десятичное число с плавающей точкой; g (или G) - используется, как е или f, и исключает вывод незначащих нулей; о - значением аргумента является восьмеричное целое число; s - значением аргумента является строка символов (символы строки выводятся до тех пор, пока не встретится символ конца строки или же не будет, выведено число символов, заданное точностью); u - значением аргумента является беззнаковое целое число; х - значением аргумента является шестнадцатеричное целое число с цифрами 0, . . . , 9, а, b, с, d, е, f; X - значением аргумента является шестнадцатеричное целое число с цифрами 0, . . . , 9, А, В, С, О, Е, F; р - значением аргумента является указатель; n - применяется в операциях форматирования. Аргумент, соответствующий этому символу спецификации, должен быть указателем на целое. В него возвращается номер позиции строки (отображаемой на экране), в которой записана спецификация %n.

Например, в результате вызова функции: printf( Например, в результате вызова функции: printf("t. Computern%dn", i); сначала выполняется горизонтальная табуляция (t), т. е. курсор сместится от края экрана, затем на экран будет выведено слово Computer, после этого курсор переместится в начало следующей строки (n), затем будет выведено целое число i по формату %d (десятичное целое), и, окончательно, курсор перейдет в начало новой строки (n). Напечатать строку символов можно и так: printf("Это строка символов");

Пример Пример

Форматированный ввод данных Функция scanf( ) (прототип содержится в файле stdio. h) обеспечивает форматированный Форматированный ввод данных Функция scanf( ) (прототип содержится в файле stdio. h) обеспечивает форматированный ввод. Ее можно записать в следующем формальном виде: scanf("управляющая строка", аргумент_1, аргумент_2, . . . ); Аргументы scanf( ) должны быть указателями на соответствующие значения. Для этого перед именем переменной записывается символ &. scanf("%d", &a); scanf("%c", &b); scanf("%d%c%f", &a, &b, &t);

Пример Пример

Операции Операции

Структурированные типы данных Массивы определяются так же, как и переменные: int a[100]; char b[20]; Структурированные типы данных Массивы определяются так же, как и переменные: int a[100]; char b[20]; float d[50]; В первой строке объявлен массив а из 100 элементов целого типа: а[0], а[1], . . . , а[99] (индексация всегда начинается с нуля). Во второй строке элементы массива b имеют тип char, а в третьей - float. Двумерный массив представляется как одномерный, элементами которого так же являются массивы. Например, определение char а[10][20]; задает такой массив. По аналогии можно установить и большее число измерений. Пусть задан массив: int a[2][3]; Тогда элементы массива а будут размещаться в памяти следующим образом: a[0][0], a[0][1], a[0][2], a[1][0], a[1][1], a[1][2].

Массивы Язык Си позволяет инициализировать массив при его определении. Для этого используется следующая форма: Массивы Язык Си позволяет инициализировать массив при его определении. Для этого используется следующая форма: тип имя_массива[. . . ]. . . [. . . ] = {список значений}; Примеры: int a[5] = {0, 1, 2, 3, 4}; char ch[3] = {'d', 'e', '9'}; int b[2][3] = {1, 2, 3, 4, 5, 6};

Строки символов char array[7] = Строки символов char array[7] = "Строка"; char s[ ] = {'С', 'т', 'р', 'о', 'к', 'а', ''}; Если string - массив символов, то ввести строку с клавиатуры можно так: gets(string); (ввод оканчивается нажатием клавиши ). Вывести строку на экран можно следующим образом: puts(string);

Функции работы со строками Отметим также, что для работы со строками существует специальная библиотека Функции работы со строками Отметим также, что для работы со строками существует специальная библиотека функций, прототипы которых находятся в файле string. h. Если string 1 и string 2 - массивы символов, то вызов функции strcpy( ) имеет вид: strcpy(string 1, string 2); Эта функция служит для копирования содержимого строки string 2 в строку string 1. Массив string 1 должен быть достаточно большим, чтобы в него поместилась строка string 2. Так компилятор не отслеживает этой ситуации, то недостаток места приведет к потере данных. Вызов функции strcat( ) имеет вид: strcat(string 1, string 2); Эта функция присоединяет строку string 2 к строке string 1 и помещает ее в массив, где находилась строка string 1, при этом строка string 2 не изменяется. Нулевой байт, который завершал первую строку, заменяется первым байтом второй строки. Функция strlen( ) возвращает длину строки, при этом завершающий нулевой байт не учитывается. Если a целое, то вызов функции имеет вид: a = strlen(string); Функция strcmp( ) сравнивает две строки и возвращает 0, если они равны.

Пример Пример

Операции увеличения и уменьшения ++I; Необычный аспект заключается в том, что ++ и -- Операции увеличения и уменьшения ++I; Необычный аспект заключается в том, что ++ и -- можно использовать либо как префиксные операции (перед переменной, как в ++N), либо как постфиксные (после переменной: N++). Эффект в обоих случаях состоит в увеличении N. Но выражение ++N увеличивает переменную N до использования ее значения, в то время как N++ увеличивает переменную N после того, как ее значение было использовано. Это означает, что в контексте, где используется значение переменной, а не только эффект увеличения, использование ++N и N++ приводит к разным результатам. Если N = 5, то х = N++; устанавливает х равным 5, а х = ++N; полагает х равным 6.

Бинарные операции Бинарные операции

Задача: каждое слово строки вывести на экран в отдельную строку Задача: каждое слово строки вывести на экран в отдельную строку