Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
НУ ”Львівська політехніка”
Кафедра ЕОМ
Звіт
про виконання лабораторної роботи №2
з курсу: „Засоби системного програмування”
на тему
Структура Сі-програми.
Оператори мови програмування Сі
Тема роботи: Структура Сі-програми. Оператори мови програмування Сі.
Мета роботи: Закріпити теоретичні знання та навики аналізу типових Сі-програм. Засвоїти синтаксис та семантику операторів мови Сі.
Завдання на лабораторну роботу
Завантажити в середовище програмування Borland C++ 3.1, відповідно до вказаного варіанту, типові програми на мові Сі. (програми INTRO16.c, INTRO22.c та INTRO29.c каталогу „../EXAMPLES”).
Проаналізувати призначення та структуру програм.
Відкомпілювати програми та дослідити їх роботу.
Детально прокоментувати типові оператори програми.
Результати виконання роботи.
Завантажую вказані вище програми в середовище програмування Borland C++.
Програма INTRO16.c демонструє дію оператора вибору switch а також оператора циклу з післяумовою do-while.
Текст програми:
/* INTRO16.C--Example from Chapter 4 of Getting Started */
//підключення до програми заголовочних файлів
#include <conio.h>
#include <ctype.h>
#include <stdio.h>
int main() //оголошення функції, що повертає значення цілого типу
{
char cmd; //оголошення змінної символьного типу
//оператор do з циклу do-while
do {
printf("Chart desired: Pie Bar Scatter Line Three-D Exit");
printf("\nPress first letter of the chart you want: ");
cmd = toupper(getch());/*ф-я, що міститься в файлі ctype.h, повертає версію верхнього регістра аргументу*/
printf("\n");
//оператор вибору switch
switch (cmd)
{
case 'P': printf("Doing pie chart\n"); break; /*якщо значення cmd співпадає з тим, що стоїть після case, то виконується відповідний оператор, якщо ні, то виконується оператор, що стоїть нижче*/
case 'B': printf("Doing bar chart\n"); break;
case 'S': printf("Doing scatter chart\n"); break;
case 'L': printf("Doing line chart\n"); break;
case 'T': printf("Doing 3-D chart\n"); break;
case 'E': break;
default : printf("Invalid choice. Try again\n"); /*виконується, якщо жодне з значень не співпало*/
}
} while (cmd != 'E');
return 0;
}
Внаслідок виконання програми і після запиту введення «B» , а пізніше «Е» на екрані отримаємо:
Chart desired: Pie Bar Scatter Line Three-D Exit
Press first letter of the chart you want:
Doing bar chart
Програма INTRO22.c демонструє дію операторів циклу while та for.
Текст програми:
/* INTRO22.C--Example from Chapter 4 of Getting Started */
/*підключення до програми зовнішніх файлів*/
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main() //оголошення та опис функції main()
{ //початок програми
int pos; //оголошення змінної цілого типу (integer)
char text [40]; /*оголошення змінної символьного типу, довжиною 40 символів,
яка є масивом символів*/
printf("Type 'end' to quit\n"); //виведення тексту на екран
/*оператор циклу while(умова){група операторів}*/
while (strcmp (gets(text), "end") != 0) { /*strcmp() – порівняння двох рядків*/
/*оператор циклу for*/
for (pos = 1; pos <= strlen(text); pos++)
putch('-');
printf("\n"); }
return 0; //передача 0 в операційну систему
}
Внаслідок виконання програми та введення з клавіатури «svystun» та «roman», а потім «end»на екрані отримаємо
svystun
-------
roman
-----
end
Програма INTRO29.c демонструє принцип оголошення перелічувального типу та принцип роботи з ним
Текст програми:
/* INTRO29.C--Example from Chapter 4 of Getting Started */
#include <stdio.h> /*підключення до програми зовнішніх файлів*/
int main() //оголошення та опис функції main()
{
enum workday {mon, tues, wed, thurs, fri};//оголошення перелічувального типу workday
int day; //оголошення змінної цілого типу
for (day = mon; day <= fri; day++) //оператор циклу for
printf("%d\n", day);
return 0;
}
Внаслідок виконання програми на екрані отримаємо
0
1
2
3
4
Висновок: на даній лабораторній роботі я закріпив теоретичні знання та навики аналізу типових Сі-програм. Засвоїв синтаксис та семантику операторів мови Сі.