Міністерство освіти І науки України
національний університет “Львівська політехніка”
КАФЕДРА ЕЛЕКТРОННИХ ОБЧИСЛЮВАЛЬНИХ МАШИН
Лабораторна робота №2
Структура Сі – програми.
Оператори мови програмування Сі.
Виконав:
ст. гр. КІ-2
Львів-2004
Мета роботи: закріпити теоретичні знання та навиками аналізу типових Сі – програм. Засвоїти синтаксис та семантику операторів мови Сі.
Завдання на лабораторну роботу
1. Завантажити в середовище програмування Borland C++ 3.1, відповідно до вказаного варіанту, типові програми на мові Сі. (програми “INTRO#.c” (# номер варіанту), що містяться в каталозі “../EXAMPLES”).
2. Проаналізувати призначення та структуру програм.
3. Відкомпілювати програми та дослідити їх роботу.
4. Детально описати типові оператори програми.
5. Оформити звіт про виконання лабораторної роботи.
Виконання роботи:
Після завантаження з’являється текст програми:
#include <stdio.h>
void main(){
char *scanf_format= "% [*] [width] [F|N] [h|l|L] type_char";
char *printf_format="% [flags] [width] [.prec] [F|N|h|l|L] type_char";
int a=0,b=0;
int *p;
// *p=5;
int x;
int o=0; long int c=0;
float d; long float e;
float y;
char *s;
printf("\n-------- Function scanf ---------\n");
printf("scanf format form:\n");
printf("%s\n",scanf_format);
printf("* - Assignment-suppression character.\n");
scanf("%*d%d",&a,&b);
printf("%d %d\n",a,b);
printf("Width specifier\n");
scanf("%2d",&a);
printf("%d\n",a);
flushall();
printf("[F|N] - Pointer size modifier\n");
scanf("%N",p);
printf("%p\n",p);
scanf("%hi",&o);
printf("short int - %hi\n",o);
scanf("%li",&c);
printf("long int - %li\n",c);
scanf("%f",&d);
printf("double - %lf\n",d);
scanf("%Lf",&e);
printf("long double - %Lf\n",e);
printf("\n-------- Function printf ---------\n");
printf("printf format form:\n");
printf("%s\n",printf_format);
//Int
scanf("%d",&x);
printf("Dec - %+010d\n",x);
printf("Oct - %o\n",x);
printf("Hex - %#20hX\n",x);
printf("Int - %-20i\n",x);
printf("UInt - %20u\n",x);
//Float
scanf("%f",&y);
printf("Exp - %e\n",y);
printf("Fix - %.2f\n",y);
//Char String
scanf("%s",&s);
printf("Char - %c\n",s);
s="Hello";
printf("String - %s\n",s);
printf("Address - %p",s);
}
В Сі – програмі використовується наступний формат виводу:
% [flags] [ширина] [.точність] [F|N|h|l|L] <символ формату>.
Формат вводу:
% [*] [ширина] [F|N] [h|l|L] <символ формату>.
% - специфікатор виводу;
[flags] : -, +, #, ;
# - формує при виводі цілих даних префікси: для 10 с.ч. – нічого, для 8 с.ч. – 0, для 16 с.ч. – 0Х;
[ширина] – задає ширину виводу;
0N – для цілих зліва дописує нулі;
[.точність] – для даних дійсного типу задає точність виводу.
Висновки: при виконанні лабораторної роботи №2 я ознайомився з синтаксисом Сі – програми. Мною була опрацьована стандартна програма на прикладі якої я ознайомився з форматом вводу-виводу даних в мові Сі та навчився аналізувати текст Сі – програми.