Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб1.Простая программа на Си.docx
Скачиваний:
2
Добавлен:
08.05.2019
Размер:
47.88 Кб
Скачать

Практикум на ЭВМ. Лаб.1. Простая Си-программа 9 февраля 2012

Содержание

Компиляция С-программы 1

Ввод и вывод 2

Основные типы и описания 3

Справочная информация. Спецификации строки формата 4

Задачи для решения 6

Указания и решения 7

Советы по программированию 7

Темы для докладов и самостоятельного изучения 8

Процедурный язык программирования Си (англ. C) был создан для реализации операционной системы UNIX в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи. С тех пор он стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Синтаксис языка Си стал основой для многих других языков. Имеется достаточно много литературы по изучению Си. Рекомендую

Керниган Б., Ритчи Д. Язык программирования Си.\Пер. с англ.,3-е изд., испр. – Спб.: "Невский диалог", 2001 – 352 с.: ил.

Компиляция с-программы

Самая простая программа на языке C выглядит так:

main(){}

Это функция с именем main. Каждая программа должна содержать одну функцию с именем main, и работа программы начнётся с выполнения этой функции. Конечно, эта программа ничего не делает, но её можно компилировать и запустить на выполнение. Технологическая среда исполнения программы может быть разной. Например, BorlandC, devcpp, Microsoft Visual C++. В любом случае, компиляция программы, скорее всего, выдаст предупреждение о том, что функция должна возвращать значение. Добавим в программу инструкцию возврата:

main()

{

return 0;

}

Операционная среда, запускающая программу на выполнение, получит код завершения равный нулю, что соответствует завершению без ошибок.

Упражнения

  1. Запуск среды программирования (консольный режим). Краткое знакомство с меню.

  2. Процесс подготовка, компиляции, запуска программы.

  3. Сохранение программы.

Ввод и вывод

Язык программирования C не обеспечивает операции ввода и вывода. Чтобы обеспечить ввод-вывод данных, используются библиотеки и в первую очередь стандартная библиотека с заголовочным файлом stdio.h. По традиции, введенной авторами книги «Язык программирования Си» Брайаном Керниганом и Денисом Ритчи, обучение начинают с простой Си-программы, печатающей сообщение «Hello, World!» на стандартном устройстве вывода, которым, как правило, является монитор (дисплей):

#include <stdio.h> // Директива препроцессора даёт компилятору команду включить возможности ввода и вывода

int main(void)

{

printf( “Hello, World! \n”);

return 0;

}

Выводимые символы состоят из Hello, World! и перевода строки.

Компилятор, встретив директиву include, заменяет её полным текстом файла, на который она ссылается. В приведенном примере эта строка будет заменена стандартным заголовочным файлом stdio.h. Угловые скобки указывают компилятору искать файл stdio.h в каталоге стандартных заголовочных файлов. Следующая строка является объявлением функции с именем main. Эта функция в Си-программе выполняется первой, то есть служит так называемой точкой входа в программу. Фигурные скобки после функции main обозначают её определение. Слово int говорит, что функция main возвращает (вычисляет) целое число. Слово void показывает, что функция main не требует аргументов. Следующая строка «вызывает» функцию printf. Включаемый заголовочный файл stdio.h содержит информацию, описывающую то, как нужно вызывать эту функцию. В данном примере этой функции передаётся единственный аргумент, содержащий текстовую строку «Hello, World!\n». Последовательность \n транслируется в символ «новая строка», который при отображении соответственно обозначает разрыв строки. Функция printf возвращает значение типа int, которое в этом примере не используется. Выражение return заставляет программу прекратить выполнение данной функции (main в этом случае), возвращая вызвавшей функции значение, указанное после ключевого слова return (загадочный ноль в качестве параметра требует экскурса в управление процессами, чтобы объяснить, что значит «код завершения задачи равен 0»). Последняя фигурная скобка обозначает конец определения функции main.

Процесс компиляции идёт в два этапа. Сначала производится чтение и анализ текста программы. Если ошибки не обнаружены, то генерируется код. Затем программа проверяется на наличие имён и операций, которые были использованы, но не определены. Если это возможно, то программа дополняется недостающими определениями из библиотеки. В нашем случае из стандартной библиотеки добавится определение и инициализирующий код для функции printf().

Напишем теперь программу, осуществляющую и ввод и вывод:

#include <stdio.h>

main()

{

int inch; // inch – дюйм

scanf(“%d”, &inch);

printf(“%f cm \n”, inch * 2.54);

return 0;

}

Здесь приведена простая программа перевода значения, заданного в дюймах, в сантиметры. Число дюймов хранится в целой переменной inch. После символов // записывают комментарий. Для многострочных комментариев можно использовать скобки: /* комментарий */.

Ввод данных осуществляется с помощью функции scanf(). Функция scanf() читает символы из входного потока, интерпретирует их согласно спецификациям строки формата и присваивает соответствующие значения аргументам, каждый из которых должен быть указателем. В примере строка формата “%d” сообщает, что введённые символы следует интерпретировать как целое число. Это целое число будет присвоено переменной inch.

Вывод данных осуществляется с помощью функции printf(). Функция printf() выводит в стандартный поток вывода значения своих аргументов согласно спецификациям строки формата. В примере printf(“%f cm \n”, inch * 2.54) выводится значение произведения inch * 2.54, которое имеет формат с плавающей точкой, добавляется определение единиц измерения и переводится строка печати.

Упражнения.

  1. Обеспечить вывод результата в виде: #### in = ##.#### cm

  2. Написать программу ввода двух целых значений и печати их суммы