Практикум для изучения дисциплины «Основы программирования»



Pdf көрінісі
бет44/81
Дата08.07.2020
өлшемі1,55 Mb.
#74978
түріПрактикум
1   ...   40   41   42   43   44   45   46   47   ...   81
Байланысты:
А.А. Тюгашев

ЗАМЕЧАНИЕ 
Обратите  особое  внимание  на  запись  сравнения  на  равенство —  чтобы 
отличить ее от присваивания, в Си и унаследованных от него языках — С++, 
С#, Java и др. используются два стоящих рядом знака равенства! Начинающие 
программисты из-за этого могут допускать весьма трудноуловимые в ошибки, 
поскольку в Си допускается присваивание внутри условия. 
В  Паскаль-семействе  языков  программирования  проверка  на  равенство 
записывается  с  помощью  одного  знака  равенства,  а  присваивание —  как 
:=
. Однако вспомним, что язык программирования Си создан системными 
программистами  и  ему  присуща  лаконичность  почти  во  всем.  В 
программах присваивания встречаются гораздо чаще, нежели проверки на 


86 
 
равенство,  и  поэтому  для  экономии  символов  и  времени  программиста 
присваивание  записывается  с  помощью  одного  знака  равенства,  а 
проверка — двумя идущими подряд знаками. Надо заметить, что и запись 
отношения  неравенства  отличается  от  принятой  в  Паскале  <>,  вместо 
этого  используется  !=,  что  по  духу  соответствует  обозначению 
логического отрицания в Си. 
Знаки для записи поразрядных логических операций: 
 
&
 — 
поразрядное логическое И; 
 
|
 — 
поразрядное логическое ИЛИ; 
 
~
 — 
поразрядное отрицание; 
 
^
 — 
поразрядное логическое исключающее ИЛИ. 
В языке есть также и другие операции: 
 
++
 — 
инкремент (увеличение на единицу); 
 
--
 — 
декремент (уменьшение на единицу); 
 
<усл> ? <в1> : <в2> — условная операция; 
 
Z=
 — 
набор операций, где Z — любая бинарная операция; 
 
>>
 — 
побитовый сдвиг вправо; 
 
<<
 — 
побитовый сдвиг влево. 
Очень  удобными  являются  операции  инкремента  и  декремента,  которые 
можно рассматривать как сокращенные формы записи выражений x=x+1 
и  x=x-1.  Аналогичным  образом  используется  сокращенная  запись  вида 
z+=2
 
вместо z=z+2,  y*=5  вместо  y=y*5  и т. д.  Здесь  ярко  проявляется 
происхождение  Си —  системные  программисты  стремились  к  краткости 
записи. 
Для условной операции, или условного выражения, довольно экзотического 
и редко встречающегося в других языках программирования, результатом 
становятся  значение 
<в1>,  использованное  в  ее  записи  в  случае,  если 
первое  выражение 
<усл>  истинно,  и  значение  <в2> —  если  значение 
первого ложно. Например, 
y = (a>=b) ? a : b
; /* если а >b — y=a, иначе y=b*/ 
приводит к присвоению y значения максимума среди 
а и b. 
 
Контрольные вопросы и упражнения 
1. 
Каковы принципы записи идентификаторов в языке программирования 


87 
 
Си? 
2. 
Какие базовые типы данных языка программирования Си вы знаете? 
3. 
Каков  принцип  использования  логических  значений  в  языке 
программирования Си? 
4. 
Является ли Си языком со статической или динамической типизацией? 
Как  записывается  объявление  переменных  в  языке  программирования 
Си? 
5. 
Как  записывается  оператор  присваивания  в  языке  программирования 
Си? 
6. 
Какие  существуют  и  как  записываются  арифметические  операции  в 
языке программирования Си? 
7. 
Какие  существуют  и  как  записываются  логические  операции  в  языке 
программирования Си? 
8. 
Какие операции, кроме арифметических и логических, возможны в Си? 
Приведите примеры. 
9. 
Каково  условное  выражение  языка  программирования  Си?  Приведите 
пример использования. 
10. 
Что такое явное преобразование типов в Си? Приведите пример. 
Принципы ввода-вывода в языке Cи 
Говоря  о  принципах  организации  ввода-вывода  информации  в  языке 
программирования  Си,  напомним,  что  сам  язык  не  включает  в  себя 
операторы  ввода-вывода,  а  все  поддерживающие  эти  процессы  операции 
осуществляются  с  помощью  стандартных  функций.  Этот  подход  был 
применен  разработчиками  с  целью  достижения  легкости  переносимости 
между различными платформами. 
В  языке  Си,  поскольку  он  генетически  связан  с  операционной  системой 
UNIX,  поддерживается  концепция  стандартных  потоков  ввода  (input), 
вывода  (output)  и  ошибок  (errors).  По  умолчанию  стандартный  ввод 
связан  с  клавиатурой  компьютера,  стандартный  вывод —  с  экраном 
дисплея, поток ошибок — также с экраном. Стандартные операции ввода-
вывода  поддержаны  библиотечными  функциями,  описание  которых 
содержится  в  заголовочном  файле  stdio.h.  Это  прежде  всего  printf 
для форматного вывода и scanf для ввода информации. Функция printf 
имеет следующий синтаксис: 
printf("<
форматная строка>"[,<список переменных>]); 
Список  переменных  может  отсутствовать,  в  этом  случае  printf 
используется  просто  для  вывода  на  экран  текстовой  строки.  Форматная 


88 
 
строка представляет собой строку символов, которые выводятся на экран, 
наряду  с  форматными  символами,  не  выводимыми,  но  описывающими 
формат  печати  переменных  (если  они  есть).  Исторически  форматный 
вывод ведет свою родословную еще от языка Фортран. 


Достарыңызбен бөлісу:
1   ...   40   41   42   43   44   45   46   47   ...   81




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет