学习Linux c最好用的工具就是man工具了,可以查看c库函数的原型、参数、返回值等详细信息。
1. putchar()函数
- 函数原型:int putchar(int c)
- 功能:向终端输出一个字符
- 参数c:整型(即字符的ascii) / 字符 / 整型表达式
- 返回值:输出的字符的ascii码值
2. getchar()函数
- 函数原型:int getchar();
- 功能:从终端输入一个字符
- 参数:无
- 返回值:返回的是输入的字符的ascii码值
3. printf()函数
- int printf(const char *format, ...);
- 功能:按指定格式向显示器输出数据
格式字符:%[+/-][m.n]d
m表示打印数据的列宽,如果m小于数据位宽,数据按实际输出,如果m大于数据位宽,在数据左边补空格。n代表小数的位数。+代表打印一个+号。- 代表左对齐,空格补在右边。
打印格式:
4. scanf()函数
- int scanf(const char * format, ...)
- 功能:从终端读取任意类型的数据
- 参数:format 格式控制字符串,%d %s %c....; ...地址符列表
- 返回值:成功读取数据的个数,出错返回EOF
回收垃圾字符:
scanf("%c%c%c", &a, &b, &c) ,当在终端输入a b c时,得到的是a=a, b= , c = b;作为分隔符的空格或者回车在这里其实是垃圾字符。
方法1: 加空格scanf("%c %c %c", &a, &b, &c) 可以匹配吃掉任意数量的空格,tab,回车键。
方法2: 加%*c scanf("%c%*c%c%*c%c", &a, &b, &c) 可以匹配吃掉一个空格、tab、回车键。
方法3: 在scanf("%c", &a)后面加上getchar函数可以回收垃圾字符。
5. gets()从终端读取一个字符串
- char *gets(char *s);
- 功能:从终端读取一个字符串
- 参数s: 缓存区的首地址.,用来保存读到的字符串的空间
- 返回值:成功返回缓冲区的首地址;失败,返回NULL
int buf[10] = {};
gets(buf);
注意:一般不建议使用gets,因为不检查目的地址的空间大小,容易发生越界。
6. puts() 向终端输出一个字符串
- char puts(const char *s);
- 功能:向终端输出一个字符串. 默认加换行符
- 参数:要输出的字符串的首地址
- 返回值:成功返回非负数,出错返回-1
用法:puts("hello world");