精华内容
下载资源
问答
  • 格式字符串的形式为: % [输出最小宽度] [.精度] [长度] 类型例如,%d格式符表示 用十进制整形格式输出。%f表示用实型格式输出,%5.2f 格式表示输出宽度为5(包括小数点),并包含2位小数。常用的输出格式及含义如下:...

    格式字符串的形式为: % [输出最小宽度] [.精度] [长度] 类型

    例如,%d格式符表示 用十进制整形格式输出。%f表示用实型格式输出,%5.2f 格式表示输出宽度为5(包括小数点),并包含2位小数。常用的输出格式及含义如下:

    printf 函数文档

    函数概要:

    printf 函数用于打印格式化字符串到标准输出流。

    函数原型:

    #include ...int printf ( const char * format, ... );

    参数解析:

    1、format 参数

    format 参数是一个格式化字符串,由格式化占位符和普通字符组成。

    格式化占位符(以 % 开头)用于指明输出的参数值如何格式化。

    格式化占位符的语法如下:

    %[flags][width][.precision][length]specifier

    每一个格式化占位符均以 % 开始,以转换字符结束。

    specifier(转换字符,必选)的内容及含义如下:

    转换字符

    参数类型;转换结果

    c

    char;字符

    d

    int;有符号十进制整数

    i

    同上

    e

    double;以指数形式输出单、双精度浮点数(小写 e)

    E

    同上(大写 E)

    f

    double;以小数形式输出单、双精度浮点数

    g

    double;以 %f 或 %e 中较短的输出宽度输出单、双精度浮点数(指数显示小写 e)

    G

    同上(指数显示大写 E)

    o

    unsigned int;无符号八进制(无前导 0)

    s

    char *;字符串

    u

    int;无符号十进制

    x

    unsigned int;无符号十六进制(无前导 0x)

    X

    同上(无前导 0X)

    p

    void *;指针值

    n

    int *;存放已写字符的个数

    %

    不进行参数转换;% 自身

    注:如果 % 后边的字符不是转换字符,则其行为没有定义。

    flags(标志,可选)的内容即含义如下:

    标志

    含义

    -

    指定被转换的参数在其字段内左对齐(默认是右对齐)

    +

    指定在输出的数前面加上正负号

    空格

    如果第一个字符不是正负号,则在其前面加上一个空格

    0

    对于数值转换,当输出长度小于字段宽度时,添加前导 0 进行填充

    #

    指定另一种输出形式:

    1. 如果转换字符为 o,则第一个数字为 0

    2. 如果转换字符为 x 或 X,则指定在输出的非 0 值钱加 0x 或 0X

    3. 对于转换字符为 e、E、f、g 或 G 的情况,指定输出总是包含一个小数点。另外,对于转换字符为 g 或 G,还指定输出值尾部无意义的 0 将被保留

    注:flags 可同时出现多个,且无顺序要求。

    width(宽度,可选)是一个数值,用于指定最小字段的宽度

    转换后的参数输出宽度至少要达到这个数值。如果参数的字符数小于该数值,则在参数左边(如果 flags 设置为 -,要求左对齐的话则在右边)填充一些字符。填充字符通常为空格,但是如果 flags 设置为 0,则填充字符为数字 0。

    .precision(.精度,可选),通过点号(.)分隔字段的宽度和精度

    对于字符串,它指定打印的字符的最大个数

    对于整数,它指定打印的数字位数(必要时可加填充位 0 以达到宽度要求)

    对于转换字符为 e、E 或 f,它指定打印的小数点后的数字位数

    对于转换字符为 g 或 G,它指定打印的有效数字位数

    length(长度修饰符,可选)的值可以是 h、hh、l、ll 或 L

    hh 表示将相应的参数按 signed char 或 unsigned char 类型输出

    h 表示将相应的参数按 short 或 unsigned short 类型输出

    l 表示将相应的参数按 long 或 unsigned long 类型输出

    ll 表示将相应的参数按 long long 或 unsigned long long 类型输出

    L 表示将相应的参数按 long double 类型输出

    2、... 附加参数

    该参数的个数由格式化字符串决定。

    每个参数的值应当与前面格式化字符串中的占位符类型和位置一一对应。

    返回值:

    如果函数调用成功,返回值是实际打印的字符数(不包含表示字符串结束的 '\0');

    如果函数调用失败,返回值是一个负数。

    #include

    intmain()

    {int a = 520;char b = 'F';float c = 3.14;double d = 3.141592653;

    printf("鱼C工作室创办于2010年的%d\n", a);

    printf("I love %cishC.com!\n", b);

    printf("圆周率是:%.2f\n", c);

    printf("精确到小数点后9位的圆周率是:%11.9f\n", d);return 0;

    }

    鱼C工作室创办于2010年的520

    I love FishC.com!

    圆周率是:3.14

    精确到小数点后9位的圆周率是:3.141592653

    展开全文
  • c语言中的字符串

    2015-10-22 22:50:29
    一、C语言中的字符串 c语言中没有字符串类型 字符串实际就是多个字符连在一起,所有可以用字符数组来存放字符串。 但是使用字符数组输出时需要使用for循环 例如: 这样使用十分不方便,有没有一种简约的...
    一、C语言中的字符串
    c语言中没有字符串类型
    字符串实际就是多个字符连在一起,所有可以用字符数组来存放字符串。
    但是使用字符数组输出时需要使用for循环

    例如:


    这样使用十分不方便,有没有一种简约的方式,让我们一下子就能输出呢?
    有但是需要改两个地方!
            1.长度要+1
            2.末尾要加一个'\0'
    然后用 %s(格式化控制符)就可以输出了!
            %s输出:字符串的
    例如:


    比使用for循环简单多了。


    简单来说:
    字符串:把多个字符连在一起就叫字符串。但是在C语言中要正确正确描述字符串,必须说成:一串以'\0'结尾的字符集合
    例:
            char str[3] = {'a','b','c'};
            只能称之为字符数组,因为无法用%s正确输出
     
            char str[4] = {'a','b','c','\0'};
            才能称之为字符串,可以用%s正确输出


    字符串定义和赋值的方法
    a、用数组表示
            第一种:用多个字符赋值
                char 数组名[实际长度+1] = { 'a','b','c','\0' }; 
    如:char str[4] = {'a','b','c','\0'};
     
            第二种:
                char str[] = {'a','b','c','\0'};//省略长度
    如:char str[] = {'a','b','c','\0'};
            第三种:
                char  数组名[实际长度+1] = "字符串";
            例:  char str[4] = "abc";
                注意:这种方式不需要加\0,编译器自动帮我们加
     
            第四种:
                char  数组名[] =  "字符串";//省略长度
            例: char str[] = "abc";
                注意:这种方式不需要加\0,编译器自动帮我们加




    b、用指针表示


    char *指针变量名 = 字符串常量;
     
            例:  char *str = "abc";




    注意:数组表示法和指针表示法的区别:
     
                1.数组表示法可以改变里面的值,指针表示法不可以 


     指针表示法指向的是字符串常量,常量不可改变。


                2.数组表示法可以接收用户输入的值,指针表示法不可以
     同理:指针表示法指向的是字符串常量,常量不可改变。


                3.数组表示法不能用==来判断一个字符串另外一个字符串常量是否相等
                    ( 例:char str[]="abc"; if(str == "abc"))
                  指针表示法可以用==来判断一个字符串和另外一个字符串常量是否相等strcmp
                     (例:char *str = "abc";  if(str=="abc"))



     比较字符串一般使用字符串比较函数strcmp


    展开全文
  • C语言格式化输入输出函数详解一:格式输出函数printf()1、调用形式一般为:printf("格式化控制字符串",输出表列);2、格式化控制字符串用于指定输出格式,它有三种形式:1、格式说明符:规定了相应输出表列内容的...

    C语言格式化输入输出函数详解

    一:格式输出函数printf()

    1、调用形式一般为:printf("格式化控制字符串",输出表列);

    2、格式化控制字符串用于指定输出格式,它有三种形式:

    1、格式说明符:规定了相应输出表列内容的输出格式,以%打头,如%d、%o等

    2、转义字符:用来输出转义字符所代表的控制代码或者特殊字符,比如常用的‘\n'、‘\t'

    3、普通字符:需要原样输出的字符。

    3、输出表列为若干需要输出的数据项,它与格式说明符在数量和类型上一一对应;

    4、格式字符m指定输出数据所占宽度,n对实数表示输出n位小数,对字符串表示截取的字符个数,+表示右对齐,通常省略。

    —表示左对齐,l用于长整型数据,可加在d、o、x、u前,更多格式说明符及其组合形式如下所示:

    格式字符

    数据对象

    输出形式

    数据输出方法

    %(+)-md

    int

    unsigned int

    short

    unsigned short

    char

    十进制整数

    1、无m按实际位数输出

    2、有m输出m位;超过m位,按实际位数输出,不足补空格

    3、有+(默认为+)右对齐(左补空格)

    4、有-左对齐(右补空格)

    %(+)-mo

    八进制整数

    %(+)-mx

    十六进制整数

    %(+)-mu

    无符号整数

    %(+)-mld

    long

    unsigned long

    十进制整数

    %(+)-mlo

    八进制整数

    %(+)-mlx

    十六进制整数

    %(+)-mlu

    无符号整数

    %(+)-m.nf

    float

    double

    十进制小数

    %(+)-m.ne

    十进制指数

    %(+)-g

    自动选用%f和%e中较短的输出宽度输出单、双精度浮点数

    %(+)-mc

    char

    int

    short

    单个字符

    1、无m输出单个字符

    2、有m输出m位,补空格

    3、有+(默认为+)右对齐(左补空格)

    4、有-左对齐(右补空格)

    %(+)-m.ns

    字符串

    一串字符

    1.无m、n按实际字符串输出全部字符

    2、有m、n仅输出前n个字符,补空格

    3.有+(默认为+)右对齐(左补空格)

    4、有-左对齐(右补空格)

    二:格式输入函数scanf()

    1、 调用格式一般为:scanf("格式化控制字符串",地址表列);

    2、格式化控制字符串和printf()函数含义相似,所不同的是它是对输入格式进行控制;

    3、地址表列是有若干等待输入的数据所对应的内存单元地址组成,由逗号隔开,一般形式为&a,a为变量;

    4、地址表列在数量和类型上和格式化控制字符串中的格式说明符一一对应;

    5、格式字符h表示输入短型数据,可用在d、o、x前面,m指定输入数据所占宽度,

    *表示对应的数据项读入后不赋给相应的变量,更多格式说明符及其组合如下

    格式字符

    数据对象

    输入形式

    数据输入方法

    %md

    int

    short

    unsigned int

    unsigned short

    十进制整数

    1、无m按实际位数输入

    2、有m输入m位,不足m则跟回车键

    %mo

    八进制整数

    %mx

    十六进制整数

    %mld

    long

    unsigned long

    十进制整数

    %mlo

    八进制整数

    %mlx

    十六进制整数

    %mlf

    float

    double

    十进制整数

    %mle

    %mc

    char

    单个字符

    1、无m取单个字符

    2、有m输入m位,仅取第一个字符

    %ms

    字符串

    一串字符

    1、无m取回车或空格前若干字符

    2、有m仅取前m字符

    以上就是本文所述的全部内容了,希望大家能够喜欢。相关阅读:

    Win8光驱识别不了光盘怎么办?win8系统光驱无法识别光盘的解决方法

    JS对select控件option选项的增删改查示例代码

    Win10 10074商店的Metro应用怎么安装到别的盘?

    基于JavaScript实现定时跳转到指定页面

    javascript中if和switch,==和===详解

    Jquery中request和request.form和request.querystring的区别

    三种动态加载js的jquery实例代码另附去除js方法

    使用PHP静态变量当缓存的方法

    js删除局部变量的实现方法

    php修改NetBeans默认字体的大小

    随鼠标移动的时钟非常漂亮遗憾的是只支持IE

    win7/8怎么屏蔽win10正式版的安装包提示?

    Win7系统多余通知图标怎么设置?

    mssql 高效的分页存储过程分享

    展开全文
  • scanf():通过格式控制符%s输入字符串。 gets():直接输入字符串,并且只能输入字符串。 ** scanf()和gets()**的区别 scanf() 读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的...

    string的输入

    • scanf():通过格式控制符%s输入字符串。
    • gets():直接输入字符串,并且只能输入字符串。
      ** scanf()和gets()**的区别
      scanf() 读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。
      gets() 认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束。

    对string的访问

    • 利用char型指针对其访问。
    • 特殊的char型一维数组,将字符串中的字符作为数组中的元素进行访问。
    展开全文
  • C语言格式化输出printf()格式化输出详解本文来 自:http://www.kuqin.com/language/20080420/7060.htmlprintf的格式控制的完整格式:% - 0 m.n l或h 格式字符下面对组成格式说明的各项加以说明:①%:表示格式说明的...
  • C语言中的字符串函数

    2013-12-25 14:54:58
    1、sscanf() sscanf() - 从一个字符串中读进与指定格式相符的数据。 int sscanf( const char *, const char *, ...); int sscanf(const char *buffer,const char *format,[argument ].....format格式控制字符串
  • c语言printf打印字符串颜色

    千次阅读 2017-02-28 17:38:42
    Linux下printf输出字符串的颜色 基本打印格式: printf("\033[字背景颜色;字体颜色m字符串\033[0m" ); printf("\033[41;32m字体背景是红色,字是绿色\033[0m\n"); 41是字背景颜色, 32是字体的颜色, 字体背景...
  • 2.1、U格式控制字符与f格式控制字符 2.2、C格式控制字符与S格式控制字符 2.3、O格式控制字符与X格式控制字符 3、字符输出函数 4、字符串的输入输出 4.1、字符串输出函数puts() ​ 4.2、字符出输入函数gets() ...
  • c语言格式控制和转义字符

    千次阅读 2017-03-16 18:28:17
    目前printf支持以下格式: %c 单个字符 %d 十进制整数 %f 十进制浮点数 %o 八进制数 %s 字符串 %u 无符号十进制数 %x 十六进制数 %% 输出百分号% 显示2进制的方法: 用函数:itoa(a,temp,2) /*temp 为存放的2进制的...
  • C++string的输出格式控制 输出一个字符串:左对齐,字宽为10,空格填充 [cpp] view plain copy string s;  cin>>s;  cout'*') 输入:love 输出效果:love****** C++string字符流字符分割...
  • C语言中,有多个函数可以从键盘获得用户输入: scanf():和 printf() 类似,...利用格式控制符来输入字符和字符串,单个字符—%c,字符串—%s #include <stdio.h> int main() { char letter; char url[30];
  • } // C语言 格式控制特别厉害!!!!!! 下面是输出 小时 //如果是0~9 则前面补零;如果是‘A’-‘N’则 减去‘A’=10之后再加10 printf("%02d", a[i][i]-'0' : a[i]-'A'+10 ); //遍历后两个字符串 int j=0; ...
  • C语言字符串处理

    2020-10-15 17:10:09
    (1)scanf(格式控制字符串,输入参数表) 输入方式:键盘输入。 输入格式:格式控制字符串为“%s”,输入参数表必须是字符数组名。 结束方式:遇回车或者空格结束,并自动将‘\0’送入数组。 (2)printf(格式控制...
  • 对于格式化数据的处理首先想到的利器就是awk了,它尤其胜任文本的处理,逐行读取文本文件,按照指定的分隔符处理拆分的字符串,它还能为文本处理加入控制运算逻辑,功能强大到已经是一门复杂的编程语言了。...
  • (2)printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还能输出其他类型的数据。 在C语言中,有两个函数可以让用户从键盘上输入字符串,它们分别是: (1)scanf():通过格式控制符%s输入...
  • C语言格式控制

    2019-10-04 13:56:01
    %d 整型格式控制符 %f 浮点型(单精度)格式控制符 %i 整型格式控制符,和%d完全一样 ...%s 字符串格式控制符 %lf 双精度格式控制符 %e 指数形式输出格式控制符 %o 无符号八进制数格式控制符 %x 无符号十六...
  • C语言-字符串

    2021-05-14 22:00:07
    字符串(用" "括起来的字符): ...printf最重要的输出函数:printf(格式控制串,[输出参数1],[输出参数2],[…]); // %d 用于输出整数 int short // %ld 输出长整形 long // %f 输出 浮点型 // %lf
  • C语言中,可以使用“scanf(“格式控制字符串”,变量内存地址)”语句输入字符串。scanf()函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式说明符解析输入对应位置的信息并存储于可变参数列表中对应的...
  • c语言格式化输出控制长度今天在实现ls命令的时候,输出的文件名是上下对齐:1 2 a.c b crawler text 公共的 视频 文档 音乐1.c 2.c a.out b.c git win 模板 图片 下载 桌面便想着实现对齐,想到了c的格式化输出:printf...
  • 输出与输入格式控制 输出格式控制 输出格式:printf( % [flag] [width] [precision] [hIL] type) [hIL] #include<stdio.h> int main() { printf("sizeof(char)=%ld\n",sizeof(char)); //sizeof(char)=1 =...
  • C语言处理字符串函数总结

    万次阅读 多人点赞 2019-05-07 11:58:46
    ))和printf(格式控制,输出表列)gets(字符数组)和puts(字符数组)注意:2、字符串连接函数:strcat(字符数组1,字符数组2)注意:3、字符串复制函数:strcpy(字符数组1,字符数串2或者字符数组名)strncpy(字符数组1,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 933
精华内容 373
关键字:

c语言格式控制字符串

c语言 订阅