
- •1.Учебно-методический комплекс дисциплины
- •Данные о преподавателе:
- •1.2 Данные о дисциплине:
- •Выписка из учебного плана
- •1.3 Пререквизиты
- •1.4 Постреквизиты
- •1.5 Цели и задачи дисциплины
- •1.6 Перечень и виды заданий и график их выполнения
- •Виды заданий и сроки их выполнения
- •1.7 Список литературы
- •1.8 Контроль и оценка знаний.
- •1.9 Политика и процедура курса
- •2 Содержание Активного раздаточного материала
- •2,1 Тематический план курса
- •2.2 Конспект лекционных занятий
- •#Define millenium 1000
- •// Нельзя изменять
- •/* Это моя первая программа на Си*/
- •Void main()
- •Void main ()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main(void)
- •If (логическое выражение) оператор 1;
- •Void main()
- •If (логическое выражение)
- •If (условие 1 )
- •If (условие 1 )
- •If (X) printf ("Число не равно нулю");
- •Void main()
- •Void main(void)
- •Void main()
- •Void main()
- •Int n; // Количество узлов интерполяции
- •Int k; // Номер узла
- •Void main()
- •Vvedi 5 7
- •Int *a; // Указатель на массив целых чисел
- •Void main()
- •Int vect[10], s1[50];
- •Int vect [n];
- •Void main( )
- •Int min; // номер минимального элемента
- •Int random ( int n )
- •Void lin(char a)
- •Void z1(int * X, int * y)
- •Void z1(int*, int*);
- •Int имя переменной;
- •Void main()
- •8 Есть цифра
- •8 Есть буква или цифра
- •Int integ;
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Int ocen;
- •Void main( )
- •File *указатель на файл;
- •Fclose(имя_указателя);
- •Void main()
- •Int h; /*дескриптор создаваемого файла*/
- •Void main()
- •Initgraph(&g_driver,&g_mode," ");
- •Vgamed 1 640x350
- •Vgahi 2 640x480
- •Initwindow ( 400, 300 ); // открыть окно для графики 400 на 300
- •Void main(void)
- •Int g_driver,g_mode,g_error;
- •2.3 Планы лабораторных занятий
- •Планы занятий в рамках самостоятельной работы студентов под руководством преподавателя (срсп).
- •2.5 Планы занятий в рамках самостоятельной работы студентов (срс).
- •2.6 Тестовые задания для самоконтроля с указанием ключей
- •Глоссарий
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. */