Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
НУ ”Львівська політехніка”
Кафедра ЕОМ
Звіт
про виконання лабораторної роботи №2
з курсу: „Засоби системного програмування”
на тему
Структура Сі-програми.
Оператори мови програмування Сі
Тема роботи: Структура Сі-програми. Оператори мови програмування Сі.
Мета роботи: Закріпити теоретичні знання та навики аналізу типових Сі-програм. Засвоїти синтаксис та семантику операторів мови Сі.
Завдання на лабораторну роботу
Завантажити в середовище програмування Borland C++ 3.1, відповідно до вказаного варіанту, типові програми на мові Сі. (програми INTRO10.c, INTRO16.c та INTRO23.c каталогу „../EXAMPLES”).
Проаналізувати призначення та структуру програм.
Відкомпілювати програми та дослідити їх роботу.
Детально прокоментувати типові оператори програми.
Результати виконання роботи.
Завантажую вказані вище програми в середовище програмування Borland C++.
Програма INTRO10.c демонструє деякі оператори вводу-виводу та принципи роботи з ними. Вона призначена лдя порівняння двох цілих чисел.
Текст програми:
/* INTRO10.C--Example from Chapter 4 of Getting Started */
#include <stdio.h> //підключення до програми заготовочного файлу
int main() //оголошення функції “main”
{
char inbuf[130]; //оголошення змінної символьного типу довжиною 130 символів
int first, second; //оголошення двох змінних типу int (цілого типу)
printf("Input two numbers\n"); //вивід тексту на екран
gets(inbuf); //ввід рядка з клавіатури
sscanf(inbuf, "%d %d", &first, &second); /*функція, яка з радка inbuf читає два значення цілого типу і записує їх за адресами змінних first i second*/
/*наступні три функції виводять на екран текст, що в дужках. На місці специфікатора буде стояти 0 або 1, в залежності від того, хибне чи істинне значення виразу, що стоїть після коми*/
printf("first > second has the value %d\n", first > second);
printf("first < second has the value %d\n", first < second);
printf("first == second has the value %d\n", first == second);
return 0; //повернення значення 0 в операційну систему
}
Внаслідок виконання програми і після запиту введення «1 2» на екрані отримаємо:
Input two numbers
1 2
first > second has the value 0
first < second has the value 1
first == second has the value 0
Програма 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
Програма INTRO23.c демонструє приклад програми з декількома функціями та принцип роботи з локальними та глобальними змінними.
Текст програми:
/* INTRO23.C--Example from Chapter 4 of Getting Started */
#include <stdio.h>
void showval(void); //оголошення функції showval
int mainvar = 100; //оголошення глобальної змінної
int main() //опис ф-ї main
{
showval(); //виклик ф-ї showval
printf("%d\n", mainvar);
return 0;
}
void showval(void) //опис ф-ї showval
{
int funcvar = 10; //оголошення локальної змінної.
printf("%d\n", funcvar);
printf("%d\n", mainvar);
}
Внаслідок виконання програми на екрані отримаємо
10
100
100
Висновок: на даній лабораторній роботі я закріпив теоретичні знання та навики аналізу типових Сі-програм. Засвоїв синтаксис та семантику операторів мови Сі.