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 ...
随机推荐
- JavaScript数组在指定某个元素前或后添加元素
//原数组 var s = [['g','g'],['h','h'],['i','i']]; //要添加的元素 var s1 = ['a','b','c']; //要添加的元素 var s2 = [' ...
- zabbix自定义监控(当会话登录超过三个就报警)
安装过程在此省略. 1.agent端去修改配置文件 2.调用自定义内容 vim /etc/zabbix/zabbix_agentd.d/login.conf UserParameter=login-u ...
- 题解 洛谷 P6351 【[PA2011]Hard Choice】
删边操作不好处理,所以先将操作倒序,将删边转化为加边. 考虑对于两个点的询问,若这两点不连通或这两个点分别处于两个不同的边双连通分量中(两点间存在桥)时,是不满足题目要求的. 可以用\(LCT\)来维 ...
- 题解 洛谷 P3825 【[NOI2017]游戏】
从题面中四元组\((i,h_i,j,h_j)\)限制选择车子型号,不难想到这题要用\(2-SAT\)解决. 考虑转化为\(2-SAT\)模型,发现除地图\(x\)外,其他地图都只有两种车子型号可以参加 ...
- JDBC 连接 MySQL 8.0.15+ 常见错误记录
课后复习 1. No suitable driver found for mysql:jdbc://localhost:3306/test 错误原因: mysql:jdbc://localhost:3 ...
- BUUCTF-web web1 (无列名注入)
注册并登录后发现,sql注入,注入点在广告申请的界面.加单引号发现报错 先通过insert插入数据,然后再通过id查询相应的数据,所以是二次注入. 常见报错函数updatexml,floor以及ext ...
- MySQL组复制MGR(一)-- 技术概述
(一)复制技术的发展 MySQL的复制技术主要经历了异步主从复制,半同步复制,组复制(Group Replication)3个阶段. (1)传统的异步主从复制 传统的MySQL提供了一种简单的主从复制 ...
- expect正则捕获返回结果
expect正则捕获返回结果 expect: expect -re "([0-9]*)([a-zA-Z]*)"send_user "num is $expect_out( ...
- laravel 验证码使用示例
一.去https://packagist.org/网站搜索验证码的代码依赖,关键词:captcha 地址:https://packagist.org/packages/mews/captcha 二.环 ...
- Java容器学习之ArrayList
一.概述 ArrayList是java中十分常用的集合类,继承于AbstractList,并实现了List.RandomAccess.Cloneable和Serializable接口.ArrayLis ...