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输入一个字符。

相关推荐
Bony-1 小时前
Go语言完全学习指南 - 从基础到精通------语言基础篇
服务器·开发语言·golang
fl1768312 小时前
基于python的天气预报系统设计和可视化数据分析源码+报告
开发语言·python·数据分析
ACP广源盛139246256732 小时前
(ACP广源盛)GSV6172---MIPI/LVDS 信号转换为 Type-C/DisplayPort 1.4/HDMI 2.0 并集成嵌入式 MCU
c语言·开发语言·单片机·嵌入式硬件·音视频
不穿格子的程序员2 小时前
从零开始刷算法-栈-括号匹配
java·开发语言·
雪域迷影3 小时前
C#中通过get请求获取api.open-meteo.com网站的天气数据
开发语言·http·c#·get
yue0083 小时前
C#类继承
java·开发语言·c#
Want5953 小时前
Python汤姆猫
开发语言·python
Larry_Yanan3 小时前
QML学习笔记(五十)QML与C++交互:QML中单例C++对象
开发语言·c++·笔记·qt·学习·ui·交互
im_AMBER3 小时前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法
凯芸呢3 小时前
Java中的数组(续)
java·开发语言·数据结构·算法·青少年编程·排序算法·idea