Linux C语言学习---输入输出

1.字符输出函数putchar

头文件:stdio.h

函数原型:int putchar(int c)

函数参数:c为字符常量或表达式

函数返回值:输出的字符

函数功能:在标准输出上显示一个字符

示例代码如下:

#include <stdio.h>

   

int main()

{

    int a = 65;

    int b = ‘B’;

   

    putchar(a);

    putchar(\);

    putchar(b);

return 0;

}

程序执行结果如下:

A

B

这里需要说明的是,在C标准中putchar函数的参数和返回值都是整型,也就是说是以字符对应的ASCII码的形式传参或返回。所以在上面例子中在参数传入65的时候打印出了ASCII码为65的对应字符A。

2.格式化输出函数printf

    putchar函数只能在终端输出一个字符型的数据,如果期望在终端按照指定的格式输出若干个数据,且为任意类型,可以用printf函数。

头文件:stdio.h

函数原型:int printf (const char *format, …)

函数参数:format指定输出格式,后面跟要输出的变量,为不定参,用“…”代表。

函数返回值:成功返回输出的字节数,失败返回-1(EOF)。

函数功能:格式化字符串输出

表一 printf支持的格式:

格式符

作用

格式符

作用

i,d

十进制整数

s

字符串

X,x

十六进制无符号整数

E,e

指数形式浮点小数

o

八进制无符号整数

f

小数形式浮点小数

u

无符号十进制整数

g

e和f中较短的一种

c

单个字符

%

百分号本身

表二 printf支持的格式的修饰符:

修饰符

功能

m

输出数据与域宽,数据长度<m,左补空格;否则按实际输出

.n

对实数,指定小数点后位数(四舍五入)

对字符串,指定实际输出位数

-

输出区域在域内左对齐(缺省右对齐)

+

指定在有符号数的正数前显示+号

0

输出数值时指定左边不使用的空位自动填0

#

在八进制和十六进制数前显示前导0,0x

l

在d,o,x,u前,指定输出精度为long型

在e,f,g前,指定输出精度为double型

表三 常用转义字符

转义符

功能

\b

退格,将当前位置移到前一列

\n

换行,将当前位置移到下一行开头

\t

水平制表(跳到下一个TAB位置)

\r

回车,将当前位置移到本行开头

\”

代表一个双引号字符

\\

代表一个反斜杠字符

示例代码如下:

#include <stdio.h>

int main()

{

    int a = 1234;

    float f =  123.478;

    char ch = ‘a’;

    char s[] = “Hello world!”

    printf(“%8d,%2d\n”,a,a);

    printf(“%f,%8f,%8.1f,%.2f\n”,f,f,f,f);

    printf(“%3c\n”,c);

    printf(“%s\n%15s\n%10.5s\n,%2.5s\n”,s,s,s,s);

    return 0;

}

程序执行结果如下:

    1234,1234

123.478000,123.478000, 123.5,123.48

 a

Hello world!

    Heloo world!

       Hello

Hello

Hel

3.字符输入函数 getchar

头文件:stdio.h

函数原型:int getchar(void)

函数参数:无

函数返回值:成功返回读到的字符,失败或读到结束符返回EOF(-1)

函数功能:在键盘上读一个字符

提到字符型数据,就必须要熟悉ASCII表。getchar函数的返回值的含义是存储从键盘上读取的字符,返回值的类型是int,很多人不理解,认为返回值应该是char类型。实际上这里的返回值是字符相对应的ASCII码,在计算机中的字符是以ASCII码的形式处理的,每一个字符都有对应的ASCII码值。

    示例代码如下:

#include <stdio.h>

int main()

{

    int ch;

    printf(“entrn a character:”);

    while((ch = getcahr()!= EOF))

           printf(“%c --->#x\n”,ch,ch);

    printf(“end main\n”);

    return 0;

}

    程序执行结果如下:

Enter a character:a

a--->0x61

--->0xa;

b

b--->0x62

--->0xa

end main

    可以看出,输入字符a时,第一次getcahr函数读到了字符a,第二次getcahr函数读到\n。按ctrl+d键,getcahr函数返回EOF,输入结束,程序退出。

4.格式化输入函数scanf

如果期望读到若干个数据,且为任意类型,可以用scanf函数。

头文件:stdio.h

函数原型:int scanf (const char *format, …)

函数参数:format指定输入格式,后面跟要输入的变量的地址表,为不定参,用”…”代表。

函数返回值:成功返回输入的变量的个数,失败返回-1(EOF)。

函数功能:按指定格式从键盘读入数据,存入地址表指定存储单元中,并按回车键结束。

表四 scanf函数支持的格式说明符:

i,d

十进制整数

c

单一字符

X,x

十六进制无符号整数

s

字符串

o

八进制无符号整数

e

指数形式浮点小数

u

无符号十进制整数

f

小数形式浮点小数

表五 scanf函数支持的格式说明符的修饰符:

修饰符

功能

h

用于d,o,x前,指定输入为short整型

l

用于d,o,x前,指定输入为long型整型

用于e,f前,指定输入为double型实数

m

指定输入数据宽度,遇空格或不可转换字符结束

*

抑制符,指定输入项读入后不赋值给变量

5.字符串输入

头文件:stdio.h

函数原型:char *gets(char *s)

功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加’\0’

参数:s为字符数组,存储输入的字符串

返回值:成功返回字符数组的起始地址,失败或输入结束返回NULL。

6.字符串输出

头文件:stdio.h

函数原型:int puts(const char *s)

功能:在标准输出上显示字符串s

参数:s为需要输出的字符串。

返回值:成功返回一个非0的数字;失败返回-1或EOF。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱永不消散

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值