c_输入输出函数
输入函数和输出函数,统称为IO操作。
| 函数类型 | 函数原型 | 函数功能 | 函数参数 | 函数举例 |
| 格式化输入函数:scanf | scanf,其是单词scan和format的缩写。scanf的本质也是给变量赋值。 | |||
| 格式化输出函数:printf | int printf(const char *format, ...); | printf是典型的变参格式化输出函数。 |
format: %[修饰符]格式字符 |
|
| 字符输入函数:getchar | ||||
| 字符输出函数:putchar | ||||
| 字符串输入函数:gets | ||||
| 字符串输出函数:puts |
关于格式化输入输出函数中的格式字符和修饰符。
格式字符介绍:
| 格式字符 | 格式字符的意义 | 用法 |
| d | 以十进制形式输出带符号整数(正数不输出符号) |
%d 按照整型数据的实际长度输出。 %md m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出 |
| o | 以八进制形式输出无符号整数(不输出前缀0) | |
| x,X | 以十六进制形式输出无符号整数(不输出前缀Ox) | |
| u | 以十进制形式输出无符号整数 | |
| f | 以小数形式输出单、双精度实数 |
%f:不指定宽度,整数部分全部输出并输出6位小数。 %m.nf:输出共占m列,其中有n位小数,若数值宽度小于m左端补空格。 %-m.nf:输出共占m列,其中有n位小数,若数值宽度小于m右端补空格。 |
| e,E | 以指数形式输出单、双精度实数 |
%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。 %m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。 |
| g,G | 以%f或%e中较短的输出宽度输出单、双精度实数 | |
| c | 输出单个字符 | |
| s | 输出字符串 |
printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号) %ms:输出的字符串占m列,如果字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。 %-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。 %m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。 %-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。 |
修饰符介绍:
| 标 志 | 意义 | 用法 |
|---|---|---|
| - | 结果左对齐,右边填空格 | |
| + | 输出符号(正号或负号) | |
| 空格 | 输出值为正时冠以空格,为负时冠以负号 | |
| # | 对c、s、d、u类无影响; 对o类,在输出时加前缀o; 对x类,在输出时加前缀0x; 对e、g、f 类当结果有小数时才给出小数点。 |
|
| . | 精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。 | |
| 长度格式符为h、l两种,h表示按短整型量输出,l表示按长整型量输出。 | ||
| 用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。 |
关于对齐:


posted on 2021-02-12 15:24 XiaoXiaoli 阅读(98) 评论(0) 收藏 举报
浙公网安备 33010602011771号