1.3 输入与输出
程序需要和用户交流。最基础的交流方式就是输出(output)信息,以及从键盘读取输入(input)。
printf()
printf() 是输出函数,用于向屏幕输出文本或变量值。
有些字符在程序中有特殊意义,需要使用转义字符(escape character)输出。
\\:反斜杠\':单引号\":双引号\n:换行\t:制表符
c
printf("\"Hello\nWorld\"\n");运行结果:
text
"Hello
World"正在加载概念检查...
格式占位符
printf() 使用格式占位符(placeholder)把变量嵌入字符串。
%d:整数%f:浮点数%c:字符%s:字符串
还可以控制输出格式,例如 %.2f 表示保留两位小数。
c
int length = 10;
int width = 5;
double area = length * width;
printf("面积:%d * %d = %.2f\n", length, width, area);运行结果:
text
面积:10 * 5 = 50.00正在加载概念检查...
控制换行
和某些语言不同,C 的 printf() 默认不会自动换行。换行完全由你用 \n 控制。
c
int num1 = 1, num2 = 2, num3 = 4, num4 = 8;
printf("%d, ", num1);
printf("%d, ", num2);
printf("%d, ", num3);
printf("%d...\n", num4);运行结果:
text
1, 2, 4, 8...scanf()
scanf() 是输入函数,可以读取用户从键盘输入的内容,并把它保存到变量里。读取普通变量时,scanf() 通常需要变量的地址,用 & 取地址。
注意
scanf() 的格式占位符要和变量类型匹配:%d 对应 int,%lf 对应 double。c
#include <stdio.h>
int main(void) {
double r;
printf("半径:");
scanf("%lf", &r);
double area = 3.14159 * r * r;
printf("面积:%.2f\n", area);
return 0;
}一次可能的运行过程:
text
半径:5
面积:78.54这里 %lf 表示读取一个 double,&r 把变量 r 的地址传给 scanf(),这样它才能把读到的值写进变量。
正在加载概念检查...
正在加载本节练习...
正在加载本节练习...