- •Лабораторная работа №1. Изучение базовых понятий программирования и технологии создания программ.
- •Лабораторное задание
- •Теоретические сведения.
- •Данные : переменные и константы.
- •Выражения.
- •Оператор присваивания.
- •Преобразование типов.
- •Препроцессор языка с.
- •Директива #include.
- •Директива # define.
- •Этапы трансляции программы.
- •Структура программы на языке с.
- •Основные пункты меню и их назначение
- •Создание нового проекта.
- •Написание и компиляция простейшей программы.
- •Примеры программирования.
- •Вопросы.
Написание и компиляция простейшей программы.
После того как проект создан, можно приступать к написанию текста программы. На панели управления проектом выбираем режим «File view» и открываем файл Лаб1.cpp в папке Source Files.
В окне редактирования появляется автоматически созданный текст
#include "stdafx.h"
int main(int argc, char* argv[])
{
return 0;
}
Напишем программу вывода приветствия на экран дисплея.
#include "stdafx.h"
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("Hello, world\n");
return 0;
}
Написанный текст следует оттранслировать, нажав кнопку (или вызвав командуBuild). Для запуска программы используйте кнопку
Вызов функции printf можно видоизменить следующим образом :
printf("%s, worl%c\n", "Hello",'d');
При этом работа программы остается прежней.
Теперь давайте поменяем одну букву в названии функции на заглавную, вместо printf поставим Printf
После трансляции получим сообщение :
error C2065: 'Printf' : undeclared identifier ,
которое означает, что компилятор не смог отыскать функцию Printf.
В языке С заглавные и строчные буквы различаются и к этому следует привыкать тем программистам, которые работали на языках, не различающих регистр букв (например на Паскале).
Примеры программирования.
Пример1: Объявление переменных, необходимых для вычисления площади прямоугольника.
float a, b; // ширина и длина прямоугольника
float s; // площадь прямоугольника
Пример2: Объявление переменных, необходимых для вычисления площади кольца.
float rl, ri; // внешний радиус и радиус отверстия
float s; // площадь кольца
Пример3: Объявление переменных, необходимых для вычисления стоимости покупки, состоящей из нескольких книг, ручек и блокнота.
float C_book; // цена книги
int Kol_book; // количество книг
float C_pen; // цена ручки
int Kol_pen; // количество ручек
float C_notebook; // цена блокнота
float Summa; // стоимость покупки
Пример4: Запишите инструкции, которые:
присваивают переменной summa нулевое значение,
summa = 0;
увеличивают на единицу значение переменной p.
p++;
увеличивают значение переменной x на величину dx
х += dx;
пересчет расстояния из километров в версты (одна верста — это 1066,8 м).
versta = km*1066.8;
Пример5.
Написать инструкцию вывода значений целых переменных a, b и с. Значение каждой переменной должно быть выведено в отдельной строке, в начале вывода разместить заголовок с комментариями.
printf("\nВывод переменных a, b и c\n %d\n%d\n%d\n",a,b,c);
Пример8. Написать инструкцию вывода дробных значений переменных, которые определяют высоту (h) и длину (l) прямоугольника. Перед значением переменных должен быть пояснительный текст (h=, l=), а после — единица измерения – сантиметры (sm), между переменными поставить знак табуляции.
printf("\nh=%f sm\tl=%f sm\n",h,l);
Пример9.
Написать инструкцию, обеспечивающую ввод с клавиатуры значения вещественной переменной rad (тип float).
scanf ("%le",&rad)
Пример10.
Написать инструкции, которые обеспечивают ввод и последующий вывод значений дробных переменных r и d (тип float). Предполагается, что пользователь после набора каждого числа будет нажимать какой-либо разделитель (<пробел>,<табуляцию> или <Enter>), а оканчивать ввод клавишей <Enter>.
…
double r,d;
scanf("%le %le",&r,&d);
printf ("\nr=%f\td=%f\n",r,d);
…
Пример11. Написать программу для вычисления площади круга, алгоритм которой был разработан выше.
Потребуются переменные r для радиуса и s для результата вычисления.
#include "stdafx.h"
#include <stdio.h>
#define pi 3.14 // определяем константу pi
int main(int argc, char* argv[])
{ int r;
double s;
printf ("\nr="); // «приглашение» для ввода радиуса
scanf("%d",&r);
s=pi*r*r;
printf ("s=%f\n",s); // вывод результата вычислений
return 0;
}
Версия программы с контролем ошибок ввода :
…
M: printf ("\nr=");
scanf("%d",&r);
if (r<0)
{printf ("error: r<0 !!! \n");
goto M;
|}
s=pi*r*r;
…
Пример 12: Ввести с клавиатуры значение угла ( в радианах) и вычислить его
синус.
/* программа вычисления синуса */
#include <stdio.h>
#include <math.h> // библиотека математических функций
int main (void) // int-тип возвращаемого значения функции main
{
double result , x; // определение переменных result , x
printf("\nx="); // вывод «приглашения» на терминал
scanf("%le",&x); //ввод с клавиатуры числа в переменную х
// (формат числа: «длинное вещественное»)
result = sin (x); // вычисление синуса
printf("The sin() of %f is %f\n",x,result);// вывод результата на терминал
return 0; // возвращаемое значение функции main()
}
Можно изменить формат вывода вещественного числа, явно указав общее число выводимых символов и количество символов после запятой.
Например вместо %f задать %10.2f , что означает вывести вещественное число в формате ХХХХХХХ.ХХ
В примере измените формат вывода результата, обратите внимание на разницу в выводе данных:
printf(“The sin() of %2.3f is %2.3f\n“,x,result);
printf(“The sin() of %e is %e\n“,x,result);