1.占位符

  1. %c 单个字符
  2. %d 十进制整数(int)
  3. %ld 十进制整数(long)
  4. %f 十进制浮点数(float)
  5. %lf 十进制浮点数(double)
  6. %o 八进制数,不会输出负的
  7. %s 字符串(char*)
  8. %u 无符号十进制数(DWORD)
  9. %x 十六进制数(0x00000)
  10. %p表示输出这个指针
  11. %u表示无符号10进制整型
  12. %lu表示输出无符号长整型整数 (long unsigned)
  13. %e以指数形式输出单、双精度实数

2.精度控制

精度格式符以 “.” 开头,后跟十进制整数。意义是:如果输出数字,则表示小数的位数;如果输出的是字符, 则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

  • 结果左对齐,右边填空格

  • 输出符号 (正号或负号) 空格输出值为正时冠以空格,为负时冠以负号
    如: ```c double c=24212345.24232; printf(“%020.4”); 表示输出精确到小数点后4位,输出占20位,若有空余的位补0.

//小数点后保留两位 printf(“%.2f\n”,res); //小数点后保留三位,有效位部分6位(不够的话会用空格左补齐) printf(“%6.3f\n”,res);

  1. ![](https://cdn.nlark.com/yuque/0/2021/png/812258/1631936003284-6e0a8281-ed35-4dd3-bb90-9893c2a0b37b.png#from=url&height=369&id=M0eM9&margin=%5Bobject%20Object%5D&originHeight=260&originWidth=593&originalType=binary&ratio=1&status=done&style=none&width=840.9971313476562)
  2. <a name="RIIDj"></a>
  3. # 3.C 语言输入输出
  4. <a name="PXFTB"></a>
  5. ## <br />①输入<br /><br />
  6. ```c
  7. int n;
  8. while(scanf("%d", &n) != EOF)//读取数字 新标准只能用 scanf_s //while(scanf_s(n,100))
  9. scanf("%[^\n]", a);//%[^××]:遇到××才停止读取:
  10. scanf("%[abc]", a);//%[××]:只读入××内容,注意此时键盘输入的只能是××内容。
  11. scanf("%7s", string);//只读前7位后面我不要了
  12. while ((c = getchar()) != EOF)//读取字符 回车键
  13. char line[1024];
  14. while(gets(line)) //读取一行 新标准只能用 gets_s //while(gets_s(line,1024))
  15. int a,b;
  16. while(scanf("%d%d",&a,&b)&&(!(a==0&&b==0)))
  17. {
  18. printf("%d\n",a+b);
  19. }

②输出

  1. printf("a=%d,b=%f,c=%c\n",a,b,c);

4.逃逸字符

  1. \t 的意思是 :水平制表符。将当前位置移到下一个tab位置。
  2. \r 的意思是: 回车。将当前位置移到本行的开头。
  3. \n 的意思是:回车换行。将当前位置移到下一行的开头。
  4. \f的意思是:换页。将当前位置移到下一页的开头。

5.头文件

stdio.h 定义Kernighan和Ritchie在Unix System V 中定义的标准和扩展的类型和宏。还定义标准I/O 预定义流:stdin,stdout和stderr,说明 I/O流子程序。
stdlib.h 说明一些常用的子程序:转换子程序、搜索/ 排序子程序等。//malloc 在里面
math.h 说明数学运算函数,还定了 HUGE VAL 宏, 说明了matherr和matherr子程序用到的特殊结构。
string.h 说明一些串操作和内存操作函数。