C语言——标准输出函数(printf、putchar和puts)

目录

  • 1. 标准输入输函数出头文件
  • 2. printf
    • 2.1 函数申明
    • 2.2 基本用法
    • 2.3 占位符
    • 2.4 输出格式
      • 2.4.1 限定宽度
      • 2.4.2 总是显示正负号
      • 2.4.3 限定小数位数
      • 2.4.4 输出部分字符串
  • 3. putchar
    • 3.1 函数申明
    • 3.2 基本用法
  • 4. puts
    • 4.1 函数申明
    • 4.2 基本用法

1. 标准输入输函数出头文件

#include 

2. printf

2.1 函数申明

int printf ( const char * format, ... );

2.2 基本用法

  • printf() 的作用是将参数文本输出到屏幕。它名字里面的 f 代表 format (格式化),表示可以定制输出文本的格式
#include 
int main(void)
{
	printf("Hello World");
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第1张图片

  • 上⾯命令会在屏幕上输出⼀行文字“Hello World”
  • printf() 不会在行尾自动添加换行符,运行结束后,光标就停留在输出结束的地方,不会自动换行
  • 为了让光标移到下⼀行的开头,可以在输出文本的结尾,添加⼀个换行符 \n
#include 
int main(void)
{
	printf("Hello World\n");
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第2张图片

  • 如果文本内部有换行,也是通过插入换行符来实现,如下方代码:
#include 
int main(void)
{
	printf("Hello\nWorld\n");
	printf("Hello\n");
	printf("World\n");
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第3张图片

2.3 占位符

C语言——标准输出函数(printf、putchar和puts)_第4张图片

  • printf() 可以在输出文本中指定占位符
  • 谓“占位符”,就是这个位置可以用其他值代入
#include 
int main()
{
	printf("There are %d apples\n", 3);
	return 0;
}
  • 上⾯示例中, There are %d apples\n 是输出文本,里面的 %d 就是占位符,表示这个位置要用其他值来替换。占位符的第⼀个字符⼀律为百分号 % ,第⼆个字符表示占位符的类型, %d 表示这里代入的值必须是⼀个整数
  • printf() 的第⼆个参数就是替换占位符的值,上面的例子是整数 3 替换 %d 。执行后的输出结果就是 There are 3 apples
  • 常用的占位符除了 %d ,还有 %s 表示代入的是字符串
#include 
int main()
{
	printf("%s will come tonight\n", "zhangsan");
	return 0;
}
  • 上面示例中, %s 表示代入的是⼀个字符串,所以 printf() 的第⼆个参数就必须是字符串,这个例子是 zhangsan 。执行后的输出就是 zhangsan will come tonight
  • 输出文本里面可以使用多个占位符
#include 
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
  • printf() 参数与占位符是⼀⼀对应关系,如果有 n 个占位符, printf() 的参数就应该有 n +1 个。如果参数个数少于对应的占位符, printf() 可能会输出内存中的任意值

2.4 输出格式

2.4.1 限定宽度

  • printf() 允许限定占位符的最小宽度
#include 
int main()
{
	printf("%5d\n", 123); // 输出为 " 123"
	printf("%#05d\n", 123)//输出为“00123”
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第5张图片

  • 上面示例中, %5d 表示这个占位符的宽度至少为5位。如果不满5位,对应的值的前面面会添加空格,如果%后加上 #0 ,则不足位补0
  • 输出的值默认是右对齐,即输出内容前面会有空格;如果希望改成左对齐,在输出内容后面添加空格,可以在占位符的 % 的后面插入⼀个 - 号
#include 
int main()
{
	printf("%-5d\n", 123); // 输出为 "123  "
	printf("%-#05d\n", 123); // 输出为 "123  "
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第6张图片

  • 对于小数,这个限定符会限制所有数字的最小显示宽度
#include 
int main()
{
	printf("%12f\n", 123.45);
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第7张图片

  • 上面示例中, %12f 表示输出的浮点数最少要占据12位。由于小数的默认显示精度是小数点后6位,所以 123.45 输出结果的头部会添加2个空格

2.4.2 总是显示正负号

  • 默认情况下, printf() 不对正数显示 + 号,只对负数显示 - 号。如果想让正数也输出 + 号,可以在占位符的 % 后面加⼀个 +
#include 
int main()
{
	printf("%+d\n", 12); // 输出 +12
	printf("%+d\n", -12); // 输出 -12
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第8张图片

  • 上面示例中, %+d 可以确保输出的数值,总是带有正负号

2.4.3 限定小数位数

  • 输出小数时,有时希望限定小数的位数。举例来说,希望小数点后面只保留两位,占位符可以写成 %.2f
#include 
int main()
{
	printf("Number is %.2f\n", 0.5);
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第9张图片

  • 上⾯示例中,如果希望小数点后面输出3位( 0.500 ),占位符就要写成 %.3f
  • 这种写法可以与限定宽度占位符,结合使用:
#include 
int main()
{
	printf("%6.2f\n", 0.5);
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第10张图片

  • 上面示例中, %6.2f 表示输出字符串最小宽度为6,小数位数为2。所以,输出字符串的头部有两个空格
  • 最小宽度和小数位数这两个限定值,都可以用 * 代替,通过 printf() 的参数传入

#include 
int main()
{
	int a = 6;
	int b = 2;
	printf("%*.*f\n", a, b, 0.5);
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第11张图片

2.4.4 输出部分字符串

  • %s 占位符用来输出字符串,默认是全部输出。如果只想输出开头的部分,可以用 %.[m]s 指定输出的长度,其中 [m] 代表⼀个数字,表示所要输出的长度
#include 
int main()
{
	printf("%.5s\n", "hello world");
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第12张图片

  • 上面例中,占位符 %.5s 表示只输出字符串“hello world”的前5个字符,即“hello”

3. putchar

3.1 函数申明

int putchar ( int character );

3.2 基本用法

  • putchar函数把输入的整型对应的字符输出到屏幕上,并返回相同的整型。这个函数在同一个时间内只会输出一个单一的字符
  • putchar函数输出后不会自动换行,如需换行可以使用prinf函数
#include 
int main()
{
	int c = getchar();
	printf("%d\n", c);
	int b = putchar(c);
	printf("\n");
	printf("%d\n", b);
	return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第13张图片

4. puts

4.1 函数申明

int puts ( const char * str );

4.2 基本用法

  • puts函数把字符串 s 和一个尾随的换行符写入到 stdout(屏幕)
  • puts函数的正常打印后的返回值为0,打印异常为EOF
# include 
int main(void)
{
    char str[20] = "0";  //字符数组初始化0
    printf("请输入字符串:");
    gets(str);
    printf("%s\n", str);
    int a = puts(str);
    printf("%d\n", a);
    return 0;
}

C语言——标准输出函数(printf、putchar和puts)_第14张图片
最后,
恭喜你又遥遥领先了别人!

C语言——标准输出函数(printf、putchar和puts)_第15张图片

你可能感兴趣的:(c语言,开发语言)