C语言中用%输出不同内容

2023-05-16

C语言有很多输出函数,也有很多输出方式,但最基础的还是printf()函数,但我们不止能输出想要的内容还能指定输出的方式,下面我就对此总结一下,本人也是初学者,以下内容可能不全,但绝对是原创,勿喷。

一般情况下直接用“%d”输出整数时,正数不输出符号,而负数输出符号。如果变量或常量为带符号类型且要总是输出符号,就可以这样写“%+d”,如:

int num0 = 5;
int num1 = 7;
int num2 = 9;

printf("%d%+d%+d=%d",num0,num1,num2,num0+num1+num2);
return 0;

这里写图片描述
把第二个和第三个数总数输出符号就可以用其符号来表示是加还是减。当然,这个也可以用于输出浮点类型数的输出“%+f”。

如果变量或常量是浮点类型那么每一次输出小数点后面都要输出一大堆0,用%.2f就可以指定输出小数点后三两位,当然,也可以指定4位,完全随你。
前:
这里写图片描述
后:
这里写图片描述

如果一次性要输出很多数,如直接用“%d%d%d”来输出1,2,3肯定是不明智的,因为结果变成了
这里写图片描述
这不好区分每个数,有人说我可以用制表符或者换行符,这章不讨论制表符,如果是好几百个数用换行符也不好看。不如这样“%5d%5d%5d%5d",结果变成了
这里写图片描述
在中间加个数可以指定数字占用的宽度,这里就制定了宽度为5,有四个空格。不过默认数字是右对齐,可以把它变成这样实现左对齐“%-5d”
这里写图片描述
不过要注意指定的宽度要不能小于数字长度哦,不然就没用了。

类似的标识符还有这些:

标志意义
-结果左对齐,右边填空格
+输出符号(正号或负号)
空格输出值为正时冠以空格,为负时冠以负号
#对c,s,d,u类无影响;对o类,在输出时加前缀o;对x类,在输出时加前缀0x;对e,g,f类当结果有小数时才会给出小数点

2018/8/24 继续

不同格式的数据要用不同的格式指定符来读取

类型格式指定符
short%hd
int%d
long%ld
float%f或%e
double%lf或%le

类似的格式字符还有这些:

格式字符意义
d以十进制形式输出带符号整数(正数不输出符号)
i(老式写法,和%d无区别)以十进制形式输出带符号整数(正数不输出符号)
o以八进制形式输出无符号整数(不输出前缀0)
x,X以十六进制形式输出无符号整数(不输出前缀0x)
u以十进制形式输出无符号整数
f以小数形式输出单,双精度实数
e,E以指数形式输出单,双精度实数
g,G以%f或%e中较短的输出单,双精度实数
c输出单个字符
s输出字符串

不过printf函数还有一些比较特殊的地方。那就是输出表列的求值顺序。不同的编译系统其求值顺序不一定相同

/*测试当前编译系统求值顺序*/
#include <stdio.h>
int main(void)
{
	int i = 5;
	printf("%d %d", i, ++i);	
	return 0;
}

运行以上代码,如果结果是5 6就说明是从左到右,如果是从6 6就说明是从右到左。
这里写图片描述
楼主的VS编译系统就是从右到左的,虽然运算顺序是从右到左,但输出顺序还是从左到右的,所以会得到以上输出。

所以如果遇到类似这样的运算最好是把运算隔离成几个printf函数,像这样:

#include <stdio.h>
int main(void)
{
	int i = 5;
	printf("%d ", i);	
	printf("%d",++i);
	return 0;
}

就不容易出错了,否则这样的错误还真不好找出来。。


2019/05/28:
今天看网课时突然发现有的老师写了 printf("%i", a); 之类的……不明白%i是什么,查了下才知道。

%i 是老式写法。它们都是有符号整型格式。

但%i用在 scanf() 函数里可以自动将输入的八进制(或者十六进制)转换为十进制,而%d则不会进行转换。


好了,今天就分享到这里,如果以后遇见新的用法楼主还会更新的,欢迎各位小伙伴来搬砖哦!

转载时请注明出处!转载时请注明出处!转载时请注明出处!……

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言中用%输出不同内容 的相关文章

  • c语言概念题

    任何表达式语句都是表达式加分号组成的 C语言程序是从源文件的第一条语句开始执行的 xff08 x 从main函数开始执行 C 语言中的变量名区分大小写 运算符优先级以及结合方式 1 初等运算符 xff1a xff08 xff09 取结构体变
  • c 语言概念题【最全整理】

    任何表达式语句都是表达式加分号组成的 C语言程序是从源文件的第一条语句开始执行的 xff08 x 从main函数开始执行 C 语言中的变量名区分大小写 运算符优先级以及结合方式 1 初等运算符 xff1a xff08 xff09 取结构体变
  • python中变量的命名以及使用

    一 变量的概念 变量名只有在第一次出现的时候 xff0c 才是定义变量 当再次出现时 xff0c 不是定义变量 xff0c 而是直接使用之前定义的变量 1 变量命名 1 xff09 命名的规范性 变量名可以包括字母 数字 下划线 xff0c
  • WSL 导入导出迁移 相关命令

    wsl export Ubuntu D Ubuntu tar wsl unregister Ubuntu wsl import Ubuntu D Ubuntu D Ubuntu tar version 2 ubuntu exe config
  • 2019年3月PAT甲级认证经验教训总结~~~路还很长,慢慢来

    今天的PAT认证是我人生中的第二次算法考试 xff0c 第一次是六年前大一学习 C 语言时学校举行的算法比赛 跟第一次一样 xff0c 这次考得也非常失败 xff0c 只做出来前两道题 去年七月份辞职跨专业考研 xff0c 选了自己感兴趣的
  • ubuntu系统代理配置

    vim etc apt apt conf Acquire http proxy http username password 64 192 168 1 1 8080
  • Linux 软件包管理常用命令

    安装软件包 apt get install packagename 删除软件包 apt get remove packagename 更新软件包列表 apt get update 升级有可用更新的系统 xff08 慎用 xff09 apt
  • flask框架初学-11-解决跨域问题

    在前面的学习中 xff0c 我们都是在本地起服务 xff0c 再在本地访问资源及界面 xff0c 但是实际当中都是开启多台服务器 xff0c 提供给局域网外的用户访问 这就牵涉到了跨域问题 xff0c 跨域问题来源于同源策略 xff0c 同
  • CSP-序列查询新解(C++简单易懂)

    题目背景 上一题 序列查询 中说道 xff1a A 61 A0 A1 A2 An 是一个由 n 43 1 个 0 N 范围内整数组成的序列 xff0c 满足 0 61 A0 lt A1 lt A2 lt lt An lt N 基于序列 A
  • 九、51单片机之直流电机驱动

    目录 1 什么是电机 2 常见电机 2 1 交流电机 2 2 交流电机补充 可跳过 2 3 直流电机 2 4 步进电机 伺服电机 3 直流电机驱动 1 什么是电机 1 电机的全称是电动机 xff0c 把电能转换成动能的一种电器 2 外观 2
  • 【Linux】 Linux下查询CPU、内存、硬盘、服务器型号、出厂日期

    一 查看CPU 1 1 查看CPU个数 cat span class token operator span proc span class token operator span cpuinfo span class token oper
  • 1.5 字符

    输入 输出 getchar putchar 1 5 1 文件复制 include lt stdio h gt 将输入复制到输出 xff1b 版本1 main int c c 61 getchar while c 61 EOF putchar
  • docker基础学习入门(六)------ DockerFile解析

    DockerFile是什么 Dockerfile是用来构建Docker镜像的构建文件 xff0c 是由一系列命令和参数构成的脚本 构建三步骤 xff1a 编写Dockerfile文件docker builddocker run 构建的文件什
  • mysql小练习

    设教学数据库Education有三个关系 xff1a 学生关系S xff08 SNO xff0c SNAME xff0c AGE xff0c SEX xff0c SDEPT xff09 xff1b 学系关系SC xff08 SNO xff0
  • C++ 快速幂取模运算理解

    C 43 43 快速幂取模运算理解 概念非递归方法原理代码实例 递归方法原理代码实例 概念 快速幂运算也叫反复平方法 顾名思义 xff0c 算法就蕴含在名字中 非递归方法 原理 假设要求 x 2 x 2 x 2
  • 01迷宫(洛谷)

    题目描述 有一个仅由数字 000 与 111 组成的 n nn times nn n 格迷宫 若你位于一格0上 xff0c 那么你可以移动到相邻 444 格中的某一格 111 上 xff0c 同样若你位于一格1上 xff0c 那么你可以移动
  • VSCode + Latex +Texlive 编译 biber格式参考文献时 VSCode的配置方法

    34 editor fontSize 34 17 34 files autoSave 34 34 onFocusChange 34 34 latex workshop showContextMenu 34 true 34 latex wor

随机推荐

  • 更换国内镜像源进行pip安装【附带国内镜像源】

    Linux中当我们需要安装某个模块时 xff08 比如tensorflow2 0 0 xff09 xff0c 常见有三种方法 xff1a pip install tensorflow 61 61 2 0 0pip install https
  • C/C++中如何遍历枚举类型?

    在C 43 43 中 xff0c 写一段代码 xff0c 把某个enum中的所有元素放入到vector中 xff0c 方便遍历 假设有以下的枚举类型 xff1a span class token comment c 43 43 span s
  • 201609-3 炉石传说

    201609 3 炉石传说 题意描述 本题要求我们去模拟一款游戏的运行 xff0c 游戏分为双方 轮流操作 操作共有三种形式 summon attack end 输入输出格式 输入 n 接下来是 n 个操作 每个操作由字符串区分 后面是操作
  • 超详细Windows10/Windows11 子系统(WSL2)安装Ubuntu20.04(带桌面环境)+CUDA11.3+pytorch1.8.1+pycharm

    超详细Windows10 Windows11 子系统 xff08 WSL2 xff09 安装Ubuntu20 04 xff08 带桌面环境 xff09 user zhaowei的博客 CSDN博客 wsl 桌面环境 目录前言在Windows
  • 洛谷_P1825 [USACO11OPEN]Corn Maze S(尚贤)

    题目 xff1a https www luogu com cn problem P1825 span class token macro property span class token directive keyword include
  • 从知名软件提取出的神器,吊打一众付费

    前言 现在的软件功能虽然越更新越多 xff0c 但也是越来越臃肿了 xff0c 不仅占内存 启动慢 xff0c 老更新也怪麻烦的 你们应该也有过因为某个小功能挺好用而不忍心卸载整款软件的情况吧 今天给大家分享几款从知名软件中提取出来的小工具
  • Ubuntu 设置网络代理的一些配置

    因公司需求 xff0c 连接网络必须使用代理设置连接网络 xff0c 这里给大家分享一下我的配置步骤 xff01 如果以下这些不符合你的需求 xff1a 来看这个 xff1a ubuntu 内网搭建服务器的一些配置 xff0c 完美解决ht
  • Linux上git+gitee的基本使用

    目录 1 git 2 gitee 3 本地仓库建立和git基本使用 1 远程仓库同步到本地仓库 xff1a 2 提交本地仓库到远程仓库进行更新 如在本地代码仓库中新建了test1 txt和test2 txt文件或者对文件内容进行了修改 xf
  • java编程题练习2

    程序6 题目 xff1a 输入两个正整数m和n xff0c 求其最大公约数和最小公倍数 在循环中 xff0c 只要除数不等于0 xff0c 用较大数除以较小的数 xff0c 将小的一个数作为下一轮循环的大数 xff0c 取得的余数作为下一轮
  • 安装Anaconda后,cmd输入python没有结果

    可能是电脑上已经安装过python xff0c 在cmd中输入 where python 查看电脑上所有python解释器所在的路径 路径优先级最高的解释器 xff08 非Anaconda所在路径 xff09 出现损坏 xff0c 或由于其
  • 用python发送163邮件

    邮件是最早有用计算机通信的方式之一 xff0c 采用pop3协议接受邮件 xff0c smtp协议发送邮件 xff0c 基本上所有的计算机通信建立在tcp udp协议之上 xff0c 邮件传输协议也是不列外的 如果想要用编程语言发送邮件 x
  • 【AWS EC2】云端简单部署NodeJS应用

    根据需要启动想要的EC2 注意 xff1a 选择Linux时用x86而不是arm xff0c 不然kafka和zookeeper启动不了 xff08 在我的项目里 xff09 并且bitnami zookeeper latest需要内存超过
  • 在kali linux上安装git与push提交

    在kali linux上安装git与push提交 写在前面 xff1a 最好不要在root账户下创建 xff0c 在使用vscode时会带来好多问题 1 安装git apt get install git 2 添加git服务用户 邮箱 xf
  • 判断一颗二叉树是否为完全二叉树

    package main import 34 container list 34 思路 层序遍历 只需分两种情况 1 xff09 若当前节点左孩子为空右孩子不为空 直接返回不空 2 xff09 若当前节点的左右孩子不全 则其后面的节点必须都
  • 【mybatis-plus】mybatis-plus代码生成器,自动生成controller、service、dao、mapper、pojo代码,可灵活配置生成路径,程序猿的福音!!!

    在我们需要一些数据库的实体类时 xff0c 需要手动创建实体与类 xff0c 这很浪费时间 xff0c 所以我研究了一下和上网找了一些资料 xff0c 整合出了一套可灵活配置生成路径的代码 xff01 xff01 xff01 直接上代码 s
  • python爬虫:爬取携程航班数据

    python爬虫 xff1a 爬取携程航班数据 最近在学爬虫 xff0c 用携程的航班数据练手 xff0c 顺便记录一下 xff0c 话不多说下面开始 xff1a 一 首先来观察一下携程网的航班信息的网页 xff1a 这是一个携程网站的截图
  • PyQt5入门和常用模块(含多线程简单例子)

    1 安装软件包 pip span class token function install span PyQt5 pip span class token function install span pyqt5 tools 2 安装Qtde
  • CentOS 8.5高性能计算开发环境配置备忘

    CentOS 8 5环境配置 在CentOS 8 5系统下配置高性能计算环境 主要包含编译器套件 分布式并行套件 各种数值计算库 Python环境 辅助管理工具 GPU开发环境等 利用CentOS自带的RPM仓库 xff0c 加上OpenH
  • Python3 + BeautifulSoup 爬取Steam热销商品数据

    这次用了BeautifulSoup库来爬取Steam的热销商品 xff0c BeautifulSoup更侧重的是从页面的结构解析 xff0c 根据标签元素等来爬取数据 xff0c 这次遇到两个问题 xff1a 1 Steam热销商品列表经常
  • C语言中用%输出不同内容

    C语言有很多输出函数 xff0c 也有很多输出方式 xff0c 但最基础的还是printf 函数 xff0c 但我们不止能输出想要的内容还能指定输出的方式 xff0c 下面我就对此总结一下 xff0c 本人也是初学者 xff0c 以下内容可