初识C语言③:深入理解printf与scanf函数
1. printf函数
2. scanf函数
一、printf函数
1.1 基本用法
printf() 的作用是将参数文本输出到屏幕。它名字里面的f 代表format (格式化),表示可以按照一定的格式在标准输出设备上打印数据。
代码演示:
#include <stdio.h>
int main(void)
{
printf("Hello World");
return 0;
}
代码结果:
上述命令会在屏幕上输出一行文字“Hello World”。
printf() 不会在行尾自动添加换行符,运行结束后,光标就停留在输出结束的地方,不会自动换行。
为了让光标移到下一行的开头,可以在输出文本的结尾,添加一个换行符\n。
代码演示:
#include <stdio.h>
int main(void)
{
printf("Hello World\n");
return 0;
}
代码结果:
照此方法,如果文本内部需要换行,也可以通过插入换行符的方式来实现。
printf() 是在标准库的头文件stdio.h 定义的。使用这个函数之前,必须在源码文件头部引入这个头文件。
1.2 占位符
printf() 可以在输出文本中指定占位符。所谓 “占位符”,就是这个位置可以用其他值代入。
代码演示:
#include <stdio.h>
int main()
{
printf("There are %d apples\n", 3);
| |
| |
此处的%d为占位符,在输出时,可由3替代
return 0;
}
上面示例中, There are %d apples\n 是输出文本,里面的%d 就是占位符,表示这个位置要用其他值来替换。占位符的第一个字符一律为百分号% ,第二个字符表示占位符的类型, %d 表示这里代入的值必须是一个整数。
常用的占位符除了%d ,还有%s 表示代入的是字符串。
代码演示:
#include <stdio.h>
int main()
{
printf("%s will come tonight\n", "zhangsan");
return 0;
}
上面示例中, %s 表示代入的是一个字符串,所以printf() 的第二个参数就必须是字符串,这个例
子是zhangsan 。执行后的输出就是zhangsan will come tonight。
在输出的文本中也可以使用多个占位符。
代码演示:
#include <stdio.h>
int main()
{
printf("%s says it is %d o'clock\n", "lisi", 21);
return 0;
}
上面示例中,输出文本%s says it is %d o’clock 有两个占位符,第一个是字符串占位符%s ,第二个是整数占位符%d ,分别对应printf() 的第二个参数( lisi )和第三个参数( 21 )。执行后的输出就是lisi says it is 21 o’clock。