C语言学习笔记(4)——数据输入输出

本文详细介绍了C语言中的基本输入输出函数,包括printf()和scanf()的使用方法,以及字符输入输出函数getchar()和putchar()。printf()函数用于格式化输出数据,支持%d、%f、%c等格式控制符,而scanf()函数则用于格式化从键盘输入数据。同时,文章还提及了字符输入输出的细节,如getchar()函数读取单个字符,putchar()函数输出字符。
摘要由CSDN通过智能技术生成

目录

4.1 用printf()函数输出数据

4.1.1 printf()函数的一般格式

4.1.2 说明

4.2 用scanf()函数输入数据

4.2.1 scanf()函数的一般格式

4.2.2 说明

4.3 输入输出字符型数据

4.3.1 使用函数getchar()和putchar()输入输出字符型数据

4.3.2 使用函数scanf()和printf()输入输出字符型数据


C语言通过函数实现数据的输入输出功能,并为此提供了多种多样的输入与输出函数,例如,由键盘输入数据函数、由显示器输出数据函数、磁盘文件读写函数、硬件端口数据读写函数等。本节介绍其中最基本的输入输出函数,即格式化输出函数printf()、格式化输入函数scanf()、字符输入函数getchar()以及字符输出函数putchar()【这四种输入输出函数均为标准库函数,对应头文件为stdio.h】

4.1 用printf()函数输出数据

使用printf()函数实现数据输出是C语言程序最基本的数据输出方式,也是C语言程序设计的最基础内容。

4.1.1 printf()函数的一般格式

printf()函数是C语言的格式化输出函数,用于向标准输出设备(通常为显示器)按规定格式输出信息,是程序中使用最多的标准函数之一。printf()函数的一般格式为:printf("格式控制字符串",表达式表)

4.1.2 说明

(1)“表达式表”是要输出的一系列表达式,当有多个表达式时,各表达式之间用“,”分隔。

(2)"格式控制字符串"用于描述所输出信息的格式,它包括两类内容:①以%开始的格式控制符,它规定要输出数据的类型及其格式;②普通字符或转义字符,普通字符按原样输出,转义字符输出的是其转义否后的结果。printf()函数的格式控制符及其功能见表1,printf()函数的转义字符及其功能见表2。

        printf()函数被执行后,其输出结果的形式完全由“格式控制字符串”决定,计算机按照“格式控制字符串”中的控制序列由前到后形成输出结果。输出结果时,若遇非格式控制符,则将该字符输出;若遇格式控制符,则按顺序在“表达式表”中找到对应的表达式,并按照格式控制符规定的格式,将表达式的计算结果输出在该格式符所在的位置上。“格式控制字符串”中的格式控制符与“表达式表”的表达式按照位置一一对应, 即第一个格式控制符使用第一个表达式, 第二个格式控制符使用第二个表达式,以此类推。

表1 printf()函数的格式控制符及其功能
格式控制符功能是否常用
%d输出一个int型数据
%f输出一个float型数据
%c输出一个char型数据
%ld输出一个long int型数据
%s输出一个字符串
%u输出一个十进制无符号整数
%e输出一个指数形式的浮点数
%x或%X输出一个以十六进制表示的无符号整数
%O输出一个以八进制表示的无符号整数
%g自动选择%f或者%e格式中输出宽度较短的一种形式
表2 printf()函数的转义字符及其功能
字符形式功能是否常用
\n换行,将当前位置移到下一行开头
\t水平跳格,跳到下一个Tab位置一般
\b退格,将当前位置移到前一列
\r回车,将当前位置移到本行开头
\\反斜杠字符“\”
\'单引号字符'
\"双引号字符"
\ddd八进制数表示的对应ASCII码字符一般
\xhh十六进制数表示的对应ASCII码字符一般

(3)被输出的表达式的个数,必须与“格式控制字符串”中格式控制符的个数相同,且顺序要与格式串中要求输出的内容对应一致,否则会产生意想不到的错误。

(4)可以在格式控制字符“%”和其他符号之间插入数字,以限定输出项的域宽(指定输出项所占用的列数)。当输出数据的实际位数超过域宽定义时,按实际位数输出。使用%f格式符时,如果不限制小数位数,则输出数据的小数位数由系统的默认值设置确定。

        %3d表示输出一个整数,域宽为3,当输出的整数不足3位时,按右对齐显示。

        %05d表示输出一个整数,域宽为5,当输出的整数不足5位时,在高位用0补充。

        %9.2f表示输出一个实数,域宽为9,保留2位小数,整体长度不足9位时,按右对齐显示。

        %8s表示输出一个字符串,域宽为8,不足8位时,按右对齐显示。

4.2 用scanf()函数输入数据

4.2.1 scanf()函数的一般格式

scanf()函数是C语言的格式化输入函数,它要求从标准输入设备(键盘)为变量输入数据,也是程序中使用最多的标准函数之一。printf()函数的一般格式为:scanf("格式控制字符串",变量地址表)

4.2.2 说明

(1)"格式控制字符串"用于说明输入数据的类型和数据格式,所用的格式控制符与printf()函数相同。

(2)“变量地址表”是接收数据的变量地址,当有多个变量地址时,各变量地址之间用“,”分隔。当接收数据的变量是简单变量时,变量地址的表示形式:&简单变量名。其中,&是取变量地址运算符,当需要为变量输入数据时,必须使用它的地址形式。

(3)“格式控制字符串”中格式控制符的个数必须与变量的个数一致。

(4)“格式控制字符串”中的格式控制符,允许使用其他符号分隔,常使用的分隔符为逗号“,”分隔符。当无任何分隔符时,输入的各个数据之间可以使用空格符分隔,也可以使用回车符(按Enter键)分隔;当使用逗号分隔符时,输入的各个数据之间也必须使用逗号分隔。

4.3 输入输出字符型数据

4.3.1 使用函数getchar()和putchar()输入输出字符型数据

(1)用getchar()函数输入字符

        getchar()函数的功能是从键盘输入的字符串中读入一个字符,其调用格式:getchar()

        从键盘输入的字符存储在键盘输入缓冲区中,执行getchar()函数时,若该缓冲区有末读字符时,当前字符即是getchar()函数的值。当键盘缓冲区无可读字符时,getchar()函数请求输入数据,计算机进入等待状态,直到从键盘输入字符串并按Enter键后,getchar()函数读取输入字符串中的第一个字符为函数值。此时若再一次执行 getchar(), 则getchar()读取输入字符串中的第二个字符为函数值。

(2)用putchar()函数输出字符

        putchar()函数的功能是向标准输出设备输出一个字符。其调用格式:putchar (ch)

        ch为一个字符变量名或字符常量,putchar (ch)函数被执行后,即将ch的值输出。

4.3.2 使用函数scanf()和printf()输入输出字符型数据

使用格式化输入输出函数scanf()、printf()和格式控制符“%c”也可以实现字符型数据的输入输出。

        char ch;        //定义字符型变量ch

        scanf("%c",&ch);        //使用scanf()函数输入字符数据

        printf("%c\n",ch);        //使用printf()函数输出字符数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

呆毛小叮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值