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

2024-02-03 02:12

本文主要是介绍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 <stdio.h>

2. printf

2.1 函数申明

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

2.2 基本用法

  • 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;
}

在这里插入图片描述

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

在这里插入图片描述

2.3 占位符

在这里插入图片描述

  • printf() 可以在输出文本中指定占位符
  • 谓“占位符”,就是这个位置可以用其他值代入
#include <stdio.h>
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 <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
  • printf() 参数与占位符是⼀⼀对应关系,如果有 n 个占位符, printf() 的参数就应该有 n +1 个。如果参数个数少于对应的占位符, printf() 可能会输出内存中的任意值

2.4 输出格式

2.4.1 限定宽度

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

2.4.2 总是显示正负号

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

在这里插入图片描述

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

2.4.3 限定小数位数

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

2.4.4 输出部分字符串

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

在这里插入图片描述

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

3. putchar

3.1 函数申明

int putchar ( int character );

3.2 基本用法

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

在这里插入图片描述

4. puts

4.1 函数申明

int puts ( const char * str );

4.2 基本用法

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

在这里插入图片描述
最后,
恭喜你又遥遥领先了别人!

在这里插入图片描述

这篇关于C语言——标准输出函数(printf、putchar和puts)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/672697

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

postgresql使用UUID函数的方法

《postgresql使用UUID函数的方法》本文给大家介绍postgresql使用UUID函数的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录PostgreSQL有两种生成uuid的方法。可以先通过sql查看是否已安装扩展函数,和可以安装的扩展函数

MySQL字符串常用函数详解

《MySQL字符串常用函数详解》本文给大家介绍MySQL字符串常用函数,本文结合实例代码给大家介绍的非常详细,对大家学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql字符串常用函数一、获取二、大小写转换三、拼接四、截取五、比较、反转、替换六、去空白、填充MySQL字符串常用函数一、