printf函数和putchar函数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main01()
{
int a =10;
//-:对齐;%-5d左对齐;%5d右对齐
printf("===%-5d===",a);
float b = 3.14;
//%7:表示向右对齐有7位。%.2保留两位小数
printf("===%7.2f===\n", b);
return EXIT_SUCCESS;
}
int main ()
{
char ch = 'a';
//printf是输出一个字符串,putchar输出一个char
printf("%c\n", ch);
//putchar:输出字符,可以是变量,字符,数字(0-127),转义字符
putchar(ch);
putchar('B');
putchar(97);
putchar('\n');
return 0;
}
/* printf格式字符
打印格式 |
对应数据类型 |
含义 |
%d |
int |
接受整数值并将它表示为有符号的十进制整数 |
%hd |
short int |
短整数 |
%hu |
unsigned short |
无符号短整数 |
%o |
unsigned int |
无符号八进制整数 |
%u |
unsigned int |
无符号十进制整数 |
%x,%X |
unsigned int |
无符号十六进制整数,x对应的是abcdef,X对应的是ABCDEF |
%f |
float |
单精度浮点数 |
%lf |
double |
双精度浮点数 |
%e,%E |
double |
科学计数法表示的数,此处e的大小写代表在输出时用的e的大小写 |
%c |
char |
字符型,可以把输入的数字按照ASCII码相应转换为对应的字符 |
%s |
char* |
字符串,输出字符串中的字符直至字符串中的空字符(\0)结尾 |
%p |
void* |
以16进制形式输出指针 |
%% |
% |
输出一个百分号 |
printf附加格式
字符 |
含义 |
l(字母l) |
附加在d,u,x,o前面,表示长整数 |
- |
左对齐 |
m(代表一个整数) |
数据最小宽度 |
0(数字0) |
将输出的前面补上0直到占满指定列宽为止不可以搭配使用 |
m.n(代表一个整数) |
m指域宽,即对应的输出项在输出设备上所占的字符数,n指精度,用于说明输出的实型数的小数位数,对数值型的来说,末指定n时,隐含的精度为n=6位 |
类型限定符
限定符 |
含义 |
extern |
声明一个变量,extern声明的变量没有建立存储空间, extern int a;//变量在定义的时候创建存储空间 |
const |
定义一个常量,常量的值不能修改 |
volatile |
防止编译器优化代码 |
register |
定义寄存器变量,提高效率,register是建议型的指令,而不是命令型的指令,如果CPU有空闲寄存器,那么register就生效,如果没有空间寄存器,那么register无效 |
*/
printf函数和putchar函数的更多相关文章
- STM32 printf()函数和scanf()函数重定向到串口
STM32 printf()函数和scanf()函数重定向到串口 printf()函数和scanf()函数重定向 在学习STM32的时候,常常需要用串口来测试代码的正确与否,这时候就要要用到print ...
- [misc]printf/fprintf/sprintf/snprintf函数
转自:http://blog.csdn.net/To_Be_IT_1/article/details/32179549 需要包含的头文件 #include <stdio.h> int pr ...
- 如果你也会C#,那不妨了解下F#(4):了解函数及常用函数
函数式编程其实就是按照数学上的函数运算思想来实现计算机上的运算.虽然我们不需要深入了解数学函数的知识,但应该清楚函数式编程的基础是来自于数学. 例如数学函数\(f(x) = x^2+x\),并没有指定 ...
- 【Go入门教程3】流程(if、goto、for、switch)和函数(多个返回值、变参、传值与传指针、defer、函数作为值/类型、Panic和Recover、main函数和init函数、import)
这小节我们要介绍Go里面的流程控制以及函数操作. 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.Go中流程控制分三大类:条件判断,循环控制和 ...
- 【C语言】14-返回指针的函数与指向函数的指针
前言 前面我们花了接近3个章节学习指针,应该都感受到指针的强大了吧.指针可以根据地址直接操作内存中的数据,使用得当的话,不仅能使代码量变少,还能优化内存管理.提升程序性能.关于指针的内容还非常多,比如 ...
- linux fork函数与vfork函数,exit,_exit区别
man vfork: NAME vfork - create a child process and block parent SYNOPSIS #include <sys/types.h> ...
- CreateThread函数&&CString::GetBuffer函数
对这个两个常见的windows下的函数学习了一下: //最简单的创建多线程实例 #include <stdio.h> #include <windows.h> //子线程函数 ...
- fork 函数 和vfork 函数的区别
问题描述: fork 函数 和vfork 函数的区别 问题解决: fork函数使用: 注: 以上printf 属于标准IO库带缓冲,如果标准输出链接到终端设备,则它是行 ...
- strcpy函数和strncpy函数的区别
strcpy函数和strncpy函数的原型介绍在我的另一篇文章中介绍了,见strcpy,strncpy,strlen等函数原型 strcpy:字串复制 原型:char *strcpy(char *de ...
随机推荐
- Spring当中循环依赖很少有人讲,今天一起来学习!
网上关于Spring循环依赖的博客太多了,有很多都分析的很深入,写的很用心,甚至还画了时序图.流程图帮助读者理解,我看了后,感觉自己是懂了,但是闭上眼睛,总觉得还没有完全理解,总觉得还有一两个坎过不去 ...
- vue使用elementUI form表单label样式修改
更多关于修改ElementUI样式的方法,可以参考这篇文章 1.删除style标签中的 scoped 属性 <style lang="lang" scoped> ... ...
- SmartMS如何使用二次验证码/虚拟MFA/两步验证/谷歌身份验证器?
一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接 SmartMS如何使用二次验证码/虚拟MFA/两步验证/谷歌身份验证器? 二次验证码小程序于谷歌身份验证器APP的优势 1.无 ...
- APP自动化 -- swipe(滑动屏幕)
- 读懂操作系统之快表(TLB)原理(七)
前言 前不久.我们详细分析了TLB基本原理,本节我们通过一个简单的示例再次叙述TLB的算法和原理,希望借此示例能加深我们对TLB(又称之为快表,深入理解计算机系统(第三版)又称之为翻译后备缓冲区)的理 ...
- 图书馆管理系统程序+全套开发文档(系统计划书,系统使用说明,测试报告,UML分析与设计,工作记录)
图书馆管理系统程序+全套开发文档(系统计划书,系统使用说明,测试报告,UML分析与设计,工作记录): https://download.csdn.net/download/qq_39932172/11 ...
- hadoop2.7.3+spark2.0.1+scala2.11.8集群部署
一.环境 4.用户 hadoop 5.目录规划 /home/hadoop/app #程序目录 /home/hadoop/data #数据目录 #打开文件的最大数 vi /etc/sec ...
- 【Gin-API系列】需求设计和功能规划(一)
场景需求 数据库存储2个模型,每个模型都有一个或多个IP字段,需要通过 Golang Http Api(Restful Api) 返回 IP 信息. 模型1 - 服务器 ID 主机名 IP 内存大小 ...
- Ribbon 负载规则替换
1 添加规则类: 注意: 官方文档明确给出了警告: 这个自定义配置类不能放在 @ComponentScan 所扫描的当前包下以及子包下,否则自定义的配置类就会被所有的 Ribbon 客户端所共享,达不 ...
- HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第5章CSS盒子模型
本教程案例在线演示 有路网PC端 有路网移动端 教程配套源码资源 教程配套源码资源 div div 可定义文档中的分区(division). div 标签可以把网页分割为独立的.不同的部分. 可以看成 ...