常用的数据输入和输出函数

常用的数据输入和输出函数

注:本文为学习《C语言从入门到精通》时,对部分章节的总结

1、语句

C语言的语句用来 向计算机系统发出操作指令。一条语句经过编译后,会产生若干条机器指令

声明部分不能算作语句。例如,“int a”,就不是一条语句,因为不产生机器的操作,只是对变量提前进行了定义。

2、字符数据输入和输出

2.1、字符数据输出

输出字符数据使用的是putchar函数,作用是向显示设备输出一个字符。

int putchar(int ch);

头文件为stdio.h。参数ch为要进行输出的字符,可以是字符型变量或整型变量,也可以是常量。

如:输出字符A:putchar(‘A’);

    输出转义字符A:putchar(‘\101’);

2.2、字符数据输入

字符数据输入使用getchar函数,作用是从终端(输入设备)输入一个字符。

int getchar();

头文件为stdio.h。

int a = getchar();

3、字符串输入和输出

3.1、字符串输出函数

字符串输出使用puts函数,作用是输出一个字符串到屏幕上。

int puts(char *str);

头文件为stdio.h。

puts(“I LOVE CHINA!”); // 输出I LOVE CHINA!,然后自动换行

输出字符串,然后自动换行。与printf函数不同,puts函数会在字符串中判断“\0”结束符,遇到后,后面的字符不再输出,并且自动换行。

如:puts(“I LOVE\0 CHINA!”); // I LOVE,然后自动换行

3.2、字符串输入函数

字符串输入使用的是gets函数,作用是将读取的字符串保存在形式参数str变量中,读取过程直到出现新的一行为止。其中新一行的换行字符将会转换为空终止符“\0”。

char *gets(char *str);

头文件stdio.h。

4、格式输出函数

表4.1 printf函数的格式字符

格式字符

功能说明

d,i

以带符号的十进制形式输出整数(整数不输出符号)

o

以八进制无符号形式输出整数

x,X

以十六进制无符号形式输出整数。用x输出十六进制数的a~f时,以小写形式输出;用X时,则以大写字符输出

u

以无符号十进制形式输出整数

c

以字符形式输出,只输出一个字符

s

输出字符串

f

一小数形式输出

e,E

以指数型数输出实数,用e时指数以e表示,用E时指数以E表示

g,G

选用“%f”或“%e”格式中输出宽度较短的一种格式,不输出无意义的0.若以指数形式输出,则指数以大写表示

字母l

用于长整型整数,可加在格式字符d、o、x、u前面

m(代表一个整数)

数据最小宽度

n(代表一个整数)

对实数,表示输出n位小数;对字符串,表示截取的字符个数

-

输出的数字或字符在域内向左靠拢

printf函数的作用是向终端(输出设备)输出若干任意类型的数据。

printf(格式控制,输出列表);

printf(“%-m.ns”,…);

八进制用“%#o”可以打印出前导0;

十六进制用“%#x”或“#X%”可以打印出前导0x或0ZX

int a = 12;
printf("[%o %#o]\n", a, a); //打印 [14 014]
printf("[%x %X %#x %#X]\n", a, a, a, a); //打印 [c C 0xc 0XC]

4.1、格式控制

格式控制是用双引号括起来的字符串,也称为控制字符串。其中包括格式字符和普通字符。

  1. 格式字符用来进行格式说明,作用是将输出的数据转换为制定的格式,通常以“%”字符开头
  2. 普通字符是需要原样输出的字符,包括双引号中的逗号、空格和换行符

4.2、输出列表

输出列表中列出的是要进行输出的一些数据,可以使变量或表达式。

5、格式输入函数

格式输入函数scanf。功能是指定固定的格式,并且按指定的格式接受输入的数据,最后将数据存储在指定的变量中。

scanf(格式控制,地址列表);

表5.1 scanf函数的格式字符

格式字符

功能说明

d,i

用来输入有符号的十进制整数

u

用来输入无符号的十进制整数

o

用来输入无符号的八进制整数

x,X

用来输入无符号的十六进制整数(大小写作用相同)

c

用来输入单个字符

s

用来输入字符串

f

用来输入实行,可以用小数形式或指数形式输入

e,E,g,G

与f作用相同,e与f、g之间可以相互替换(大小写相同)

l

用于输入长整型数据(可用于“%ld”“%lo”“%lx”“%lu”)以及double型数据(“%lf”或“%le”)

h

用于输入短整型数据(可用于“%hd”“%ho”“%hx”)

n

指定输入数据所占的宽度

*

表示指定的输入项在读入后不赋给相应的变量

格式字符“%s”用来输入字符串。将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结束。字符串以串结束标志“\0”作为最后一个字符。

scanf函数使用空白字符分割输入的数据,空白字符包括空格、换行、制表符(tab)。

5.1、格式控制

与printf函数相同。

5.2、地址列表

一定要使用变量的地址,而不是变量的标识符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值