Курс C с нуля: часть 2 – printf и scanf

C_logo
Предыдущая часть – Курс C с нуля: часть 1 – базовый синтаксис.

  • функции printf() и scanf() включены в стандартную библиотеку C. Эти функции и связанные с ними макросы описываются в заголовочном файле stdio.h;
  • нам потребуется подключить файл stdio.h, что бы получить доступ к этим функциям.

Функция printf()

  • функция printf() используется для печати символов, строк и чисел на экран;
  • мы используем функцию printf() со спецификатором формата %d для отображения целочисленного значения;
  • аналогично – %c используется для печати символов, %f – для чисел с плавающей точкой и так далее – мы рассмотри типы данных в следующей части;
  • что бы перенести текст на новую строку – мы используем оператор “n“.

Пример использования printf():

#include <stdio.h>

int main()
{
	// символ
	char ch = 'A';
	// строка
	char str[20] = "fresh2refresh.com";
	// число с плавающей точкой
	float flt = 10.234;
	// целое число
	int no = 150;
	// число с плавающей точкой с двойной точностью
	double dbl = 20.123456;

	printf("Character is %c n", ch);
	printf("String is %s n" , str);
	printf("Float value is %f n", flt);
	printf("Integer value is %dn" , no);
	printf("Double value is %lf n", dbl);
	printf("Octal value is %o n", no);
	printf("Hexadecimal value is %x n", no);

	return 0;
}

Компилируем, запускаем:

$ gcc ps.c -o ps
$ ./ps
Character is A
String is fresh2refresh.com
Float value is 10.234000
Integer value is 150
Double value is 20.123456
Octal value is 226
Hexadecimal value is 96

Тут мы видим, как работают спецификаторы формата для функции printf() в C:

  • спецификатор %d заменен значением целочисленной переменной no;
  • %c заменен значением симольной переменной ch;
  • %f заменен значением переменной с плавающей точкой flt;
  • %lf заменен значением переменной с двойной точностью dbl;
  • %s заменен значением строковой переменной str;
  • %o заменен восьмиричным значением целочисленной переменной no;
  • %x заменен шеснадцатиричным значениемелочисленной переменной no;
  • n заменен новой строкой.

Функция scanf()

  • функция scanf() используется для чтения символьных, строковых и/или циферных данных с клавиатуры;
  • в примере ниже – символ, введенный пользователем сохраняется в переменную ch, а затем отображается на экране;
  • затем пользователь вводит строку, которая сохраняется в переменной str, а затем так же выводится на экран.

Пример использования printf():

#include <stdio.h>

int main()
{
	char ch;
	char str[100];

	printf("Enter any character n");
	scanf("%c", &ch);
	printf("Entered character is %c n", ch);

	printf("Enter any string ( upto 100 character ) n");
	scanf("%s", &str);
	printf("Entered string is %s n", str);

}

Результат ее выполнения:

$ ./sc
Enter any character
L
Entered character is L
Enter any string ( upto 100 character )
BLA
Entered string is BLA
  • мы так же можем использовать спецификаторы типа %d для целочисленных данных или %s – для строк;
  • амперсанд (“&“) используется для указателей, которые мы рассмотрим позже.

Продолжение – Курс C с нуля: часть 3 – типы данных.