Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК-1_АЯП_рус.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.19 Mб
Скачать

Void main()

{

char name[15];/*объявление массива символов для ввода строки*/

clrscr(); /* очистка экрана */

textcolor(YELLOW); /* задание цвета символов */

textbackground(BLUE); /* задание цвета фона */

gotoxy(30,11); /* задание положения курсора */

cprintf(“┌────────────────────┐”);

gotoxy(30,12);

cprintf(“│ Введите фамилию │”);

gotoxy(30,13);

cprintf(“│ │”);

gotoxy(30,14);

cprintf(“└────────────────────┘”);

textcolor(CYAN); /* задание цвета символов */

gotoxy(35,13);

cscanf(“%s”,name); /* ввод строки */

}

Функция ввода символа getch()

В добротных программах используется посимвольный ввод данных с помощью функции getch(), определяемую в той же библиотеке <conio.h>. Эта функция имеет два варианта применения:

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

{

getch(); /* Ожидание ввода произвольной клавиши */

}

б) получение кода ASCII нажатой клавиши. Для получения кода клавиши необходимо объявить целую переменную и присвоить результат исполнения функции getch() этой переменной. При этом синтаксис использования функции может быть следующим:

{

int i;

i=getch(); /* Ожидание нажатия клавиши и присвоение

ее кода символа переменной i */

}

Пример. Написать программу, принимающую символ с клавиатуры и выдающую его код на экран

/* программа вывода на экран кода нажатой клавиши */

#include <conio.h>

void main()

{

int kod; /* объявление переменной */

clrscr(); /* очистка экрана */

cprintf(“Нажмите клавишу: ”); /* вывод сообщения */

kod=getch(); /* ввод клавиши */

cprintf(“\nКод клавиши: %d\n”); /* вывод кода клавиши */

getch(); /* ожидание нажатия

произвольной клавиши */

}

Основная литература: 1[30-50], 2[17-18]

Дополнительная литература:1,2,3,5

Контрольные вопросы:

1. Особенности яыка программирования Си?

2. Структура программы на языке С.

3. Какие типы данных существуют в языке Си?.

4. Функции ввода и вывода

5. Чем отличаются функции форматированного ввода-вывода scanf() и

printf() от функции консольного ввода-вывода cscanf() и cprintf()?

Лекция 3 Программирование линейных алгоритмов. Операции языка Си. Арифметические операции языка С. Операции отношения и логические операции. Операция присваивания. Поразрядные операции (побитовые операции). Прочие операции. Математические функции.

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

Операции языка Си Язык С богат на операции. Знак операции - это символ или комбинация символов, которые сообщают компилятору о необходимости произвести определенные арифметические, логические или другие действия. Полный список знаков операций языка С приведен ниже.

[ ]

( )

.

->

++

--

&

*

+

-

!

sizeof

/

%

<<

>>

<

>

<=

>=

==

!=

^

|

&&

||

?:

=

*=

/=

%=

+=

-=

<<=

>>=

&=

^=

|=

,

К операциям языка С относят также знаки операций препроцессора

# ##

Для каждой операции языка С определено количество операндов:

- один операнд - унарная операция, например унарный минус -х, изменяющая знак;

- два операнда - бинарная операция, например операция сложения х + у или вычитания х - у;

- три операнда – тернарная операция условие ?:, такая операция только одна.

Арифметические операции языка С

К арифметическим операциям языка С относятся:

- вычитание и унарный минус;

+ сложение;

* умножение;

/ деление;

% деление по модулю;

++ увеличение на единицу (increment);

-- уменьшение на единицу (decrement).

Операция деления по модулю % дает остаток от целочисленного деле­ния. Операция % может применяться только к целочисленным переменным. В следующем примере вычисляется целая часть и остаток от деления двух целых чисел.

Язык С предоставляет пользователю еще две очень полезные операции, специфичные именно для языка С. Это унарные операции: ++ (инкрементная) и -- (декрементная). Операция ++ прибавляет единицу к операнду, операция -- вычитает единицу из операнда. Обе операции могут следовать перед операндом или после операнда (префиксная и постфиксная формы). Три написанные ниже оператора дают один и тот же результат, но имеют различие при использовании в выражениях:

Х = Х +1; ++Х; Х++.

Простая программа позволит понять это различие.

#include <stdio.h>

/* Пример 11. */