一、字符输出函数
- 格式:putchar(c)
- 参数:c为字符常量、变量或表达式
- 功能:把字符c输出到显示器上
- 返值:正常,为显示的代码值;
#include <stdio.h> main(int argc, const char *argv[]) { int a; char c; a = 65; c = 'C'; putchar(a); putchar('\n'); putchar(c); } //运行结果为: A C
二、格式输出函数
- 格式:printf("格式控制串",输出表)
- 输出表:要输出的数据
- 格式控制串:
- 格式说明:%[修饰符]格式字符,用于指定输出格式
- 普通字符:原样输出
格式字符 格式符 作用 i,d 十进制整数
x,X 十六进制无符号整数 o 八进制无符号整数 u 无符号十进制整数 c 单一字符 s 字符串 e,E 指数形式浮点数 f 小数形式浮点数 g e和f中较短的一种 %% 百分号本身 附加格式说明符 修饰符 功能 m 输出数据域宽,数据长度 <m,左补空格;否则按实际输出 .n 对实数,指定小数点后位数(四舍五入)
对字符串,指定实际输出位数
- 输出数据在域内左对齐 + 指定在有符号数的整数前显示正号(+) 0 输出数值时指定左面不使用的空位自动补0 # 在八进制和十六进制数前显示前导0,0x | 在d,o,x,u前,指定输出精度为long型 | 在e,f,g前,指定输出精度为double型
三、字符输入函数
- 字符输入函数getchar
- 格式:getchar()
- 功能:从键盘读一字符
- 正常返回读取的代码值;出错或结束键盘输入返回-1
#include <stdio.h> int main() { int c; printf("Enter a character:"); c = getchar(); printf("%c->%d->hex%x\n",c,c,c); } //运行结果: Enter a character:A A->65->hex41
四、格式输入函数
- 格式:scanf("格式控制串",地址表)
- 功能:按指定格式从键盘读入数据,存入地址表
- 存储单元中,并按返回键结束
- 返值:返回输入数据个数
- 遇空格、TAB、或回车,遇非法输入,遇宽度结束时改数据结束
- 地址表:变量地址,用取地址符号&
格式字符 格式符号 作用 i,d 十进制整数 x,X
十六进制无符号整数 o 八进制无符号整数 u 无符号十进制整数 c 单一字符 s 字符串 e 指数形式浮点小数 f 小数形式浮点小数 附加格式说明符 修饰符 功能 h 用于d,o,x前,指定输入为short型整数 | 用于d,o,x前,指定输入为long型整数
用于e,f前,指定输入为double型实数
m 指定输入数据宽度,与空格或不可转换字符结束 * 抑制符,指定输入项读入不赋给变量
五、输入函数留下"垃圾"解决方法
- 用getchar()清除
- 使用格式串中的空格或"%*c"来"吃掉"
int x; char ch; scanf("%d",&x); scanf(" %c",&ch); scanf("%*c%c",&ch);
六、字符串输入函数
- 字符串输入函数gets
- 格式:char* gets(char *s)
- 功能:从键盘输入以回车结束的字符串放入字符数组中,并自动加 '\0'
- 说明1:输入的长度要小于字符数组维数
- 说明2:gets函数不可以空格作为字符串输入结束的标志
#include <stdio.h> int main () { char str[10]; printf("INPUT A STRING:"); get(str); printf("%s\n",str); return 0; }
七、字符串输出函数
- 字符串输出函数puts
- 格式:int puts(const char *s)
- 功能:向显示器输出字符串(输出完,换行)
- 说明:字符数组必须以 '\0' 结束
#include <stdio.h>
int main()
{
char str[50] = "Hello C!";
puts(str);
return 0;
}
//输出
Hello C!