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

相关文章

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

python中update()函数的用法和一些例子

《python中update()函数的用法和一些例子》update()方法是字典对象的方法,用于将一个字典中的键值对更新到另一个字典中,:本文主要介绍python中update()函数的用法和一些... 目录前言用法注意事项示例示例 1: 使用另一个字典来更新示例 2: 使用可迭代对象来更新示例 3: 使用