首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【编程基础】c printf知多少

printf()函数是格式输出函数,请求printf()打印变量指令取决与变量类型.例如,在打印整数是使用%d符号,在打印字符是用%c 符号.这些符号被称为转换说明.因为它们指定了如何不数据转换成可显示形式...转换说明及作为结果打印输出 %a 浮点数、十六进制数字和p-记数法(C99) %A    浮点数、十六进制数字和p-记法(C99) %c    一个字符  %d    有符号十进制整数...无符号十六进制整数  %X    使用十六进制数字0f无符号十六进制整数 %%    打印一个百分号 printf()基本形式: printf("格式控制字符串",变量列表); 下面对组成格式说明各项加以说明...7、f格式:用来输出实数(包括单、精度),以小数形式输出。有以 下几种用法: %f:不指定宽度,整数部分全部输出并输出6小数。...对于单精度数,使用%f格式符输出时,仅前7是有效数字,小数6. 对于度数,使用%lf格式符输出时,前16是有效数字,小数6

95450

Javaprintf用法总结

------------------------------------ 对于单精度数,使用%f格式符输出时,仅前7是有效数字,小数6....对于度数,使用%lf格式符输出时,前16是有效数字,小数6. ###################################### 对于m.n格式还可以用如下方法表示(例)...System.out.println("单精度浮点型:"+d);/*单精度浮点型占32存储空间,在一些 处理器上比精度更快而且只占用精度一般空间,但是当值很大或很小时候,它...将变得不准确*/ System.out.println("精度型:"+a);/*精度型占64存储空间,在一些现代化 被优化用来进行高速数学计算处理器上比单精度快...//“%#x”表示输出带有十六进制标志整数标志,标志第一是数字0。

1.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

GDB实现原理和使用范例

一、前言 这篇文章为了让你深入了解gdb工作原理,以及如何在linux环境下使用强大gdb调试程序功能。 二、gdb工作原理 2.1....每个DIE有: 一个 TAG 属性表达描述什么类型东西, : TAG_subprogram(函数)、TAG_formal_parameter(形式参数)、TAG_variable(变量)、TAG_base_type...如果设置足够多函数断点,可以打印出所有的函数调用关系,然后后处理该脚本输出,可以得到一个函数调用图。这是一个比较快捷方法。 最后args 文件需要保存运行workbinary命令参数。...打印 p :打印某个变量名 x/,比如说x/10xb :打印开始10个地址,以十六进制单字节输出。...其他: 当然gdb命令还有很多,可以在gdbhelp菜单查看到“aliases,data,breakpoints,flies,internals,obscure,running,stack,support

5K10

C:01---数据类型与ASCII

问号 \0oo 八进制值(oo必须是有效八进制数,即0~7一个数) \xx xx也是八进制值 \xhh 十六进制数(hh必须是有效十六进制数,即0~f一个数) 例如:\x4d ==>字符...M \12(换行符) 键盘按住alt不送,键盘输入数字,松开alt,就会打印数字对应字符 三、浮点型 float 精确到小数点后6~7。...等到强制类型转化时才开辟空间存储 五、打印八进制、十六进制 8进制:前缀0 16进制:前缀0x或0X %o:8进制显示数字 %x:16进制显示数字 %#o:8进制数字前面带有0前缀 %#x、%#X:16...进制数字前面带有0x或0X前缀 int a=08; //08八进制数 int b=0x15; //15为十六进制数 六、ASCII ?...这俩看不懂,不要紧,我会在C语言基础部分抽出2-4个文章来专门讲调试(linux下gdb,和windows下debug都会分开讲),这样你看C语言指针部分将不再迷茫,看内存不迷路。

74920

go程序调试

调试程序是程序猿一项必备技能,有多种手段可以用来调试程序,打印控制台输出,日志方式,以及设置断点使用debug做单步跟踪进行调试。...使用vagrant搭建了一个go环境并安装了gdb工具,在需要使用gdb时,通常是将代码通过vagrant目录映射到linux虚拟主机,然后进行GDB调试。...) (gdb) n argv:[/home/vagrant/godemo/demo01/demo arg1 agr2] 打印命令p打印格式 x 按十六进制格式显示变量。...u 按十六进制格式显示无符号整型。o 按八进制格式显示变量。t 按二进制格式显示变量。a 按十六进制格式显示变量。c 按字符格式显示变量。f 按浮点数格式显示变量。...b表示单字节 h表示双字节 w表示四字节 g表示八字节 打印内存地址值 (gdb) p &aa $2 = (int *) 0xc00007ce40 (gdb) x/1dg 0xc00007ce40

1.4K30

go语言程序调试

调试程序是程序猿一项必备技能,有多种手段来调试程序,打印控制台输出,查看日志,以及设置断点,使用debug做单步跟踪进去调试。这篇文章主要从go使用debug为题进行展开。...使用vagrant搭建了一个go环境并安装了gdb工具,在需要使用gdb时,通常是将代码通过vagrant目录映射到linux虚拟主机,然后进行GDB调试。...这种用也不是很多,一般主要使用GDB提供x命令,查看下内存值。...:[/home/vagrant/godemo/demo01/demo arg1 agr2] 打印命令p 打印格式 x 按十六进制格式显示变量。...u 按十六进制格式显示无符号整型。 o 按八进制格式显示变量。 t 按二进制格式显示变量。 a 按十六进制格式显示变量。 c 按字符格式显示变量。 f 按浮点数格式显示变量。

77150

MySQL数据库面试题和答案(一)

(FLOAT)和度数(DOUBLE)有什么不同?...精度和占用存储空间不同,浮点数精度最高可达8,有4个字节;精度存储浮点数精度最高可达18,有8个字节。 3、什么叫做堆表(Heap tables)? -在内存中找到堆表。...13、如何在MySQL连接字符串? 使用- CONCAT (string1, string2, string3) 14、如何在Mysql获得当前日期?...“|”可以用来匹配这两个字符串任何一个。 如何在MySQL中将表导出为XML文件?...- SQL被称为标准查询语言,顾名思义,它是一种用于与数据库交互语言,MySQL。 - MySQL是一种存储各种类型数据并保证其安全数据库。需要一个PHP脚本来存储和检索数据库值。

7.5K31

GDB调试指南-变量查看

'::b $2 = {1, 2, 3, 5} (gdb) 这里所打印a值是我们定义在testGdb.h文件里,而b值是main函数b。...打印指针指向内容 如果还是使用上面的方式打印指针指向内容,那么打印出来只是指针地址而已,例如: (gdb) p d $1 = (int *) 0x602010 (gdb) 而如果想要打印指针指向内容...常见格式控制字符如下: x 按十六进制格式显示变量。 d 按十进制格式显示变量。 u 按十六进制格式显示无符号整型。 o 按八进制格式显示变量。 t 按二进制格式显示变量。...还是以辅助程序来说明,正常方式打印字符数组c: (gdb) p c $18 = "hello,shouwang" 但是如果我们要查看它十六进制格式打印呢?...查看内存内容 examine(简写为x)可以用来查看内存地址值。

2.4K10

汇编学习(2),数据表示与寄存器

本篇介绍 本篇介绍下数据在计算机表示形式以及常用寄存器, 最后再学一个稍微复杂点代码。...内容介绍 补码 对于有符号整数类型,负数是以补码(complement)形式保存,这样可以方便做运算,补码就是绝对数各个bit取反然后加1,举个例子如下: 有符号整数 17 二进制形式: 0000...1111 = 0000 0000 0000 0000 十六进制: 0x0000 这样就简单很多了,减法也可以使用加法规则 寄存器 通用寄存器如下: image.png 指令寄存器(rip)...标记寄存器(rlags),个别字段介绍如下: image.png 打印字符串 在编辑器写入如下代码: ; hello.asm section .data msg1 db "...intel, 再反汇编看下,就会看到格式变成intel了: image.png 这时候再简单提下prologue和epilogue对于gdb作用,如果没有他们,那么gdb就不能单步调试了。

42730

GDB调试入门,看这篇就够了

例如: watch a 这个时候,让程序继续运行,如果a值发生变化,则会打印相关内容,: Hardware watchpoint : a Old value = New value = 但是这里要特别注意是...'::b $2 = {, , , } (gdb) 这里所打印a值是我们定义在testGdb.h文件里,而b值是main函数b。...还是以辅助程序来说明,正常方式打印字符数组c: (gdb) p c $18 = "hello,shouwang" 但是如果我们要查看它十六进制格式打印呢?...源码查看 前言 我们在调试过程难免要对照源码进行查看,如果已经开始了调试,而查看源码或者编辑源码却要另外打开一个窗口,那未免显得太麻烦。文本将会介绍如何在GDB调试模式下查看源码或对源码进行编辑。...但是本文不作介绍,有兴趣可以探索一下。 小结 本节介绍了GDB调试源码查看,源码编辑以及如何在GDB调试模式下执行shell命令。

7.3K62

C语言输入输出格式符

(7)f格式符,用来输出实数(包括单、精度),以小数形式输出。格式:%f,%m.nf,%-m.nf都可。 注意:单精度实数有效位数一般为7精度为16。...(不输出前导符0) x,X 以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制a~f时以小写形式输出,用X时,则以大写字母输出 u 以无符号十进制形式输出整数 c 以字符形式输出...,只输出一个字符 s 输出字符串 f 以小数形式输出单、度数,隐含输出6小数 e,E 以指数形式输出实数 g,G 选用%f或%e格式输出宽度较短一种格式,不输出无意义0 表4.2 printf...m列,但只取字符串左端n个字符并靠右对齐 %-m.ns m、n含义同上,靠左对齐,如果n>m,则m自动取n值 ⑦ f格式符 以小数形式输出实数 %f 整数部分全部输出,小数部分输出6 %m.nf...%后*,用来跳过它相应数据。输入数据时不能规定精度scanf( “%7.2f”, &a );是不合法

1.4K20

printf格式控制符

②-: 有-表示左对齐输出,省略表示右对齐输出。     ③0:有0表示指定空位填0,省略表示指定空位不填。     ④m.n:m指域宽,即对应输出项在输出设备上所占字符数。...⑦f格式:用来输出实数(包括单、精度),以小数形式输出。有以下几种用法: %f:不指定宽度,整数部分全部输出并输出6小数。...此处n指数据数字部分小数 位数,m表示整个输出数据所占宽度。 ⑨g格式:自动选f格式或e格式较短一种输出,且不输出无意义零。...对于单精度数,使用%f格式符输出时,仅前7是有效数字,小数6....对于度数,使用%lf格式符输出时,前16是有效数字,小数6. ②对于m.n格式还可以用如下方法表示 char ch[20]; printf("%*.

1.6K20

gdb 调试笔记

x86INT 3(机器码0xCC) 替换断点位置指令 CPU执行到此时触发断点异常 没有数量限制 (3)硬件断点 hbreak 普通 thbreak 一次性 原理: 基于CPU调试寄存器,x86...|'all'] tcatch event 捕捉一次catch (6)dprinf 遇到断点是打印信息 set dprintf‐style gdb/call/agent 设置用哪里打印函数打印信息 set...恢复断点,将文件断点打一遍, watchpoints可能会失效 四、保存现场和回溯 (1)gdb 快照保存 checkpoint: 生成当前状态快照 info checkpoint:显示快照信息...bt full 会打印栈里变量 五、打印和单步调试 p *&argv[0]@3:表示打印argv[0] argv[1] argv[2] p {int}argv 以int类型显示argv变量 p/x 显示十六进制...gdbinit文件,不想使用插件时不必去注释gdbinit文件了 gdb ‐q :不打印版本和介绍信息启动 gdb ‐write:对二进制程序可读可写启动,可对二进制程序指令进行修改,并保存到文件,或者启动后

86700

gdb基础命令和常用操作补充

gdb中表示寄存器名时前面要加个$,例如p $esp可以打印esp寄存器值,esp寄存器值是0xbff1c3f4,所以x/20 $esp命令查看内存从0xbff1c3f4地址开始20个32数...5. p 命令内存输出格式: • d: ⼗十进制 • u: ⼗十进制⽆无符号 • x: ⼗十六进制 • o: ⼋八进制 • t: ⼆二进制 • c:   字符 p/x var 6. set...启动和查看程序 setargs 设置程序运行参数 run运行程序,使用方式:r   List  显示程序源代码命令,使用show listsize 查看显示代码行数   list <...使用GDBdirectory命令来设置源文件目录。...如果要打印一个序列化过结构体,这个序列太长的话,往往会被gdb省略掉,gdb>p string "xxxx",…"" //会有省略号出现,无法看到完整字符串 此时可以设置: gdb>set

2.3K00

GDB调试笔记

GDB是在Linux命令行下对C/C++程序进行调试常用一个命令, 现将平时记录在本子上笔记整理记录一下....) *next:*同上,但是不进入函数体 *finish:*往下运行直至当前栈帧(下面解释)函数返回 *continue:*往下运行直至遇到断点 打印信息: print/x data: 以x(...十六进制)格式打印数据data值(或者缩写为p/x data); 输出格式有x、d、u、o、t(二进制,two,因为b已经用来表示byte)、a(address)、c(char)、f(float)、s...(string)、r(raw)      查看数据类型: ptype data; 打印数组: p *array@len 2)栈帧(stack frame) stack frame 是在栈为参数、返回地址和局部变量保留一块内存区...: set {int}0x83040 = 4;  //将4存储到地址0x83040 3)跳转 jump [location] location可以是行号或者地址。

1.2K30

GDB那些奇淫技巧

这在 gdb 可以使用environment参数,不过需要注意是该参数设置是以空格为切分而不是传统以=对环境变量赋值。...disable 2 禁用某断点,但是部删除 enable 2 允许某个之前被禁用断点,让它生效 rbreak {regexpr} 匹配正则函数前断点, ex_* 将断点 ex_ 开头函数...,并且增加到打印历史 print /x {expression} 十六进制输出,print 可以简写为 p print array[i]@count 打印数组范围 print $ 打印之前变量...x /10xb *0x11223344 按十六进制打印内存地址 0x11223344 处十个字节 x/x &gx 按十六进制打印变量 gx,x和斜杆后参数可以连写 x/4wx &main 按十六进制打印位于...info display 显示监视表达式 show values 查看记录到打印历史变量值 (gdb 4.0) info history 查看打印历史帮助 (gdb 3.5) 文件操作

1.1K20

掌握GDB调试工具,轻松排除bug

1.1安装与启动GDB gdb -v 检查是否安装成功,未安装成功则安装(必须确保编译器已经安装, gcc) 。...: test.c:12表示文件为test.c第12行设置一个断点。 threadno 线程ID。是GDB分配,通过输入info threads来查看正在运行中程序线程信息。 if ......(gdb) info frame 我们可以查看当前栈帧存储信息 该命令会依次打印出当前栈帧的如下信息: 当前栈帧编号,以及栈帧地址; 当前栈帧对应函数存储地址,以及该函数被调用时代码存储地址...当前函数调用者,对应栈帧地址; 编写此栈帧所用编程语言; 函数参数存储地址以及值; 函数中局部变量存储地址; 栈帧存储寄存器变量,例如指令寄存器(64环境中用 rip 表示,32为环境中用...eip 表示)、堆栈基指针寄存器(64环境用 rbp 表示,32环境用 ebp 表示)等。

60700

PHP数据类型

> 整形数据数值范围与平台有关: 32系统:取值范围-2^31~2^31 64系统:取值范围-2^64~2^64 4、浮点型 浮点型数据也叫度数或实数,其定义方式有: 标注格式定义:$a =...科学技术法格式定义:$b = 1.2e3 NAN是计算机科学数值数据类型一类值,表示未定义或不可表示值 常用is_NAN()来判断某些运算结果是否是一个数值: 结果是数值返回false 结果是NAN...数组每个数据单元为一个元素。 元素有索引(键名)和值两个部分构成。 索引通常为整数或字符串,值为任意类型数据。 定义方法1:运用array()函数 <?...以下情况,变量为空: 没有赋值,“$a”. 赋值为NULL或null, "$b = null"....被unset()函数处理变量,“$c = 10 unset($c)” 2、资源 资源是通过调用专门函数进行建立和使用。 打开文件:$file= fopen("f.txt",'r').

2.2K31

【建议收藏】这些PHP考点知识你是否还记得?

rewinddir — 倒回目录句柄 scandir — 列出指定路径文件和目录 数学 abs — 绝对值 acos — 反余弦 acosh — 反曲余弦 asin — 反正弦 asinh...ceil — 进一法取整 cos — 余弦 cosh — 曲余弦 decbin — 十进制转换为二进制 dechex — 十进制转换为十六进制 decoct — 十进制转换为八进制 deg2rad...— 返回除法浮点数余数 getrandmax — 显示随机数最大可能值 hexdec — 十六进制转换为十进制 hypot — 计算一直角三角形斜边长度 intdiv — 对除法结果取整...— 指数表达式 rad2deg — 将弧度数转换为相应度数 rand — 产生一个随机整数 round — 对浮点数进行四舍五入 sin — 正弦 sinh — 曲正弦 sqrt —...,空格除外 ctype_lower — 做小写字符检测 ctype_print — 做可打印字符检测 ctype_punct — 检测可打印字符是不是不包含空白、数字和字母 ctype_space

1.1K20
领券