Tw-city.info

IT Новости
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Символы программирования c

Символы программирования c

Множество символов используемых в языке СИ можно разделить на пять групп.

1. Символы, используемые для образования ключевых слов и идентификаторов (табл.1). В эту группу входят прописные и строчные буквы английского алфавита, а также символ подчеркивания. Следует отметить, что одинаковые прописные и строчные буквы считаются различными символами, так как имеют различные коды.

2. Группа прописных и строчных букв русского алфавита и арабские цифры (табл.2).

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

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

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

Последовательности вида ddd и xddd (здесь d обозначает цифру) позволяет представить символ из набора кодов ПЭВМ как последовательность восьмеричных или шестнадцатеричных цифр соответственно. Например символ возврата каретки может быть представлен различными способами:

r — общая управляющая последовательность,

15 — восьмеричная управляющая последовательность,

x00D — шестнадцатеричная управляющая последовательность.

Следует отметить, что в строковых константах всегда обязательно задавать все три цифры в управляющей последовательности. Например отдельную управляющую последовательность n (переход на новую строку) можно представить как 10 или xA, но в строковых константах необходимо задавать все три цифры, в противном случае символ или символы следующие за управляющей последовательностью будут рассматриваться как ее недостающая часть. Например:

«ABCDEx009FGH» данная строковая команда будет напечатана с использованием определенных функций языка СИ, как два слова ABCDE FGH, разделенные 8-ю пробелами, в этом случае если указать неполную управляющую строку»ABCDEx09FGH»,то на печати появится ABCDE=|=GH, так как компилятор воспримет последовательность x09F как символ «=+=».

Отметим тот факт, что, если обратная дробная черта предшествует символу не являющемуся управляющей последовательностью (т.е. не включенному в табл.4) и не являющемуся цифрой, то эта черта игнорируется, а сам символ представляется как литеральный. Например:

символ h представляется символом h в строковой или символьной константе.

Кроме определения управляющей последовательности, символ обратной дробной черты () используется также как символ продолжения. Если за () следует (n), то оба символа игнорируются, а следующая строка является продолжением предыдущей. Это свойство может быть использовано для записи длинных строк.

1.1.2. Константы

Константами называются перечисление величин в программе. В языке СИ разделяют четыре типа констант: целые константы, константы с плавающей запятой, символьные константы и строковыми литералы.

Целая константа: это десятичное, восьмеричное или шестнадцатеричное число, которое представляет целую величину в одной из следующих форм: десятичной, восьмеричной или шестнадцатеричной.

Десятичная константа состоит из одной или нескольких десятичных цифр, причем первая цифра не должна быть нулем (в противном случае число будет воспринято как восьмеричное).

Восьмеричная константа состоит из обязательного нуля и одной или нескольких восьмеричных цифр (среди цифр должны отсутствовать восьмерка и девятка, так как эти цифры не входят в восьмеричную систему счисления).

Шестнадцатеричная константа начинается с обязательной последовательности 0х или 0Х и содержит одну или несколько шестнадцатеричных цифр (цифры представляющие собой набор цифр шеснадцатеричной системы счисления: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

Если требуется сформировать отрицательную целую константу, то используют знак «-» перед записью константы (который будет называться унарным минусом). Например: -0x2A, -088, -16 .

Каждой целой константе присваивается тип, определяющий преобразования, которые должны быть выполнены, если константа используется в выражениях. Тип константы определяется следующим образом:

— десятичные константы рассматриваются как величины со знаком, и им присваивается тип int (целая) или long (длинная целая) в соответствии со значением константы. Если константа меньше 32768, то ей присваивается тип int в противном случае long.

— восьмеричным и шестнадцатеричным константам присваивается тип int, unsigned int (беззнаковая целая), long или unsigned long в зависимости от значения константы согласно табл 5.

Для того чтобы любую целую константу определить типом long, достаточно в конце константы поставить букву «l» или «L». Пример:

5l, 6l, 128L, 0105L, OX2A11L.

Константа с плавающей точкой — десятичное число, представленное в виде действительной величины с десятичной точкой или экспонентой. Формат имеет вид:

[ цифры ].[ цифры ] [ Е|e [+|-] цифры ] .

Число с плавающей точкой состоит из целой и дробные части и (или) экспоненты. Константы с плавающей точкой представляют положительные величины удвоенной точности (имеют тип double). Для определения отрицательной величины необходимо сформировать константное выражение, состоящее из знака минуса и положительной константы.

Примеры: 115.75, 1.5Е-2, -0.025, .075, -0.85Е2

Символьная константа — представляется символом заключенном в апострофы. Управляющая последовательность рассматривается как одиночный символ, допустимо ее использовать в символьных константах. Значением символьной константы является числовой код символа. Примеры:

‘n’ — символ новой строки ,

‘\’ — обратная дробная черта ,

‘v’ — вертикальная табуляция .

Символьные константы имеют тип int и при преобразовании типов дополняются знаком.

Строковая константа (литерал) — последовательность символов (включая строковые и прописные буквы русского и латинского а также цифры) заключенные в кавычки («) . Например: «Школа N 35», «город Тамбов», «YZPT КОД».

Отметим, что все управляющие символы, кавычка («), обратная дробная черта () и символ новой строки в строковом литерале и в символьной константе представляются соответствующими управляющими последовательностями. Каждая управляющая последовательность представляется как один символ. Например, при печати литерала «Школа n N 35» его часть «Школа» будет напечатана на одной строке, а вторая часть «N 35» на следующей строке.

Читать еще:  Программирование на си в visual studio

Символы строкового литерала сохраняются в области оперативной памяти. В конец каждого строкового литерала компилятором добавляется нулевой символ, представляемый управляющей последовательностью .

Строковый литерал имеет тип char[] . Это означает, что строка рассматривается как массив символов. Отметим важную особенность, число элементов массива равно числу символов в строке плюс 1, так как нулевой символ (символ конца строки) также является элементом массива. Все строковые литералы рассматриваются компилятором как различные объекты. Строковые литералы могут располагаться на нескольких строках. Такие литералы формируются на основе использования обратной дробной черты и клавиши ввод. Обратная черта с символом новой строки игнорируется компилятором, что приводит к тому, что следующая строка является продолжением предыдущей. Например:

«строка неопределенной n

полностью идентична литералу

«строка неопределенной длинны» .

Для сцепления строковых литералов можно использовать символ (или символы) пробела. Если в программе встречаются два или более строковых литерала, разделенные только пробелами, то они будут рассматриваться как одна символьная строка. Этот принцип можно использовать для формирования строковых литералов занимающих более одной строки.

1.1.3. Идентификатор

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

Важной особенностью является то, что компилятор допускает любое количество символов в идентификаторе, хотя значимыми являются первые 31 символ. Идентификатор создается на этапе объявления переменной, функции, структуры и т.п. после этого его можно использовать в последующих операторах разрабатываемой программы. Следует отметить важные особенности при выборе идентификатора.

Во первых, идентификатор не должен совпадать с ключевыми словами, с зарезервированными словами и именами функций библиотеки компилятора языка СИ.

Во вторых, следует обратить особое внимание на использование символа (_) подчеркивание в качестве первого символа идентификатора, поскольку идентификаторы построенные таким образом, что, с одной стороны, могут совпадать с именами системных функций и (или) переменных, а с другой стороны, при использовании таких идентификаторов программы могут оказаться непереносимыми, т.е. их нельзя использовать на компьютерах других типов.

В третьих, на идентификаторы используемые для определения внешних переменных, должны быть наложены ограничения, формируемые используемым редактором связей (отметим, что использование различных версий редактора связей, или различных редакторов накладывает различные требования на имена внешних переменных).

1.1.4. Ключевые слова

Ключевые слова — это зарезервированные идентификаторы, которые наделены определенным смыслом. Их можно использовать только в соответствии со значением известным компилятору языка СИ.

Приведем список ключевых слов

Кроме того в рассматриваемой версии реализации языка СИ, зарезервированными словами являются :

_asm, fortran, near, far, cdecl, huge, paskal, interrupt .

Ключевые слова far, huge, near позволяют определить размеры указателей на области памяти. Ключевые слова _asm, cdelc, fortran, pascal служат для организации связи с функциями написанными на других языках, а также для использования команд языка ассемблера непосредственно в теле разрабатываемой программы на языке СИ.

Ключевые слова не могут быть использованы в качестве идентификаторов.

1.1.5. Использование комментариев в тексте программы

Комментарий — это набор символов, которые игнорируются компилятором, на этот набор символов, однако, накладываются следующие ограничения. Внутри набора символов, который представляет комментарий не может быть специальных символов определяющих начало и конец комментариев, соответственно (/* и */). Отметим, что комментарии могут заменить как одну строку, так и несколько. Например:

Неправильное определение комментариев. [ Оглавление | Вперед ]

Обзор и описание языка программирования Си

Си — язык программирования общего назначения, который очень известен своей эффективностью, экономичностью ресурсов и переносимостью на других программные платформы. Все эти преимущества обеспечивают качество разработки программного обеспечения, их быстроту и сравнительно небольшой размер. Программы написанные на Си по скорости работы можно даже сравнить с программами написанными на языке ассемблера.

Несмотря на то, что Си не включает в себя встроенные компоненты по работе с вводом-выводом, распределению памяти, управлению процессами, его системное окружение позволяет подключать объектные модули с такими функциями. Этого вполне достаточно, чтобы разрабатывать программное обеспечение абсолютно любого уровня, как небольшие программы, так и комплекс сложных программных систем.

Языковые особенности Си позволяют делать программы независимыми операционной системы или платформы.

Наиболее важными особенностями языка программирования Си являются:

  • обеспечение полного набора операторов структурного программирования
  • большой набор операций, в том числе операции прямой трансляции в машинный код
  • поддержка указателей на переменные и функции

Указатели в Си позволяют создавать указатели и ссылаться на объекты таким же путем, как это делает компьютер. Арифметика указателей осуществляет доступ и манипуляции с адресами памяти. Си имеет препроцессор для обработки текстовых файлов перед компиляцией. Препроцессор может быть использован для любых текстовых файлов.

Таким образом, Си это гибкий язык программирования, позволяющий писать качественные программные продукты с высокой скоростью работы.

Синтаксис

В программах написанных на Си используются множество символов и множество представимых символов. Множество символов — это буквы, цифры, знаки пунктуации. Комбинирование этих символов создают конструкции языка. Множество представимых символов — это подмножество множества символов, состоящее из всех букв, цифр, символов которые можно представить как графически отдельные символы.

Программный код на Си может содержать только символы которые определены для множества символов. Лишь только комментарии, символьные константы и строковые литералы могут содержать любой символ. Другие, неверно используемые символы означают ошибку для компилятора Си, о чем он будет выводить сообщать.

Буквы и цифры

Множество символов Си включает в себя малые и большие буквы английского алфавита и 10 арабских цифр:

  • большие английские буквы: A B C D E F G H I J K L M N O P Q R T U V W X Y Z
  • малые английские буквы: a b c d e f g h i j k l m n o p q r t u v w x y z
  • десятичные арабские цифры: 0 1 2 3 4 5 6 7 8 9
Читать еще:  Создание программ для андроид без программирования

Цифры и буквы используются для наименования ключевых слов, констант, идентификаторов.

Символы пробела

Язык Си включает пробельные символы — пробелы, перевод строки, табуляцию, новую страницу, возврат каретки, вертикальную табуляцию, новую строку. Пробельные символы разделяют символы программного кода друг от друга.

Специальные символы и знаки пунктуации

Специальные символы и знаки пунктуации в Си используются для выполнения совершенно различных задач. Они могут использоваться в строковых литералах, комментариях, константах.

ESC-последовательности

ESC-последовательности — специальные символьные комбинации, представляющие собой пробельные символы и неграфические символы в строках. Они используются для таких действий, как возврат каретки и табуляции и т.п.

Операции

Операции в Си как и в любом другом языке программирования представляют комбинации символов для работы с разными величинами.

  • Логическое НЕ: !
  • Побитовое дополнение:

  • Сложение: +
  • Вычитание, отрицание: —
  • Умножение: *
  • Деление: /
  • Остаток: %
  • Сдвиг влево: >
  • Меньше:
  • Больше или равно: >=
  • Равно: ==
  • Не равно: !=
  • Побитовое И: &
  • Побитовое включающее ИЛИ: |
  • Побитовое исключающее ИЛИ: ^
  • Логическое И: &&
  • Логическое ИЛИ: ||
  • Последовательное выполнение: ,
  • Операция условного выражения: ?:
  • Инкремент: ++
  • Декремент: —
  • Простое присваивание: =
  • Сложение с присваиванием: +=
  • Вычитание с присваиванием: -=
  • Умножение с присваиванием: * =
  • Деление с присваиванием: /=
  • Остаток с присваиванием: %=
  • Сдвиг вправо с присваиванием: >>=
  • Сдвиг влево с присваиванием: 2017-12-09 Программирование

    Язык программирования C#

    Язык С#. Символы и строки

    В C# существуют два вида строковых констант (литерал):

    • обычные константы — строка символов, заключенная в кавычки string str= “d:\СП21\С#”;
    • @-константа — константа c предшествующим знаком @ string str= @ “d:СП21С#”;

    В @-константах все символы трактуются в соответствии с их изображением, поэтому путь к файлу лучше задавать @-константой.

    Класс Char

    Char – символы в кодировке Unicode — хранятся в двух байтах

    Методы класса Char

    GetNumericValue

    Возвращает числовое значение символа, если он является цифрой, и -1 в противном случае.

    GetUnicodeCategory

    Возвращает категорию Unicode-символа. В Unicode символы разделены на категории, например цифры (DecimalDigitNumber), римские цифры (LetterNumber), разделители строк (LineSeparator), буквы в нижнем регистре (LowercaseLetter) и т.д.

    IsControl

    Возвращает true, если символ является управляющим.

    IsDigit

    Возвращает true, если символ является десятичной цифрой.

    IsLetter

    Возвращает true, если символ является буквой.

    IsLetterOrDigit

    Возвращает true, если символ является буквой или десятичной цифрой.

    IsLower

    Возвращает true, если символ задан в нижнем регистре.

    IsNumber

    Возвращает true, если символ является числом (десятичным или шестнадцатеричным).

    IsPunctuation

    Возвращает true, если символ является знаком препинания.

    IsSeparator

    Возвращает true, если символ является разделителем.

    IsUpper

    Возвращает true, если символ задан в верхнем регистре.

    IsWhiteSpace

    Возвращает true, если символ является пробельным (пробел, перевод строки, возврат каретки).

    Parse

    Преобразует строку в символ (строка должна состоять из одного символа).

    ToLower

    Преобразует символ в нижний регистр

    ToUpper

    Преобразует символ в верхний регистр

    Массив символов char []

    В языке C# массив char [] — обычный массив:

    • не имеет завершающего нуля,
    • его нельзя инициализировать строкой символов

    Преобразование строки в массив символов:

    string hello = «Hello, World!»;

    char[ ] str = hello.ToCharArray();

    Класс String

    1. В классе String невозможно изменить содержимое строки или ее длину.
    2. При каждом изменении строки создается новый объект, а прежний превращается в мусор.
    3. Для работы со строками изменяемой длины и содержания используется класс StringBuilder

    string str;

    string world = «Мир«;

    string str1 = new string(‘ ‘, 20);

    Преобразование массива символов в строку:

    char[ ] mch = < 'М', 'а', 'й', 'к', 'о', 'п' >;

    string str2 = new string(mch);

    Для строк определены следующие операции:

    • присваивание (=);

    • проверка на равенство (==);

    • проверка на неравенство ( ! = ) ;

    • обращение по индексу ( [ ] ) ;

    • сцепление (конкатенация) строк ( + ) .

    Несмотря на то, что строки являются ссылочным типом данных, на равенство и неравенство проверяются не ссылки, а значения строк! Строки равны, если имеют одинаковое количество символов и совпадают посимвольно.

    Try Objective-с

    сайта «Try Objective-c — программирование для начинающих»!

    Здесь простым и доступным языком представлен материал по основам программирования.

    Если вы никогда раньше не программировали, то приступать к изучению абсолютно любого языка программирования следует именно с данных основ программирования — в противном случае понимание многих вещей в дальнейшем будет довольно затруднительно.

    Сам процесс обучения программированию довольно трудоемок, но если у вас есть цель — то у вас все получится!

    Заучивать весь представленный материал нет необходимости. Главное — чтобы вы понимали саму суть здесь изложенного.

    • Просмотров: 13963
    • Автор: Midav
    • Дата: 18-10-2012, 00:09

    1.22 Строки и управляющие символы

    Потихоньку мы переходим на язык программирования и начинаем пользоваться общепринятыми терминами.
    Мы уже с вами сталкивались с присваиванием строки переменной.

    В данном случае переменной «hi» присваивается значение — всем привет! используя оператор присваивания — «=»
    Чтобы записать текст в какую либо переменную ее нужно заключить в кавычки.

    А как же нам записать текст относительно большого объема?
    Так чтобы его можно было хоть как то отформатировать на экране чтобы он воспринимался в более менее удобном для чтения виде?

    Вывод текста большого объема, да и просто текста, с элементами форматирования осуществляется с помощью специальных управляющих символов из таблицы ASCII

    Например для того, чтобы произвести перевод на новую строку необходимо напечатать символ — n
    Как только интерпретатор встречает символ обратного слеша (наклонная черта) от ожидает увидеть за ним один из управляющих символов форматирования и если он встречается за слешем — выполняет соответствующую операцию над текстом.

    Управляющие символы не отображаются на экране монитора, они предназначены только для манипуляций над текстом придавая ему определенный фид — форматирование.

    Посмотрите пример вывода форматированного текста на экран монитора:

    Для вывода текста большого объема:

    Чтобы вывести этот текст надо вызвать функцию print(), что мы и сделаем:

    В результате мы получим такой текст:

    Как вы видите здесь присутствуют как переводы на нову строку, так и табуляция — отступ.

    Одиночный обратный слеш — позволяет делать перенос строки при печатании большого текста без вывода синтаксической ошибки в окне IDLE
    При этом данный перенос предназначен только для переноса строки в окне IDLE, при выводе на печать этот перенос работать не будет.

    Например если вы наберете текст:

    И нажмете ENTER, то получите синтаксическую ошибку:

    А вот если в конце такой строки поставите обратный слеш — , то ошибки уже не будет!
    Т.е. такой код:

    Ошибку синтаксиса не вызовет.

    Более того, при нажатии ENTER будет произведен просто переход на новую строку и интерпретатор Python будет ожидать от вас продолжения ввода текстовой информации.
    Сигналом интерпретатору об окончанием ввода будет постановка закрывающих кавычек — «

    Если вы помните разговор о кодовых таблицах ASCII которые содержат разные коды обозначающие различные символы и которые выводятся компьютером на экран монитора, то должны помнить, что в эти таблицы входят группы так называемых непечатаемых символов, которые призваны для форматирования текста.
    Для вставки такого символа в текст используют обратную косую черту, которая указывает интерпретатору что следующий за ней символ является управляющим.

    Самые часто используемые управляющие символы, это:
    — знак табуляции — t
    — перенос на новую строку — n
    — знак «возврата каретки» — r

    Символьный тип данных. Управляющие символы

    По таблице ASCII символы с номерами (кодами) от 0 до 127 жестко определены. В этом диапазоне номера присвоены символам цифр, латинским (английским) маленьким и большим буквам, знакам препинания, а также некоторым другим символам (‘#’, ‘%’, ‘

    ‘ и т. п.). Здесь же заданы коды для различных управляющих символов, которые никак не экране не отображаются, а что-то делают (например, создают новою строку или отступ, подают звуковой сигнал и др.). Расширенная таблица ASCII кодирует символы национальных алфавитов (например, русского языка) числами, лежащими в диапазоне от 128 до 255.

    В Си при обращении по числовым кодам доступна только основная часть ASCII, т. е. символы с кодами от 0 до 127. Хотя тип char может принимать числовые значения от -128 до 127.

    Символы цифр от ‘0’ до ‘9’ имеют последовательные коды от 48 до 57. Этот факт обычно используют для преобразования символов цифр в числа. Если известно, что символ ‘0’ имеет код 48, а был задан символ ‘5’, имеющий код 53, то если вычесть из 53 число 48, получим число 5. Таким образом, выполнив операцию ‘5’ — ‘0’, мы получим число 5.

    Английские большие буквы (прописные) имеют последовательные коды от 65 (A) до 90 (Z), маленькие (строчные) — от 97 до 122.

    Задания

    Напишите программу, в которой объявлены только две переменные символьного типа. Одной переменной присвоен, например, символ ‘4’, а второй — ‘7’. Функция printf() должна выводить на экран разность и сумму чисел, которые были представлены символами и присвоены переменным.

    Переменная not_num содержит строку из трех символов-цифр, например «528». Необходимо получить из этой строки соответствующее ему число и присвоить его переменной num. Вывести на экран результат выражения num – 10. (Подсказка: строка — это массив символов, следовательно, вы можете извлекать символы цифр по их индексам; при вычислении числа первый символ массива, преобразованный в число, будет означать количество сотен, второй — десятков, а третий — единиц.)

    Известно, что символ A английского алфавита имеет код 65. Напишите программу, определяющую какие символы в этом алфавите стоят на 5, 12 и 19 местах.

    Управляющие символы

    Специальные, или управляющие, символы в программном коде обозначаются двумя символами, т. к. одним их обычно обозначить невозможно. Но по сути представляют собой один символ. Например, букву ‘a’ можно обозначить одним символом, но как обозначить символ создания новой строки, если ему не соответствует ни один знак? Приходится представлять непечатаемый символ комбинацией пары других символов: ‘n’.

    Ниже перечислен ряд управляющих символов (не все) и то, что они делают:

    ‘n’ — создание новой строки и переход на нее;

    ‘t’ — табуляция (отступ в несколько пробелов);

    ‘r’ — возврат каретки (перевод курсора в первую позицию текущей строки);

    ‘b’ — возврат курсора на один символ назад с удалением этого символа.

    В программном коде, помимо управляющих, специальными символами могут записываться некоторые вполне обычные символы, такие как кавычки, одиночные кавычки, обратная косая черта и др. Некоторые из этих символов можно задать одним символом в одиночных кавычках. Но многие из них невозможно вставить просто так внутрь строки, т.к. они что-то значат с точки зрения синтаксиса языка. Например, обратная косая черта в строке сообщает, что начинается обозначение специального символа, двойная кавычка обозначает начало или конец строки. Поэтому такие символы также обозначаются парной комбинацией других символов:

    ‘\’ — обратный косая черта;

    ‘»‘ — двойная кавычка (не в строке можно просто ‘»‘);

    ‘’ — пустота, символ с кодом 0 по таблице ASCII.

    Задания

    Напишите программу, в которой бы использовалась табуляция, вывод на экран строки в двойных кавычках, в одиночных кавычках (апострофах), затирание предыдущего символа и возврат каретки (для последних двух случаев, чтобы увидеть результат, управляющие символы надо вставить внутрь строки). Проверьте, как выводится на экран строка, если в ее середине стоит нулевой символ.

    Выведите на экран символьное обозначение управляющих символов и их номера по таблице ASCII. Пример вывода:

    Выясните экспериментальным путем, как вывести на экран символ %. (Существует два способа.)

  • Ссылка на основную публикацию
    Adblock
    detector