Васин Д.Ю. - Язык программирования Си. Курс лекций - 2003. Руководство для начинающих. М. Мир, 1988г. 512 с. Трой Д. Программирование на языке Си для персонального компьютера ibm pc Пер с англ. М. Радио и связь, 1991г. 432 с
Скачать 1.1 Mb.
|
|
Операции над одним операндом | |
Обозначение операции | Пояснение |
&x | адрес переменной x |
*p | имя переменной, на которую смотрит указатель p |
–x | смена знака значения переменной x |
+x | редко используемая операция, не меняющая значения x |
x | инвертирование битов целочисленного значения x |
!x | отрицание значения x (0 или не 0) |
+ +x | увеличение значения x на 1 до его использования в последующих вычислениях |
x+ + | увеличение значения x на 1 после его использования в последующих вычислениях |
– –x | уменьшение значения x на 1 до его использования в последующих вычислениях |
x– – | уменьшение значения x на 1 после его использования в последующих вычислениях |
sizeof x | определение размера значения переменной x в байтах |
Таблица 2
Операции над двумя операндами | |
Обозначение операции | Пояснение |
a + b | сложение числовых данных |
a – b | вычитание числовых данных |
a * b | умножение числовых данных |
a / b | деление числовых данных. Если операнды целочисленные, то дробная часть результата теряется. |
a % b | остаток от деления целочисленных данных |
a << k | сдвиг значения aна k двоичных разрядов влево (аналог умножения a на 2k) |
a >> k | сдвиг значения a на k двоичных разрядов вправо (аналог деления a на 2k) |
a & b | поразрядное логическое умножение целочисленных операндов (операция «И») |
a | b | поразрядное логическое сложение целочисленных операндов (операция «ИЛИ») |
a ^ b | операция «исключающее ИЛИ» над целочисленными операндами |
a < b | сравнение числовых или символьных данных на «меньше» |
a <= b | сравнение числовых или символьных данных на «меньше или равно» |
a > b | сравнение числовых или символьных данных на «больше» |
a >= b | сравнение числовых или символьных данных на «больше или равно» |
a == b | сравнение числовых или символьных данных на «равно» |
a != b | сравнение числовых или символьных данных на «не равно» |
y1 && y2 | проверка одновременного выполнения условий y1 и y2 |
y1 || y2 | проверка выполнения хотя бы одного из условий y1 или y2 |
p + int | прибавление к адресу (указатель p) целочисленного смещения int*sizeof, определяемого типом данных, на которые смотрит указатель |
p – int | вычитание из адреса (указатель p) целочисленного смещения int*sizeof, определяемого типом данных, на которые смотрит указатель |
Таблица 3
Операции присваивания | |
Обозначение операции | Пояснение |
v = e | присвоить переменной v значение выражения e |
v1=v2=...=e | множественное присвоение значения выражения e переменным v1,v2,... |
a += b | аналог оператора a = a + b |
a –= b | аналог оператора a = a – b |
a *= b | аналог оператора a = a * b |
a /= b | аналог оператора a = a / b |
a %= b | аналог оператора a = a % b |
a <<= k | аналог оператора a = a << k |
a >>= k | аналог оператора a = a >> k |
a &= b | аналог оператора a = a & b |
a |= b | аналог оператора a = a | b |
a ^= b | аналог оператора a = a ^ b |
Таблица 4
Символы некоторых однобайтовых констант | ||
Символ | Код ASCII | Пояснение |
\0xHH | 0xHH | шестнадцатеричный код (H – цифра от 0 до F) |
\0qqq | | восьмеричный код (q – цифра от 0 до 7) |
\a | 0x07 | символ bel, генерирующий звук при выводе |
\b | 0x08 | символ backspace, отменяющий предшествующий символ |
\f | 0x0C | символ Form Feed – перевод страницы |
\n | 0x0A | символ Line Feed – перевод строки |
\r | 0x0D | символ Carriage Return – перевод курсора в начало строки |
\t | 0x09 | символ Tab – горизонтальная табуляция |
\v | 0x0B | символ вертикальной табуляции |
\\ | 0x5C | символ \ – обратная наклонная черта (обратный слэш) |
\’ | 0x27 | символ одинарной кавычки |
\ | 0x22 | символ двойной кавычки |
\? | 0x3F | символ знака вопроса |
Вообще говоря, к «символам» алфавита причисляют и набор служебных слов, используемых в оформлении программы. Ядро Си насчитывает порядка 40 таких слов (см. табл. 5), а с появлением расширения языка в виде C++ к ним добавилось еще порядка 20 новых терминов. С большинством из них мы будем знакомиться по мере освоения материала последующих разделов.
Таблица 5
Служебные слова ядра входного языка Borland C | |
Служебное слово | Назначение |
Asm | включение команд на языке ассемблера |
Auto | редко используемое объявление локальных переменных |
Break | досрочный выход из циклов и переключателей |
Case | начало строки выбора в переключателе |
Cdecl | объявление Си-стиля для функций и данных (различие больших и малых букв, добавление лидирующих подчерков, запись в стек аргументов функций с конца) |
Char | объявление однобайтовых символьных или числовых данных |
Const | объявление не модифицируемых переменных – именованных констант или параметров, передаваемых по адресу |
continue | переход на продолжение цикла |
default | строка выбора в переключателе, на которую переходят в случае, если не выбрана ни одна предыдущая строка |
do | оператор цикла с постусловием |
double | объявление вещественных данных с удвоенной точностью |
else | начало альтернативной ветки в условном операторе if |
enum | объявление перечислимых данных |
extern | ссылка на глобальные данные, описанные в других файлах |
far | объявление дальних указателей |
float | объявление вещественных данных с обычной точностью |
for | оператор цикла |
goto | оператор безусловного перехода |
huge | объявление дальних указателей |
if | условный оператор |
int | объявление целочисленных двухбайтовых данных |
long | объявление целочисленных или вещественных данных повышенной длины |
near | объявление ближних указателей |
Pascal | объявление стиля Pascal для функций и данных (большие и малые буквы не различаются, параметры в стек заносятся с начала) |
register | указание о размещении переменных в регистровой памяти |
return | возврат из функции |
short | объявление целочисленных двухбайтовых данных |
signed | объявление целочисленных данных со знаком |
sizeof | определение длины данных |
static | объявление статических локальных переменных, сохраняющих свои значения после выхода из функции |
struct | объявление данных типа структура |
switch | оператор выбора – переключатель |
typedef | переименование стандартного типа данных |
union | объявление данных типа объединение |
unsigned | объявление целочисленных данных без знака |
void | указание об отсутствии аргументов или значения, возвращаемого функцией |
volatile | указание о том, что значение переменной может быть изменено другой программой |
while | описание условия прекращения цикла |
В программах на языке Си можно встретить операцию, в которой участвуют одновременно 3 операнда :
min = (a < b) ? a : b ;
Символом этой операции является знак вопроса, а выполняется она следующим образом. Если условие, заключенное в скобках выполнено, то значение присваиваемого выражения задается выражением, расположенным справа от знака вопроса. В противном случае вычисляется значение выражения, расположенного справа от двоеточия.