☰
C语言:输入输出
2026/10/27 1:53:32 网站建设 项目流程

由于这节内容的讲述会涉及函数,那就简单了解一下函数的三要素:功能、参数、返回值

1. 按字符输入输出

1.1 按字符输出 putchar

int putchar(int c); 功能:向终端输出一个字符 参数:c:要输出字符的ASCII值 返回值:要输出字符的ASCII值。当输出错误的时候,返回 EOF(End of file)文件结束符分
// 简单示范一下 int a = 98; putchar('a'); // a putchar(97); // a putchar(10); // 换行 putchar(a); // b a = 10; putchar(a); // 换行 putchar('a' - 32); // A putchar(10); // 换行

1.2 按字符输出 getchar

int getchar(void); 功能:从终端输入一个字符 参数:无 返回值:输入字符的ASCII值。如果到达文件末尾或发生读错误,则返回 EOF。

练习:用putchar、getchar实现大写字母转换成小写字母

int a; a = getchar(); putchar(a + 32);

2. 按格式输入输出

2.1 按格式输出 printf

查看手册用man 3 printf://这里的3是查看第几版本的意思 int printf(const char *format, ...); 功能:按照指定格式向终端输出 参数:format:用双引号括起来的格式控制串和输出表。 返回值:输出字符的个数(不常用)

2.1.1 格式

printf("格式控制串", 输出表);
格式控制串:包含两种信息
1. 普通字符:原样输出
2. 格式说明:修饰符%后面加格式字符,用于按照指定格式输出。
输出表:按指定格式输出的数据(可以没有,多个时以' , ',分割)

例:int a = 1, b = 2; printf("a = %d b = %d\n", a, b);

格式字符:
%d int
%ld long
%c char
%f float
%lf double
%s 字符串
%e 指数
%#o 八进制
%#x 十六进制
%u 十进制无符号整数
%p 地址
%m.n的含义:
.n:对实数,指定小数点后位数(四舍五入)
对字符串,指定实际输出位数
m:位宽,输出的数据的域宽,数据长度<m左补空格,否则按实际输出。
- :左对齐,默认右对齐
0:输出值时指定左边不适用空位置自动填充0

2.2 按格式输入 scanf

int scanf(const char *format, ...); 功能:按格式从终端输入 参数:同printf 返回值:正确输入数据的个数。当第一个数输入格式不正确时,会直接返回0。

2.2.1 格式

scanf("格式控制串", 地址表);
地址表:变量的地址,常用取地址运算符&
格式字符同printf

2.2.2 输入分隔符的指定

一般以空格、TAB或回车作为中间的分隔符。
其他字符作为分隔符的:格式串中两个格式字符之间的字符
例如中间用空格隔开:输入的时候中间也必须输入空格才可以成功输入

int a, b; scanf("%d %d", &a, &b); printf("%d %d\n", a, b);

2.3 垃圾字符回收

1. getchar()
只能回收任意一个字符,一般用于循环里面。

char a; scanf("%c", &a); getchar(); //回收垃圾字符 printf("%c\n", a); scanf("%c", &a); printf("%c\n", a);

2. 通过空格回收
可以回收一个或多个空格、回车或者TAB

char a; scanf("%c", &a); printf("%c\n", a); scanf(" %c", &a); //前面加个空格,可以吃掉前面残留的分隔符 printf("%c\n", a);

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询