1.占位符
%c 单个字符%d 十进制整数(int)%ld 十进制整数(long)%f 十进制浮点数(float)%lf 十进制浮点数(double)%o 八进制数,不会输出负的%s 字符串(char*)%u 无符号十进制数(DWORD)%x 十六进制数(0x00000)%p表示输出这个指针%u表示无符号10进制整型%lu表示输出无符号长整型整数 (long unsigned)%e以指数形式输出单、双精度实数
2.精度控制
精度格式符以 “.” 开头,后跟十进制整数。意义是:如果输出数字,则表示小数的位数;如果输出的是字符, 则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
结果左对齐,右边填空格
输出符号 (正号或负号) 空格输出值为正时冠以空格,为负时冠以负号
如: ```c double c=24212345.24232; printf(“%020.4”); 表示输出精确到小数点后4位,输出占20位,若有空余的位补0.
//小数点后保留两位 printf(“%.2f\n”,res); //小数点后保留三位,有效位部分6位(不够的话会用空格左补齐) printf(“%6.3f\n”,res);
<a name="RIIDj"></a># 3.C 语言输入输出<a name="PXFTB"></a>## <br />①输入<br /><br />```cint n;while(scanf("%d", &n) != EOF)//读取数字 新标准只能用 scanf_s //while(scanf_s(n,100))scanf("%[^\n]", a);//%[^××]:遇到××才停止读取:scanf("%[abc]", a);//%[××]:只读入××内容,注意此时键盘输入的只能是××内容。scanf("%7s", string);//只读前7位后面我不要了while ((c = getchar()) != EOF)//读取字符 回车键char line[1024];while(gets(line)) //读取一行 新标准只能用 gets_s //while(gets_s(line,1024))int a,b;while(scanf("%d%d",&a,&b)&&(!(a==0&&b==0))){printf("%d\n",a+b);}
②输出
printf("a=%d,b=%f,c=%c\n",a,b,c);
4.逃逸字符
\t 的意思是 :水平制表符。将当前位置移到下一个tab位置。\r 的意思是: 回车。将当前位置移到本行的开头。\n 的意思是:回车换行。将当前位置移到下一行的开头。\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 | 说明一些串操作和内存操作函数。 |
|---|---|
