Лабораторная работа - Структура программы, ввод/вывод. Вариант 13 - файл n1.doc
Лабораторная работа - Структура программы, ввод/вывод. Вариант 13скачать (63.5 kb.)
Доступные файлы (1):
n1.doc
Балтийский государственный технический университет «Военмех» им. Д.Ф. Устинова Кафедра И3 «Информационные системы и компьютерные технологии» Лабораторная работа № 1 «Структура программы, ввод/вывод» Вариант
Выполнил: Студент Тихонов А.Ю.
Группа И383
Преподаватель: Снижко Е.А.
Санкт-Петербург
2008
Лабораторная работа № 1 Цель работы – Изучить структуру программы, научится использовать переменные различных типов, освоить функции форматного ввода и вывода, арифметические операции и операции присваивания.
Постановка задачи Набрать текст программы, представленный листингом. Проанализировать значения переменных после каждой операции присваивания. Проверить порядок выполнения операции присваивания, разделив этот оператор-выражение на несколько операторов, выполняемых последовательно. В функциях ввода и вывода изменить спецификаторы типов, проанализировать полученные результаты.
Написать программу для вычисления следующих выражений:
a=5 , c=5
a=a+b-2
c=c+1, d=c-a+d
a=a*c, c=c-1
a=a/10, c=c/2, b=b-1, d=d*(c+b+a)
Выражения, записанные в одной строке, записывать одним оператором-выражением. Переменные c и d объявить как целые, переменные a и b – как вещественные. Значения переменных b и d вводить с клавиатуры. После вычисления каждого выражения выводить на экран значения всех переменных.
Листинг#include <stdio.h> подключение библиотеки stdio.h для работы с некоторыми функциями
int main (void) структура программы, заголовок функции main
{ тело функции main
int a,b =5,c; присвоение типа переменных (в данном случае int-целые), задание для переменной b начального значения равного 5
float x,y=-.5,z; присвоение типа переменных (в данном случае float-вещественные с плавающей точкой), задание для переменной y начального значения равного -0.5
printf(“a=”); вывод на экран строки “a=” c просьбой установить значение переменной
a (зададим значение равное 1)
scanf(“%d”,&a); ввод данных в ячейку памяти по адресу
a x=c=a; присвоение переменным
x и
c значения переменной
a printf(“a=%d, c=%d, x=%f\n”,a,c,x); вывод на экран значений ячеек памяти
a, c и
x (в данном случае это будет выглядеть так «a=1 c=1 x=1»)
a+=b; присвоение переменной
a значения равного
a+b (1+5)
printf(“a=%d\n”,a); вывод на экран значения переменной
a (в данном случае это будет выглядеть так «a=6»)
и перевод на следующую строчку
x+=b+a; присвоение переменной
x значения равного
x+b+a (1+6+5)
printf(“x=%f\n”,x); вывод на экран значения переменной
x(в данном случае это будет выглядеть так «x=12»)
и перевод на следующую строчку
b+=a--; присвоение переменной
a значения равного
b+(a-1) (5+(6-1))
printf(“b=%d\n”,b); вывод на экран значения переменной
b(в данном случае это будет выглядеть так «b=10»)
и перевод на следующую строчку
x-=++c; присвоение переменной
x значения равного
x-(c+1) (12-(1+1))
printf(“x=%f\n”,x); вывод на экран значения переменной
x(в данном случае это будет выглядеть так «x=10»)
и перевод на следующую строчку
c=a/b; присвоение переменной
c значения равного
a/b (6/11)
printf(“c=%4d\n”,c); вывод на экран значения переменной
c –выводится только 4тый символ числа (в данном случае это будет выглядеть так «c= 0»)
и перевод на следующую строчку
c=a%b; присвоение переменной
c значения равного
a%b (6%10) остаток от целочисленного деления
printf(“c=%d\n”,c); вывод на экран значения переменной
c (в данном случае это будет выглядеть так «с=5»)
и перевод на следующую строчку
x=5.3; присвоение переменной
x значения равного
5.3 y+=((--x-1)/x++); присвоение переменной
y значения равного
действия:
(--x-1) скобки равны 3.3 значение х = 4.3
(--х-1)/(х++) скобки равны 0.77 значение х=5.3
y+(--х-1)/(х++) скобки равны 0.27 значение x=5.3
printf(“x=%f\ty=%.2f\n\n x=%.0f\ty=%.0f\n”,x-1,y,x,y-1); вывод на экран значения переменных
x и
y с применение табуляции
.2 –вывод всего двух знаков после запятой
.0- не выводит ни единого знака после запятой, округляет
в данном случае это будет выглядеть так: x=4.300000 y=0.27
x=5 y=-1
z=a/2; присвоение переменной
z значения равного
a/2 (5/2)
деление (а – целое , z –вещественное)
printf(“ z=%f\n”,z); вывод на экран значения переменной
z (в данном случае это будет выглядеть так «z=2.000000») и перевод на следующую строчку
z=(float) a/2; переменной
z значения равного
a/2 (5/2)
деление с плавающей точкой (а – целое , z –вещественное)
printf(“ z=%f\n”,z); вывод на экран значения переменной
z (в данном случае это будет выглядеть так «z=2.500000») и перевод на следующую строчку
y=x/2; присвоение переменной
y значения равного
x/2 (5.3/2)
деление (x и y – вещественное)
printf(“ y=%f\n”,y); вывод на экран значения переменной
z (в данном случае это будет выглядеть так «z=2.650000») и перевод на следующую строчку
y=(int)x/2; присвоение переменной
y значения равного
x/2 (5.3/2)
целочисленное деление ()
printf(“ y=%f\n”,y); вывод на экран значения переменной
z (в данном случае это будет выглядеть так «z=2.000000») и перевод на следующую строчку
z=a%2-(x+b)/c + (x-y)/(a-1) + ¼* a – (y++)+(++b)/3.; присвоение переменной
z значения равного
действия:
a%2 – значение равно 1
(++b)/3 –значение равно 4 (++b) - Используется в выражении (1+b) b=12
(x+b)/c – значение равно 3.46
(x-y)/(a-1) – значение равно 0.825
¼ *a – значение равно 1.25
(y++) –значение равно 2, но y=3
a%2-(x+b)/c + (x-y)/(a-1) + ¼* a – (y++)+(++b)/3 – значение равно 1.615
printf(“a=%d b=%d c=%d x=%f y=%f z=%f\n”,a,b,c,x,y,z); вывод на экран значений всех переменных (в данном случае это будет выглядеть так
a=5 b=12 c=5 x=5.30000 y=3.000000 z=1.615000)
return 0; конец программы
} Код программы#include<stdio.h> #include<conio.h> #include<stdlib.h> int main() { int c=0,d=0; float a=0,b=0; clrscr(); printf("b="); scanf("%f",&b); printf("d="); scanf("%d",&d); a=c=5; printf("a=%f c=%d\n",a,c); a+=b-2; printf("a=%.2f\n",a); d+=(++c)-a; printf("d=%d c=%d\n",d,c); a*=c--; printf("a=%.2f c=%d\n",a,c); d*=(c/=2)+(--b)+(a/=10); printf("a=%.2f b=%.2f c=%d d=%d\n",a,b,c,d); getch(); } Тестирование N | Делители |
Должно быть | Получено |
b=2 d=2 | a=2.40 b=1.00 c=2 d=18 | a=2.40 b=1.00 c=2 d=18 |
b=30 d=30 | a=19.80 b=29.00 c=2 d=152 | a=19.80 b=29.00 c=2 d=152 |
Вывод: программа работает правильно.