Простая программа на С: печать строки текста — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Простая программа на С: печать строки текста

2020-05-08 315
Простая программа на С: печать строки текста 0.00 из 5.00 0 оценок
Заказать работу

Начнем с рассмотрения довольно простой программы на С — печать строки текста. Программа и ее результат, выведенный на экран, представлены на рис. 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.014 с.