C 语言中获取用户输入和输出信息
本文介绍了如何使用 scanf() 函数从用户获取输入,以及如何使用 printf() 函数向用户显示输出。
在 C 语言中, scanf()
函数用于从用户获取输入,printf()
函数则用于向用户显示输出。
输出
在 C 语言编程中, printf()
是最常用的输出函数之一。 printf()
函数将格式化输出发送到屏幕/控制台。例如,
示例 1:输出
#include <stdio.h>
int main()
{
// Displays the string inside quotations
printf("C Programming");
return 0;
}
输出
C Programming
这个程序是如何运作的?
- 所有有效的 C 程序都必须包含该
main()
函数。代码执行从main()
函数的开头开始。 printf()
是一个将格式化输出发送到屏幕的库函数。该函数打印引号内的字符串。- 要在我们的程序中使用
printf()
,需要使用#include <stdio.h>
语句包含stdio.h
头文件 。 main()
内部最后的语句return 0;
是程序的“退出状态”。它是可选的。
示例 2:输出整数
#include <stdio.h>
int main()
{
int testInteger = 5;
printf("Number = %d", testInteger);
return 0;
}
输出
Number = 5
我们使用 %d
格式说明符来打印 int
类型。输出时,引号内的内容 %d
将被替换为整数参数.
示例 3:输出 float 和 double
#include <stdio.h>
int main()
{
float number1 = 13.5;
double number2 = 12.4;
printf("number1 = %f\n", number1);
printf("number2 = %lf", number2);
return 0;
}
输出
number1 = 13.500000
number2 = 12.400000
要打印 float
,我们使用 %f
格式说明符。同理,使用 %lf
用来打印 double
值。
示例 4:打印字符
#include <stdio.h>
int main()
{
char chr = 'a';
printf("character = %c", chr);
return 0;
}
输出
character = a
要打印 char
,我们使用 %c
格式说明符。
C 输入
在 C 语言编程中, scanf()
函数用于从用户那里获取输入。scanf()
函数从标准输入(如键盘)读取格式化输入。
示例 5:输入输出整数
#include <stdio.h>
int main()
{
int testInteger;
printf("Enter an integer: ");
scanf("%d", &testInteger);
printf("Number = %d",testInteger);
return 0;
}
输出
Enter an integer: 4
Number = 4
在这里,我们在 scanf()
函数内部使用了 %d
格式说明符来获取用户输入的 int
数据。当用户输入一个整数时,它被存储在 testInteger
变量中。
请注意,我们在 scanf()
参数中使用了 &testInteger
。&testInteger
表示 testInteger
的内存地址, scanf()
函数直接将读取的值写入到 testInteger
内存地址中给 testInteger
赋值。
示例 6:输入输出浮点数
#include <stdio.h>
int main()
{
float num1;
double num2;
printf("Enter a number: ");
scanf("%f", &num1);
printf("Enter another number: ");
scanf("%lf", &num2);
printf("num1 = %f\n", num1);
printf("num2 = %lf", num2);
return 0;
}
输出
Enter a number: 12.523
Enter another number: 10.2
num1 = 12.523000
num2 = 10.200000
我们分别使用 %f
和 %lf
格式说明符读取 float
和 double
类型的数据。
示例 7:输入输出字符
#include <stdio.h>
int main()
{
char chr;
printf("Enter a character: ");
scanf("%c",&chr);
printf("You entered %c.", chr);
return 0;
}
输出
Enter a character: g
You entered g
当用户在上述程序中输入字符时,字符本身不会被存储,而是存储一个整数值,即字符对应的 ASCII 值。
当我们使用 %c
文本格式显示该值时,会显示输入的字符。如果我们 %d
用来格式化显示字符,则打印它的 ASCII 值。
示例 8:ASCII 值
#include <stdio.h>
int main()
{
char chr;
printf("Enter a character: ");
scanf("%c", &chr);
// When %c is used, a character is displayed
printf("You entered %c.\n",chr);
// When %d is used, ASCII value is displayed
printf("ASCII value is %d.", chr);
return 0;
}
输出
Enter a character: g
You entered g.
ASCII value is 103。
输入多值
以下示例展示了 C 语言编程中如何从用户那里获取多个输入并显示它们。
#include <stdio.h>
int main()
{
int a;
float b;
printf("Enter integer and then a float: ");
// Taking multiple inputs
scanf("%d%f", &a, &b);
printf("You entered %d and %f", a, b);
return 0;
}
输出
Enter integer and then a float: -3
3.4
You entered -3 and 3.400000
输入输出的格式说明符
从上面的例子中可以看出,我们使用
%d
格式化int
类型的数据%f
格式化float
类型的数据%lf
格式化double
类型的数据%c
格式化char
类型的数据
下表时 C 语言编程中的数据类型及其对应的格式说明符。
数据类型 | 格式说明符 |
---|---|
int |
%d |
char |
%c |
float |
%f |
double |
%lf |
short int |
%hd |
unsigned int |
%u |
long int |
%li |
long long int |
%lli |
unsigned long int |
%lu |
unsigned long long int |
%llu |
signed char |
%c |
unsigned char |
%c |
long double |
%Lf |