Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
2020-05-08 | 315 |
5.00
из
|
Заказать работу |
|
|
Начнем с рассмотрения довольно простой программы на С — печать строки текста. Программа и ее результат, выведенный на экран, представлены на рис. 1.
/* Первая программа на С */
main () {
printf("Welcome to C!\n"); }
Вывод на экран (просмотр ctrl/f5)
Welcome to С!
Рис. 1. Текст программы печати
Рассмотрим подробно каждую строчку программы.
Строка /* Первая программа на С */ начинается символами /* и заканчивается символами */, означающими, что эта строка является комментарием.
Строка main () должна обязательно присутствовать в каждой программе. Скобки после main означают, что main является функцией. Программа С может содержать одну или большее количество функций, одна из которых main.
Левая фигурная скобка ({) предваряет тело каждой функции, правая заканчивает. Часть программы между скобками называется блоком. Блок — важная программная единица в С.
Строка printf("Welcome to C!\n"); дает компьютеру команду вывести на экран строку символов, находящуюся внутри кавычек. Такую строку называют символьной строкой, сообщением или литералом. Каждый оператор в Си должен заканчиваться точкой с запятой.
Результатом выполнения оператора printf является вывод сообщения Welcome to С! на экран.
Символы обычно печатаются именно так, как они записаны внутри двойных кавычек в операторе printf.
Обратная косая черта (\) называется esc-символом. Esc-код \n означает новую строку, результатом является перевод курсора на начало следующей строки на экране. Некоторые другие esc-коды представлены на рис. 2.
Функция printf — одна из многих функций, входящих в стандартную библиотеку С
Esc-код | Описание- |
\ n | Новая строка. Перемещает курсор в начало новой строки. |
\t | Горизонтальная табуляция. Перемещает курсор в следующую позицию табуляции. |
\г | Возврат каретки. Перемещение курсора в начало текущей строки без перемещения на следующую строку. |
\а | Звуковой системный сигнал оповещения. |
\\ | Обратная косая черта. Вывод на экран символа \ при помощи оператора printf |
\" | Двойные кавычки. Вывод на экран символа двойных кавычек посредством оператора printf |
|
Рис. 2. Некоторые распространенные esc -коды
Используя printf может напечатать Welcome to С! несколькими различными способами. Например, результат выполнения программы на рис. 3. такой же, что и программы на рис. 1, так как каждая последующая функция printf возобновляет печать с того самого места, на котором остановилась предыдущая функция printf. Первая функция printf печатает Welcome и следующий за ним пробел, вторая функция printf начинает печатать в позиции, следующей сразу за пробелом.
Один оператор printf может напечатать несколько строк, если использовать символы перехода на новую строку, как показано на рис. 4. Каждый раз, когда встречается esc-код \n (новая строка), функция printf переводит курсор на начало следующей строки.
/* Печать в одну строку двумя вызовами printf */
main () {
printf("Welcome ");
printf ("to C!\n"); }
Вывод на экран
Welcome to С!
Рис. 3. Печать одной строки несколькими оператором printf
* Печать нескольких строк одним вызовом printf */
main () {
printf("Welcome\nto\nC!\n"); }
Вывод на экран
Welcome
to
C!
Рис. 4. Печать нескольких строк одним оператором printf
Простая программа на С: сложение двух целых чисел
Программа использует стандартную библиотечную функцию scanf, чтобы считать два целых числа, введенные пользователем с клавиатуры, вычислить сумму их значений и напечатать результат, используя функцию printf. Текст программы и образец вывода представлены на рис. 5.
/* Программа сложения */
#include <stdio.h>
main(){
int integer1, integer2, sum; /* объявление */
printf("Enter first integer\n"); /* подсказка */
scanf("%d", &integer1); /* прочитать целое */
|
printf("Enter second integer\n"); /* подсказка */
scanf("%d", &integer2); /* прочитать целое */
sum = integer1 + integer2; /* присвоить сумму */
printf("Sum is %d\n", sum); /* напечатать сумму */
return 0; /* показывает успешное завершение программы */ }
Вывод на экран
Enter first integer
45
Enter second integer
72
Sum is 117
Рис. 5. Программа суммирования
Строка #include <stdio.h> является директивой для препроцессора С. Строка, начинающаяся символом #, выполняется препроцессором до того, как программа начнет компилироваться. Эта специфическая строка сообщает препроцессору, что необходимо включить в программу содержание стандартного заголовочного файла ввода/вывода (stdio.h).
stdio.h содержит информацию и объявления, используемые компилятором во время компиляции вызовов стандартных функций ввода/вывода, таких, как printf. stdio.h помогает компилятору определить, корректно ли написаны обращения к библиотечным функциям.
Объявления переменных должны располагаться после левой фигурной скобки функции и перед первым исполняемым оператором. Например, в программе на рис. 5 объявление, помещенное после первого printf, должно вызвать появление сообщения о синтаксической ошибке.
Оператор scanf("%d", &integer1); считывает данные со стандартного устройства ввода, которым обычно является клавиатура. В нашем случае функция scanf имеет два аргумента, % d и &integer1.
Первый аргумент — задает формат считывания. Так, в частности, %d — спецификация преобразования, означающая, что вводимые данные должны быть десятичным целым числом. Знак % трактуется scanf и printf как esc-код (подобно \), а комбинация %d является esc-кодом (подобно \n).
Второй аргумент scanf начинается со знака амперсанда (&), которым в С задается операция взятия адреса следующей за ним переменной.
Вычисления могут выполняться и непосредственно внутри оператора printf:
printf("Sum is %d\n", integerl + integer2);
Операторы printf и scanf могут вводить/выводить переменные различных типов. Для того, чтобы произвести правильный ввод/вывод с помощью этих операторов, необходимо указание спецификаторов. На рис. 6 перечислены типы данных языка С в порядке от наивысшего к низшему и приведены спецификации преобразования для операторов printf и scanf.
Тип данных | Область значений | спецификация преобразования для printf | спецификация преобразования для scanf |
long double | от 3.4E-4932 до 3.4E4932 | %lf | %lf |
double | от 1.7E-308 до 1.7E308 | %f | %lf |
float | от 3.4E-38 до 3.4E-38 | %f | %f |
unsigned long int | от 0 до 4.294.967.295 | %lu | %lu |
long int | от -2.147.483.648 до 2.147.483.647 | %ld | %ld |
unsigned int | от 0 до 65535 | %u | %u |
int | от -32767 до 32767 | %d | %d |
short | от -128 до 127 | %hd | %hd |
char | от -128 до 127 | %c | %c |
Рис. 6. Иерархия возведения типов данных
|
Преобразование значений к более низким типам обычно приводит к неверному результату. Следовательно, значение может быть преобразовано в более низкий тип только посредством явного присваивания переменной более низкого типа или с помощью операции приведения. Значения аргументов функции преобразуются к типу параметров прототипа функции таким образом, как будто они непосредственно присваиваются переменным этого типа. процедура возведения типа применяется последовательно к каждой паре операндов текущей операции по ходу оценки выражения.
Оператор return 0 передает значение 0 среде операционной системы, в которой исполнялась программа. Для операционной системы это означает, что программа завершена успешно.
Большинство написанных на языке С программ выполняют арифметические вычисления. Сводная таблица арифметических операций языка С представлена на рис. 7.
Действие в С | Арифметическая операция | Алгебраическое выражение | Выражение на С |
Сложение | + | f + 7 | f + 7 |
Вычитание | - | p - c | р - с |
Умножение | * | bm | b * m |
Деление | / | , х/у или х÷у | х / у |
Рис. 7. Арифметические операции
Все арифметические операции являются двухместными. Например, выражение 3 + 7 содержит двухместную операцию + и операнды 3 и 7.
Результатом деления двух целых чисел также будет целое число. Например, значение выражения 7/4 будет 1, а 17 / 5 равно 3.
С оценивает арифметические выражения в последовательности, определяемой правилами старшинства операций в алгебре.
|
|
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!