zoukankan      html  css  js  c++  java
  • 快速复习C语言

    格式化输入输出函数

    printf()

    函数原型声明:int printf(const char *format, ...);

    其中 format 用法:%[修饰符]输出格式字符

    标准输出格式字符表:

    格式字符 说明
    di 十进制整数
    xX 十六进制无符号整数
    o 八进制无符号整数
    u 无符号十进制整数
    c 单一字符
    s 字符串
    eE 指数形式浮点小数
    f 小数形式浮点小数
    g 自动选择 ef 结果中较短的一种,且只保留有效数字
    %% 输出百分号本身

    Example:

    int num = 2233;
    printf("DEC: num = %d
    HEX: num = %x
    OCT: num = %o
    ", num, num, num);
    char ch = 120;
    printf("Char: ch = %c
    Str: %s
    ", ch, "ArchLinux");
    float bi = 22.33;
    printf("%%e: bi = %e
    %%f: bi = %f
    %%g: bi = %g
    ", bi, bi, bi);
    

    上述代码输出结果:

    DEC: num = 2233
    HEX: num = 8b9 
    OCT: num = 4271
    Char: ch = x
    Str: ArchLinux        
    %e: bi = 2.233000e+001
    %f: bi = 22.330000
    %g: bi = 22.33
    

    修饰符表

    修饰符 功能
    m 设置输出数据域宽,若数据长度 < m 左补空格,否则按实际输出
    .n 对于实数,指定小数点后位数(四舍五入);
    对于字符串,指定实际输出位数
    - 输出的数据在域内左对齐(不加此修饰符则默认为右对齐)
    + 指定在有符号数的正数前显示正号
    0 用于补齐的空格替换成 0
    # 在八进制数和十六进制数前显示前导 00x
    l d, o, x, u 前,指定输出精度为 long 型
    e, f, g 前,指定输出精度为 double 型

    为防止数据溢出,可以在常量数据后面添加字母来指定数据类型,比如 12L 表示 long 类型的 12

    宏定义一年的秒数,这个数肯定很大,防止溢出,可以写作:

    #define SEC_YEAR (60LL*60LL*24LL*365LL)
    

    下列语句可以输出该语句所在的函数以及在文件中的行号:

    printf("[%s:%d]
    ", __FUNCTION__, __LINE__);
    

    scanf()

    函数原型声明:int scanf(const char *format, ...);

    scanf() 接收字符串要注意不能有空格。字符串相关操作最好使用专门的字符串函数。

    scanf() 返回值:返回正确接收到的数据个数。Upon successful return, these functions return the number of characters printed (not including the trailing '' used to end output to strings).

    当多个输入放在一起用时,可能会出现意想不到的结果,比如:

    scanf("%d", &i);
    scanf("%c", &ch);
    printf("i = %d, ch = %d
    ", i, ch);		// ch = 10, ASCII 10 = LF
    

    当输入 i 的值按回车之后,所有的输入都结束了,ch 输出为 10,这是因为 ch 获得了换行符,换行符的 ASCII 码为 10。可以用抑制符解决这个问题:

    scanf("%d", &i);
    scanf("%*c%c", &ch);
    
  • 相关阅读:
    cookie secure属性 导致setcookie失败-test
    vim 常用操作总结(持续更新)-test
    网页重定向(外部重定向和内部重定向)-test
    pat 1002 A+B for polynomials (第二个测试点一直无法通过,最后解决)-test
    pat 1001 A+B Format-test
    验证码无法显示的其中一种原因-test
    str_replace替换换行符失败原因-test
    .net/C#语言web项目内新增js或css文件调用不到,url报错404
    在W10系统中配置Java环境变量后,cmd命令提示符找不到java
    JS使用知识点理解
  • 原文地址:https://www.cnblogs.com/muyisir/p/13080889.html
Copyright © 2011-2022 走看看