printf格式字符

printf格式字符的具体说明可以参考谭浩强《C程序设计教程》(ISBN 978-7-302-15157-9)62页表3-1。

//代码例程源自国嵌

#include <stdio.h>

int main()
{
    int i = -2;
    unsigned int j = 1;

    if( (i + j) >= 0 )
    {
        printf("i+j>=0\n");
    }
    else
    {
        printf("i+j<0\n");
    }

    printf("i+j=%d\n", i + j);

    return 0;
}

C语言隐式类型转换:
算术运算式中,低类型转换为高类型;
赋值表达式中,表达式的值转换为左边变量的类型;
函数调用时,实参转换为形参的类型;
函数返回值,return表达式转换为返回值类型;

时间: 2024-11-04 19:36:02

printf格式字符的相关文章

printf格式化字符输出对应解释

printf 对应的字符代表的意思如下所示: printf("%_", i); /* %a:浮点数.十六进制数字和p-记数法(C99) * %A:浮点数.十六进制数字和p-记法(C99) * %c:一个字符char * %C:一个ISO宽字符 * %d:有符号十进制整数int * %ld,%Ld:长整型数据long * %hd:短整型数据 * %e:浮点数.e-记数法 * %E:浮点数.E-记数法 * %f:单精度浮点数(默认float),十进制记数法 * %.nf:这里n表示精确到小

在C语言源程序中的格式字符与空格等效

#include <stdio.h> #include <stdlib.h> /* *预处理指令这里换行符会导致编译不通过,因此这里和空格符效果不一样 *而在非预处理指令的地方(源程序中),换行符和其他控制字符这些都和空格效果一样. *格式字符:回车.换行.退格.垂直制表符.换页符等. */ #define TEST 1 /* *编译命令:gcc -Wall -ansi -pedantic Test.c *可以看到格式字符和空格的作用是一样的 *用\可以把一个标识符分成两行写,但是

C语言Printf格式

使用printf打印时发现,如果数据类型和打印使用的类型不一致,结果就是混乱的. 这是因为printf本身并不进行数据的类型转换,他只是把输入按照给定的数据格式输出,如果二者不匹配,那么由于不同数据类型的二进制存储方式不一样,读出的数据就是错误的. 所以,为求稳妥,在使用printf,fprintf,scanf,fscanf在类型不一致时还是手动转化吧! printf("%f\n",1.3); printf("%d %f\n",1.3,1.3); 打印结果: 1.3

printf 格式输出

printf 格式输出 d,lx,ld,,lu,这几个都是输出32位的hd,hx,hu,这几个都是输出16位数据的,hhd,hhx,hhu,这几个都是输出8位的,lld,ll,llu,llx,这几个都是输出64位的, printf( "%llu ",.....)%llu   是64位无符号%llx才是64位16进制数 Dev-C++下基本数据类型学习小结 环境: Dev-C++ 4.9.6.0 (gcc/mingw32), 使用-Wall编译选项 基本类型包括字节型(char).整型(

(6)关于%格式字符的

网上搜索一番,才知道自己真的书读的太少,容易被自己坑到... 表示输出类型的格式字符       格式字符意义 d                                                  以十进制形式输出带符号整数(正数不输出符号) o                                                  以八进制形式输出无符号整数(不输出前缀O) x                                             

NSLog()输出函数集格式字符

nslog()强大的功能这里就不多说了,笔者从c#转过来,难免会有些陌生.在c#中用format("{0}",xx}来进行占位,下面就来讲讲在oc中的格式字符; d:带符号的十进制形式输出整数(正数不输出符号) o:以八进制无符号形式输出整数(不输出前缀) x:以十六进制无符号形式输出整数(不输出0x) u:以无符号的十进制输出整数 c:以字符形式输出,只输出一个字符 s:输出c风格的字符串 f:以小数形式输出浮点数,默认输出和位小数 e:以指针形式输出浮点数,数字部份默认输出6位小数

日期格式字符详解

日期格式字符说明 (:) 时间分隔符.在某些区域设置中,可以使用其他字符表示时间分隔符.时间分隔符在格式化时间值时分隔小时.分钟和秒.格式化输出中用作时间分隔符的实际字符由您的应用程序的当前区域性值确定. (/) 日期分隔符.在某些区域设置中,可以使用其他字符表示日期分隔符.日期分隔符在格式化日期值时分隔日.月和年.格式化输出中用作日期分隔符的实际字符由您的应用程序的当前区域性确定. (%) 用于表明不论尾随什么字母,随后字符都应该以单字母格式读取.也用于表明单字母格式应以用户定义格式读取.有关

printf 格式

格式: printf format [string] printf 格式 参数 由于printf的行为是由POSIX标准所定义,因此使用printg的脚本比使用echo更具可移植性. 程序: #!/bin/bash printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234 printf "%-10s %-8s %-4.2f\n" 杨过 男 48.

关于Matlab串口发送HEX格式字符

终于想起来更新一下关于使用Matlab串口发送HEX格式字符.这个用法主要来自于我使用Matlab对机器人进行实时轨迹跟踪的绘制,由于底层限制,自己又不想在中间增加转换模块,就需要直接发送HEX格式指令进行运动控制. 这个功能一开始一直没有实现,找了非常多国内论坛的资料,也没有好的解决办法,直到有一天谷歌出了一个国外论坛的网友给的方法,非常简单,三条指令搞定!现在列在下面: Str = 'FF55AACCDDEE00AA';     %字符串定义需要发送的十六进制内容 D = sscanf(St