4-printf & scanf函数
一、printf函数
这是(printf和scanf)在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>
1.用法
1> printf(字符串)
printf("Hello, World!");
2> printf(字符串, 格式符参数)

1 // 使用常量作参数
2 printf("My age is %d\n", 26);
3
4 // 也可以使用变量
5 int age = 17;
6 printf("My age is %d", age);

总结:左边字符串中格式符的个数 必须跟 右边格式符参数的个数一样;格式符的类型决定了格式符参数的类型,比如使用%d,说明对应的格式符参数必须是整型
2.常用的格式符及其含义

3.格式符的精细格式控制
1〉输出宽度
如果我把%d换成%4d:
printf("The price is %4d.", 14);
输出结果:
即“14”前面多出了2个宽度。
如果实际数值宽度比较大,比如用%4d输出宽度为6的"142434",那就会按照实际数值宽度6来输出。
如果换成%-4d
printf("The price is %-4d.", 14);
输出结果:
2>浮点数的小数位数
printf("My height is %f", 179.95f);
输出结果:
, 默认输出6位小数。
如果只想输出2位小数,把%f换成%.2f即可
printf("My height is %.2f", 179.95f);
输出结果:
可以同时设置输出宽度和小数位数
printf("My height is %8.1f", 179.95f);
输出结果:
二、scanf函数
int age;
scanf("%d", &age);
注意:
1、执行到scanf函数时,会等待用户的键盘输入,并不会往后执行代码。
2.scanf的第2个参数传递的不是age变量,而是age变量的地址&age,&是C语言中的一个地址运算符,可以用来获取变量的地址。
3.输入完毕后,敲一下回车键,目的是告诉scanf函数我们已经输入完毕了,scanf函数会将输入的8赋值给age变量
scanf()输入注意点:
比如以下几个例子:
// 逗号,
scanf("%d,%d,%d", &a, &b, &c); // 输入格式:10,14,20 // 井号#
scanf("%d#%d#%d", &a, &b, &c); // 输入格式:10#14#20 // 字母x
scanf("%dx%dx%d", &a, &b, &c); // 输入格式:10x14x20
scanf()输入时要严格按照要求的格式输入!!!
4-printf & scanf函数的更多相关文章
- [Keil 学习] printf, scanf函数的用法
C语言库函数中有一批"标准输入输出函数",它是以标准的输入输出设备(一般为终端设备)为输入输出对象的,其中用得比较多的是printf和scanf函数了. 在嵌入式设备中加入C语言的 ...
- scanf函数和printf函数
C程序实现输出和输入的 主要是printf函数 和 scanf函数,这两个函数是格式输入输出 格式声明由%和格式字符组成 如%d,%f 格式字符: d格式符:用来输出一个有符号的十进制整数 c格式 ...
- STM32 printf()函数和scanf()函数重定向到串口
STM32 printf()函数和scanf()函数重定向到串口 printf()函数和scanf()函数重定向 在学习STM32的时候,常常需要用串口来测试代码的正确与否,这时候就要要用到print ...
- 【转】stm32CubeMx上移植自己的printf()和scanf()函数
要想printf()和scanf() 函数工作,我们需要把printf()和scanf() 重新定向到串口中.重定向是指用户可以自己重写C 的库函数,当连接器检查到用户编写了与C 库函数相同名字的函数 ...
- C/C++编程笔记:C语言基础printf()和scanf()函数,大学入门知识
在解释这两个函数之前,为了方便大家更容易理解,我们先来讲讲下面的这幅图. 这个图中的例子其实很简单,我们就是把题目通过输入设备(例如键盘鼠标)传输到计算机中,然后让计算机进行运算得出结果,再然后把 ...
- C语言基础printf()和scanf()函数
在程序的运行中,我们经常会进行一些输入输出的操作,用来实现交互.为此, C语言便给出了 printf() 函数和 scanf() 函数用来实现输入和输出两个动作. 其中,printf()函数用于向控制 ...
- C语言scanf函数详细解释
原文链接 函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准 ...
- scanf函数
一. 变量的内存分析 1. 字节和地址 为了更好地理解变量在内存中的存储细节,先来认识一下内存中的“字节”和“地址”. 1> 内存以“字节为单位” 0x表示的是十六进制,不用过于纠结,能看懂这些 ...
- scanf函数与输入缓冲区
本文链接:http://www.cnblogs.com/xxNote/p/4008668.html 今天看书的时候遇到scanf函数与缓冲区的问题,产生了一些猜想即:应该有一个指针来记录缓冲区中读取到 ...
随机推荐
- jQuery源码 Ajax模块分析
写在前面: 先讲讲ajax中的相关函数,然后结合函数功能来具体分析源代码. 相关函数: >>ajax全局事件处理程序 .ajaxStart(handler) 注册一个ajaxStart事件 ...
- jQuery的Internal DSL
JQuery的核心理念是write less,do more(写的更少,做的更多),那么链式方法的设计与这个核心理念不谋而合.那么从深层次考虑这种设计其实就是一种Internal DSL. DSL是指 ...
- Javascript优化细节:短路表达式
什么是短路表达式? 短路表达式:作为"&&"和"||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程 ...
- 2014年百度之星程序设计大赛 - 初赛(第二轮)JZP Set
题目描述:一个{1, ..., n}的子集S被称为JZP集,当且仅当对于任意S中的两个数x,y,若(x+y)/2为整数,那么(x+y)/2也属于S.例如,n=3,S={1,3}不是JZP集,因为(1+ ...
- 关于Repository、IUnitOfWork 在领域层和应用服务层之间的代码分布与实现
本来早就准备总结一下关于Repository.IUnitOfWork之间的联系以及在各层中的分布,直到看到田园里的蟋蟀发表的文章:<DDD 领域驱动设计-谈谈 Repository.IUnitO ...
- 编译器出现conflicting types for 某某的错误原因总结
直译就是xxxx 发生了一种冲突!比如今天发现的这个错误,实属低级! 本次错误的原因是:函数没有先声明,便写在了主函数后面!应该是先声明,后定义,如果只有定义,则定义必须写在主函数上方.通过查资料,有 ...
- ubuntu /var/log/下文件介绍
本文简单介绍ubuntu /var/log/下各个日志文件,方便出现错误的时候查询相应的log /var/log/alternatives.log -更新替代信息都记录在这个文件中 /var/lo ...
- my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接
一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...
- 用CSS3动画特效实现弹窗效果
提示:如果大家觉得本篇实现的弹窗效果有用,可持续关注.接下会添加更多效果并且封装成插件,这样使用就方便了.效果查看: https://heavis.github.io/hidialog/index.h ...
- Windows 10预览版14316开启Bash命令支持
00x0 前言 4月7日凌晨,微软推送了最新的Windows 10一周年更新预览版14316,其中重要的是原生支持Linux Bash命令行支持. 00x1 问题 如何开启Linux Bash命令行? ...