C语言----数据的输入输出

1.有关数据输入输出的概念

注意以下几点:

(1)所谓输入输出是以计算机主机为主体而言的。 从计算机向输出设备(如显示器、打印机等)输出数据称为输出,从输入设备(如键盘、光盘、扫描仪等)向计算机输入数据称为输入。

(2)C语言本身不提供输入输出语句。输入和输出操作是由C标准函数库中的函数来实现的。C语言函数库中有一批标准的输入输出函数,其中有putchar(输出字符)、getchar(输入字符)、printf(格式输出)、scanf(格式输入)、puts(输出字符串)、gets(输入字符串)。

(3)要在程序文件的开头用预处理指令#include把有关头文件放在本程序中。如:

#include<stdio.h> //其中stdio.h称为头文件

#include指令还有一种形式,如: #include"stdio.h"

2.printf函数输出数据

1.printf函数的一般格式

printf函数的一般格式为:printf(格式控制,输出表列)

(1)**"格式控制"**是用双撇号括起来的一个字符串,称为格式控制字符串,简称格式字符串。它包括两个信息:

格式声明 。格式声明由"%"和格式字符组成,如% d 、% f 等。它的作用是将输出的数据转换为指定的格式后输出。格式声明总是由"%"字符开始的。

普通字符。普通字符即需要在输出时原样输出的字符。

(2)输出表列是程序需要输出的一些数据,可以是常量、变量或表达式。

2.格式字符

(1)d格式符

用来输出一个有符号的十进制整数。

可以在格式声明中指定输出数据的域宽(所占的列数),如用"%5d",指定输出数据占5列,输出的数据显示在此五列区域的右侧。若输出long(长整型)数据,在格式符数据前加字母l(代表long),即"%ld"。若输出long long (双长整型)数据, 格式符d前加两个字母代表 ll(long long),即"%lld "。

(2)c格式符

用来输出一个字符。

一个整数如果在0-127范围里,也可以用"%c"使之按字符形式输出,在输出前,系统会将该整数作为ASCII码转换成相应的字符;如:

short a=121;

printf("%c",a);

输出字符y。

(3)s格式符

用来输出一个字符串。

(4)f格式符

用来输出实数(包括单、双精度,长双精度),以小数形式输出。

①基本类型,为%f。

②如果指定数据宽度和小数位数,用%m.nf

③输出的数据向左对齐,用%-m.nf。

(5)e格式符

用格式声明%e指定以指数形式输出实数。如果不指定输出数据所占的宽度和数字部分的小数位数,许多 C 编译系统(如 Visual C ++)会自动给出数字部分的小数位数为6位,指数部分占5列(如 e +002,其中" e "占1列,指数符号占1列,指数占3列)。数值按标准化指数形式输出(即小数点前必须有而且只有1位非零数字)。如:

printf("%e",123.456);

输出结果为:1.234560e+002。所输出的实数共占13列宽度(不同的系统规定略有不同)。

也可以用"%m.ne"形式声明。格式符e也可以写成大写模式E。

(6)其他格式符

①i格式符

作用与 d 格式符相同,按十进制整型数据的实际长度输出。一般习惯用% d 而少用% i 。

②o格式符

以八进制整数形式输出。将内存单元中的各位的值(0或1)按八进形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。

③x格式符

以十六进制数形式输出整数。同时也可以用"%lx"来输出长整型数,也可以指定字段的宽度。

④u格式符

用来输出无符号(unsigned)型数据,以十进制整数形式输出。

⑤g格式符

用来输出浮点数,系统自动选f格式或e格式输出,选择其中长度较短的格式,不输出无意义的0。

3.scanf函数输入数据

1.scanf函数的一般形式。

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

而其格式声明与输出的相似。

注意:scanf函数中的格式控制后面应当跟变量地址,而不是变量名。

4.字符输入输出输出函数

用putchar输出一个字符,用getchar输入一个字符。

相关推荐
看到我,请让我去学习1 分钟前
OpenCV编程- (图像基础处理:噪声、滤波、直方图与边缘检测)
c语言·c++·人工智能·opencv·计算机视觉
GuokLiu7 分钟前
250708-通过两块硬盘拷贝DeepSeek两个满血版模型的bash脚本
开发语言·chrome·bash
倔强的小石头_2 小时前
【C语言指南】函数指针深度解析
java·c语言·算法
iCxhust7 小时前
c# U盘映像生成工具
开发语言·单片机·c#
yangzhi_emo7 小时前
ES6笔记2
开发语言·前端·javascript
emplace_back8 小时前
C# 集合表达式和展开运算符 (..) 详解
开发语言·windows·c#
jz_ddk8 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
萧曵 丶8 小时前
Rust 所有权系统:深入浅出指南
开发语言·后端·rust
xiaolang_8616_wjl8 小时前
c++文字游戏_闯关打怪2.0(开源)
开发语言·c++·开源