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 ...
随机推荐
- Dresdon简介
很久没有写文章了.这几年经历了很多事情:离开VMware的不舍,拿到融资的开心,重回VMware的亲切,以及不再争强好胜,只做自己喜欢事情的平和. 可以说,我是幸运的:我这一辈子都在选择,而不是被迫接 ...
- C++语法小记---经典问题之一(malloc和new的纠缠)
malloc和new以及free和delete的区分 new和malloc以及delete和free的区别 new和delete是C++的关键字,malloc和free是库函数 new和delete会 ...
- socket解决半包、粘包问题
最近项目遇到socket服务端接收报文不全的问题,与其客户端约定的是报文长度+报文体.然而当客户端数据量大的时候,用分包发送,导致服务端报文日志接收不完整,于是想着先读出包体长度,再读出包体,不够就一 ...
- python-多任务编程01-线程(threading)
并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已) 并行:指的是任务数小于等于cp ...
- Java线程的6种状态及切换
Java中线程的状态分为6种. 1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法.2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running) ...
- docker-compose安装zabbix
在网上的很多帖子,我亲自试过,多数不行,启动后zabbix_server是退出状态,所以觉得自己亲自写一篇帖子,以作记录 1.安装docker和docker-compose yum install - ...
- webview访问URL
// // Do any additional setup after loading the view. // //创建WKWebView // WKWebView *web = ...
- Flutter日常笔记
factory修饰的构造方法 表示不是每次返回的都是新创建出来的对象, 可以取内存中已有的, 比如单例模式的书写 每次返回的都是一个实例, 这时要使用factory修饰构造方法 flutter不要求显 ...
- 利用updatexml()报错注入mysql
基本介绍一下updatexml() updatexml(XML_document, XPath_string, new_value) XML_document是文档对象的名称 XPath_string ...
- Learning in the Frequency Domain 解读
论文:Learning in the Frequency Domain, CVPR 2020 代码:https://github.com/calmevtime/DCTNet 实际的图像尺寸比较大,无法 ...