моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Общий формат функции printf — printf (управление форматом, список вывода).
Например:
printf("%d,%cn",i,c);
Это строка, заключенная в двойные апострофы, называемая «строкой управления преобразованием» или для краткости «строкой формата». Он включает в себя две части информации:
① Заявление о формате. Объявление формата состоит из «%» и символов формата, таких как %d, %f и т. д. Его функция — преобразовать выходные данные в указанный формат и затем вывести их. Объявления формата всегда начинаются с символа «%».
Среди них: d представляет десятичное целое число, c представляет один символ, s представляет несколько символов, f представляет десятичное число, x представляет вывод в шестнадцатеричном формате, а p представляет адрес памяти печати, который также выводится в шестнадцатеричном формате. Выходной адрес. использует символ операции с переменным адресом &.
② Обычные персонажи. Обычные символы — это символы, которые необходимо выводить без изменений во время вывода. Например, запятые, пробелы и символы новой строки внутри двойных запятых в приведенной выше функции printf также могут включать в себя другие символы.
Программа должна вывести некоторые данные, которые могут быть константой, переменной или выражением.
- int data = 10;
- int chushu = 3;
- float result;
-
- result = (float)data/chushu;
scanf (управление форматом, столбец таблицы адресов)
Значение «управления форматом» такое же, как и у функции printf. «Столбец таблицы адресов» — это столбец таблицы, состоящий из нескольких адресов, который может быть адресом переменной или первым адресом строки.
Подобно объявлению формата в функции printf, оно начинается с % и заканчивается символом формата, а в середине можно вставлять дополнительные символы.
Функцию scanf можно переписать в следующем виде
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
Помимо объявления формата %f, в строке формата также есть несколько обычных символов (включая «a=", "b=" и ",").
Примечание:
За «управлением форматом» в функции scanf должен следовать адрес переменной, а не имя переменной.Например, если a и b — целочисленные переменные, записанные как
scaní("%f%f%f",a,b,c);
Это не верно. «a,b,c» следует заменить на «&a,&b,&c». Многие новички допускают эту ошибку.
Если в «строке управления форматом» помимо объявления формата есть другие символы, то те же символы, что и эти символы, следует вводить в соответствующие позиции при вводе данных.Если есть
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
При вводе данных на соответствующие позиции следует вводить одинаковые символы.то есть ввод
a=1,b=3,c=2 (обратите внимание на входной контент)
Поэтому не добавляйте в scanf пробелы (если вы используете новую строку для ввода пробелов, это нормально) или запятые и другие символы, просто выпишите необходимые входные данные напрямую:
scanf("%d%d%f",&data,&data1,&data2);
При объявлении входных символов в формате «%c» пробелы и символы «escape-символов» вводятся как допустимые символы, например:
scanf("%c%c%c,&c1,&c2,&c3);
При выполнении этой функции необходимо ввести 3 последовательных символа без пробелов между ними.
Было бы неправильно вставлять пробел между двумя символами.
Пробелы и новые строки также являются символами. При вводе нельзя использовать пробелы или новые строки.
Если при вводе числовых данных вы вводите пробел, возврат каретки, клавишу Tab или встречаете недопустимые символы (символы, не принадлежащие числовым значениям), данные считаются закончившимися. Например:
scanf("%d%c%f,&a,&b,&c);
Правильный ввод: 1234х7.6.
Первые данные соответствуют формату %d. После ввода 1234 встречается символ «h». Поэтому система считает, что после значения 1234 нет цифр. Первые данные должны заканчиваться здесь, поэтому в переменную отправляется 1234. а. Отправьте последующий символ 'h' в символьную переменную b. Поскольку %c требует ввода только одного символа, система определяет, что ввод символа завершен, поэтому нет необходимости добавлять пробел после входного символа '. час'. Значение после символа «h» должно быть отправлено в переменную c. Если по неосторожности 1230.26 ошибочно набирается как 123о.26, поскольку после 123 стоит буква о, то считается, что числовые данные здесь заканчиваются, и последующие символы не читаются.
Поэтому, когда мы вводим разные типы данных, мы должны создавать соответствующие функции сканирования по типу. Для нескольких типов существует несколько функций сканирования.
Когда программа содержит две или более функции scanf, последняя функция scanf будет рассматривать символ новой строки после ввода предыдущей функции scanf как свой собственный ввод, в результате чего последняя функция scanf не сможет нормально получать входные данные, поэтому ее необходимо использовать между двумя функциями scanf. Между функциями scanf вставьте getchar(), чтобы поглотить дополнительный символ новой строки.
puts: отличие от printf
(1) Автоматически добавлять разрывы строк.
(2).printf поддерживает различные шаблоны вывода, а puts — это выходная строка.
getchar, putchar
Упражнения по вводу и выводу:
1. Введите заглавные буквы и выведите строчные буквы.
Здесь используется знание кодов ASCII. Код ASCII + 32, соответствующий буквам верхнего регистра, представляет собой код ASCII, соответствующий буквам нижнего регистра.
Итак, пример кода
- #include<stdio.h>
-
- int main()
- {
- char a;
- char b;
-
- printf("请输入一个大写字母:");
- scanf("%c",&a);
- b = a+32;
- printf("其对应的小写字母为:%c",b);
-
- return 0;
- }