scanf() 和 printf() 的用法


前言

相信经过初识C语言的学习,你已经能够写一些简单的程序了,在写代码的过程中你可能就疑问为什么 printf() 能输出,为什么 scanf() 能输入,他们的用法又是什么,今天来详细介绍。

1. 头文件

printf()scanf()都是C语言标准库中的库函数,也就是说使用这两个库函数之前有一用头文件<stdio.h>(输入输出头文件)要做的是在源文件代码开头写上 #include <stdio.h>

2. printf()

2.1. 基本用法

printf() 的作用时将参数文本输出在屏幕,它里面的 f 代表 format (格式化),表示可以定制化的输出文本的格式。

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
int main()
{
   
	printf("Hello World"); //会打印 Hello World
	return 0;
}
          

printf() 不会自动在行尾添加换行符,运行结束后,光标就停留在输出结束的地方,不会自动换行。
为了让光标移动到下一行的开头,可以在输出文本的结尾,添加一个换行符\n

2.2. 占位符

printf() 可以在输出文本中指定占位符。
所谓 “占位符” ,就是这个位置可以用其它值代替。

#include <stdio.h>
int main()
{
   
	printf("These are %d apples\n", 3);
	return 0;
}

上面示例中,There are %d apples\n 是输出文本,里面的%d 就是占位符,表示这个位置要用其它值代替换。

占位符的第一个字符一律为百分号(%),第二个字符表示占位符的类型,%d表示这里代入的值必须为一个整数

printf()的第二个参数就是替换占位符的值,上面的例子是整数 3 替换%d。执行后的输出结果就是There are 3 apples

printf()参数与占位符是一一对应关系,如果有n个名位符, printf()的参数就应该有 n+1个。如果参数个数少于对应的占位符,printf()可能会输出内存中的任意值。

多个占位符也可以一起使用,如下:

#include <stdio.h>
int main()
{
   
	printf("%d people have %d apples\n");
	return 0;
}

下面按照字母顺序,列出常用的占位符,方便查找。(重点记加粗的)

占位符 意义
%a 十六进制浮点数,字母输出为小写。
%A 十六进制浮点数,字母输出为大写。
%c 字符。
%d 十进制整数。//int
%e 使用科学计数法的浮点数,指数部分的e 为小写。
%E 使用科学计数法的浮点数,指数部分的E为大写。
%i 整数,基本等同于%d。
%f 小数(包含 float 类型和 double 类型)。//float -%f double -%lf
%g 6个有效数字的浮点数。整数部分一旦超过6位,就会自动转为科学计数法,指数部分的e为小写。
%G 等同于%g,唯一的区别是指数部分的 E为大写。
%hd 十进制short int类型。
%ho 八进制short int类型。
%hx 十六进制short int类型。
%hu unsigned short int类型。
%ld 十进制long int类型。
%lo 八进制long int类型。
%lx 十六进制long int 类型。
%lu unsigned long int 类型。
%lld 十进制long long int类型。
%llo 八进制long long int类型。
%llx 十六进制 long long int 类型。
%llu unsigned long long int 类型。
%Le 科学计数法表示的long double 类型浮点数。
%Lf long double类型浮点数。
%n 已输出的字符串数量。该占位持本身不输出,只将值存储在指定变量之中。
%o 八进制整数。
%p 指针(用来打印地址)。
%s 字符串。
%u 无符号整数(unsigned int)。
%x 十六进制整数。
%zd size_t类型。
%% 输出一个百分号。

2.3. 占位符的进阶应用

2.3.1. 限制最小输出长度

#include <stdio.h>
int main()
{
   
	printf("%5d\n",123);//输出"  123"
	printf("%3c\n",
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值