不同类型数据的输入输出

合集下载

C语言数据的输入与输出

C语言数据的输入与输出

C语言数据的输入与输出C语言数据的输入与输出一.Printf函数函数原型在头文件stido.h中(使用时可以不包括)printf函数的返回值等于成功输入得数据的个数1.printf函数得一般调用形式printf(格式控制字符串,输出项列表)格式控制字符串包括:(1)格式指示符格式:%[标志][宽度][.精度][[h|l]<类型>](2)转义字符如:'\n','\0'(3)普通字符如:printf("max=%d,min=%d\n",a,b);“max=”和“,min=”是普通字符;“%d”是格式指示符;“\n”是转义字符;a和b是输出类表中的输出项(可以是常量、变量、或表达式)。

2.print函数中常用得格式控制说明(1)数据类型控制字符格式字符说明%c输出一个字符%d或%i以十进制形式输出一个带符号得整数(正数不输出符号)%u以十进制形式输出无符号整数。

若有符号则自动将符号位转化为数值位,%o 和%x也具有类似得功能%o以八进制形式输出无符号整型数(不带前导0)%x或%X以十六进制形式输出无符号整型数(不带前导0x或0X)。

对于十六进制数中的字符abcdef,用%x时输出得是小写字母,%X时输出的是大写字母%f以小数形式输出单精度或双精度实数%e或%E以指数形式输出单精度或双精度实数%g或%G有系统决定是采用%f还是%e格式,以使输出结果的总宽度最小,并且不输出没意义的0%s依次输出字符串中得各个字符,知道遇到'\0'是结束(2)数据类型修饰符数据类型修饰符在%和数据类型控制符之间如:长整型"%ld",短整型"%hd"(3)输出数据所占得宽度与精度1)在%与格式字符之间插入一个整数来指示输出宽度。

若指定得输出宽度不够,系统自动以数据实际值得宽度作为输出宽度;如果指定的输出宽度多于数据实际所需宽度,数据右对齐,左边补以空格。

C语言数据的输入输出ppt课件

C语言数据的输入输出ppt课件

A
输出宽度为5, 左补4个空格
printf("%-5c***\n",'A'); A *** 输出宽度为5, 右补4个空格
18
格式化输出函数printf()
(1) d格式符。用来输出十进制整数。
几种用法: ① %d:按十进制整型数据的实际长度输出。 ② %md:m为指定的输出字段的宽度。如果数据的位数小于m,
b=-2,177776,fffe,65534
23
格式化输出函数printf()
例:字符数据的输出 #include <stdio.h> main() { char c='a';
int i=97; clrscr(); printf("%c,%d\n",c,c); printf("%c,%d\n",i,i); getch(); }
putchar(a);putchar('\n');putchar(b);putchar('\n');putchar (c);
}
putchar ('\101'); A
7
字符输入输出函数
例 输入单个字符。 #include "stdio.h" main() { char c; c=getchar(); putchar(c); putchar('\n'); }
格式化输出函数printf()
(4) 在输出的数字前加"+"号
使用%+格式字符 (如%+d、%+f等), 可在输出的数字前 加"+"号, 例如
printf("%+d,%+10.2f",123,12345.678); 输出结果如下:

数据的输入、输出(上课用定稿)

数据的输入、输出(上课用定稿)
数据的输入与输出
目录
• 数据输入 • 数据输出 • 数据输入输出设备 • 数据输入输出注意事项 • 数据输入输出应用场景 • 数据输入输出技术的发展趋势
01
数据输入
手动输入
键盘输入
通过键盘将数据逐一输入到计算机中, 适用于少量数据的输入。
扫描输入
通过扫描仪将纸质文档转化为数字格 式,再输入到计算机中。
自动输入
传感器输入
利用各种传感器自动采集数据,如温度、湿度、压力等。
网络抓取
利用网络爬虫技术自动抓取网页数据。
数据导入
文件导入
将数据从外部文件导入到数据库或软件中,如CSV、Excel等格式。
API导入
通过应用程序接口(API)将数据从其他系统导入到当前系统中。
02
数据输出
屏幕显示
文本输出
将数据以文本形式输出到屏幕上,便于用户查看和交 互。
无线数据传输技术的应用范围广泛, 包括物联网、智能家居、智能交通 等领域,为各个行业带来了巨大的 便利和效益。
云计算技术
1
云计算是一种基于互联网的计算方式,它通过虚 拟化技术将硬件和软件资源集中起来,以服务的 形式提供给用户。
2
云计算技术使得数据的存储和处理更加集中和高 效,降低了数据管理的成本和难度。
大数据处理技术的应用范围广泛,包括商业分析、科学研究、智能制造等领域,为各个领域的发展提供 了强大的支持。
感谢您的观看
THANKS
VS
鼠标
鼠标是用于选择、定位和操作计算机界面 的输入设备。通过鼠标的点击、拖动等操 作,用户可以方便地与计算机进行交互。
扫描仪、打印机
扫描仪
打印机
扫描仪是将纸质文档转化为数字格式的设备。 通过扫描仪,用户可以将纸质文件、图片等 转换成数字格式,便于保存、传输和编辑。

CC++数据类型,及各种形式的输入输出

CC++数据类型,及各种形式的输入输出

CC++数据类型,及各种形式的输⼊输出数据类型:char:char为⼀个字节,所以char的unsigned的范围是0到255,signed类型的话就是-128到127127(-28->27-1);输⼊输出:%cint:在32位系统中(现在普遍是int32位),signed的范围是(-216到215-1),即是-2147483648~+2147483647,unsigned类型的int 范围:0~4294967295 即( 0到232-1);输⼊输出:%dshort int:short int 只有int的⼀半,也就是216,范围为(0到65536-1)long输⼊输出:%dlong:long和long int 都是4字节,要注意:long int的⼤⼩和系统是32位还是64位的有关系,事实上,long整型与int能储存的长度差不多输⼊输出:%ldlong long int:long long int有8字节,表⽰范围为-263到2的63-1,也就是10的18次⽅左右输⼊输出:%lldfloat:float占⽤的内存为4个字节,和int占⽤的空间是⼀样的,只是保存的⽅式不同, float采⽤的是指数的⽅式保存数字,精确度会有问题,储存长度⼤概与int相差⽆⼏。

(稍微⽐int⼤)输⼊输出:%fdouble:double占⽤的8个字节的内存,所以表⽰范围会⽐float更⼤, double保存数值的⽅式也是为指数保存,所以也有精确度的问题,表⽰的长度⼤概是10的32次⽅。

输⼊输出:%lf另外,补充以下:%e 表⽰按指数形式的浮点数的格式输出%g 表⽰⾃动选择合适的表⽰法输出%u 表⽰输出⽆符号的unsigned(⽐如unsigned long long int 的输⼊输出形式就是%llu);printf("%%");这样才能输出符号%cin.get(); 只会读取键盘上的Enter键,其他键都不管⽤,因此该语句可以让程序等待,但是读⼊的Enter键不被处理C语⾔中有专门的暂停语句system("pause");语句在<stdlib.h>头⽂件⾥⾯,还有exit(0);可以使程序退出。

基本数据类型及数据的输入输出

基本数据类型及数据的输入输出

数据输入
在编程中,我们经常需要从用户那里获取数据。可以使用scanf函数从用户那里接收输入,并将其存储 在变量中。
数据输出
在C语言中,我们可以使用printf函数将数据输出到屏幕上。通过格式化字符 串,我们可以控制输出的样式和格式。
基本数据类型及数据的输 入输出
在编程中,了解基本数据类型是非常重要的。本节将介绍整型、浮点型、字 符型和布尔型数据,以及如何进行数据的输入和输出。
基本数据类型概述
在编程中,基本数据类型用于存储不同种类的数据。在C语言中,常见的基本数据类
整型数据类型用于存储整数值。在C语言中,常见的整型数据类型有int、 short和long。
浮点数据类型
浮点数据类型用于存储带有小数部分的数值。在C语言中,常见的浮点数据类型有float和double。
字符数据类型
字符数据类型用于存储单个字符。在C语言中,字符数据类型用char表示。
布尔数据类型
布尔数据类型用于存储真或假的值。在C语言中,布尔数据类型用int表示,其 中0表示假,非零的整数表示真。

c语言各类型 输入输出

c语言各类型 输入输出

C语言是一种广泛使用的编程语言,它具有强大的输入输出功能。

在C语言中,我们可以使用不同的数据类型来处理各种输入和输出操作。

本文将详细介绍C语言中各种类型的输入输出方法,并提供一些具体的示例。

首先,我们来谈谈C语言中的基本输入输出函数。

标准库函数printf用于输出数据到屏幕上。

它可以打印各种数据类型的值,如整数、浮点数、字符等。

下面是一个示例:#include<stdio.h>int main() {int num = 10;printf("The value of num is %d\n", num);return0;}上述代码中,我们使用printf函数将变量num的值输出到屏幕上。

%d是一个格式说明符,用于指定输出的数据类型为整数。

通过这种方式,我们可以将任何类型的数据输出到屏幕上。

除了printf函数,C语言还提供了scanf函数用于从键盘上接收输入。

scanf函数可以读取各种数据类型的值,如整数、浮点数、字符等。

下面是一个示例:#include<stdio.h>int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("You entered: %d\n", num);return0;}在上述代码中,我们使用scanf函数从键盘上接收一个整数,并将其存储在变量num中。

%d是一个格式说明符,用于指定输入的数据类型为整数。

需要注意的是,在scanf函数中,我们需要使用&操作符来获取变量的地址。

除了基本的输入输出函数,C语言还提供了一些其他的输入输出函数,用于处理特定类型的数据。

例如,getchar函数用于接收单个字符的输入,puts函数用于输出字符串。

下面是一个示例:#include<stdio.h>int main() {char ch;printf("Enter a character: ");ch = getchar();printf("You entered: ");putchar(ch);printf("\n");return0;}在上述代码中,我们使用getchar函数接收一个字符的输入,并将其存储在变量ch中。

数据的输入输出以及算法

1. (float)(4+7)/2+(int)5.5%7? 2. 设int x=5.5;则4+2,7+1,x+=5? 3. 设int x=1,y=2;则y=x>y&&(x=5)?,x=?
4. 设int x=2;则执行x+=x-=x/=x后x=?
第三章 数据的输入/输出
3.1 流
P55
输入设备 输入流
short a; long b; double c; long double d;
scanf("%hd%ld%lf%Lf",&a,&b,&c,&d);
作业
73 页 3 、 4 、 5 题
printf("%3.2f\n",2.156); printf("%3.2s","abcdef");
2.16 □ ab
□1.230 1.230
格式输出函数printf
short a=1; long b=1; long double c=1;
printf("%hd,%ld,%Lf",a,b,c);
1,1,1.000000
char ch1,ch2,ch3,ch4; ch1=getchar(); ch2=getchar(); ch3=getchar(); ch4=getchar(); }
a□b↙
字符的输出函数putchar
P72
• putchar(表达式) 字符或整型常量、变量、表达式
该函数一次只能输出一个字符
字符的输出putchar
P56
格式输出函数printf
2. c带h格ar式c控h1制=符's'的; 字符串常量的输出 ①pri字nt符f(型"c变h量1=的%输出c,ch%2=c %s",ch1,"abc");

计算机的数据输入和输出方式

计算机的数据输入和输出方式作为现代社会中不可或缺的工具,计算机的数据输入和输出方式是实现人机交互的重要环节。

随着科技的发展和计算机技术的进步,人们对数据输入和输出方式的需求也越来越高。

本文将详细介绍计算机数据输入和输出方式的几种常见形式及其应用。

数据输入方式:1. 键盘输入:键盘作为最常见的数据输入设备,通过按键方式将用户输入的数据传输给计算机。

在各种应用场景中,键盘都扮演着重要的角色,如文字处理、编程、游戏等。

用户可以通过按键输入字母、数字、符号等各种信息,并通过键盘上的功能键实现各种操作。

2. 鼠标输入:鼠标是一种用于控制计算机操作的指针设备,通过移动鼠标的位置和按下鼠标按键来输入数据。

鼠标广泛应用于图形界面操作系统和各种图形软件中,如绘图、设计、游戏等。

通过鼠标的移动和点击可以实现光标位置的改变、内容的选择、菜单的打开等功能。

3. 触摸屏输入:触摸屏是一种通过触摸屏幕表面来实现数据输入的设备。

触摸屏广泛应用于智能手机、平板电脑、电子书阅读器等消费电子产品中。

用户可以通过手指在屏幕上的滑动、点击等方式与设备进行交互,实现文字输入、图标点击、手势操作等。

4. 语音输入:随着语音识别技术的不断发展,语音输入逐渐成为一种重要的数据输入方式。

用户可以通过说话的方式将语音转换为文字,并传输给计算机。

语音输入广泛应用于智能助手、语音识别软件、语音控制系统等领域。

数据输出方式:1. 显示器输出:显示器是将计算机内部数据转换为可见的图像或文字输出的设备。

现代计算机显示器多采用液晶技术,在分辨率、色彩表现、对比度等方面取得了很大的突破。

通过显示器,用户可以观看网页、电影、玩游戏等各种图像和视频内容,也可以进行文字编辑、编程等任务。

2. 打印机输出:打印机可以将计算机中的数据输出为纸质文档。

打印机按照不同的打印技术可以分为喷墨打印机、激光打印机、针式打印机等。

打印机广泛应用于办公、教育、出版等领域,为用户提供纸质的文档输出。

C语言02 数据类型及输入输出


– 注意在不同系统中长度可能不同,可用sizeof查看(举例),int 类型在VC中是4B, 而在TurboC中为2B
• • • • •
声明一个变量,类型名 后跟变量名
– 如 char a;
声明多个变量时,变量之间用逗号隔开
– 如:int a,b,c;
用signed修饰符说明有符号数,signed可以省略
适用
输出 输入和输出 输入和输出 输入和输出 输出 输出 输入 输入和输出 输入和输出 输入和输出
ቤተ መጻሕፍቲ ባይዱ
误差来源: 尾数是有限的,有些十进制数变成二进制存储时,长度 超过容纳范围丢失产生误差 在运算中,对阶移位而使部分尾数移出容纳范围而产生 误差
整型常量的表示
• • • • 十进制表示和数学中相同,如35,-36 八进制数用零做前缀,如023,-012, -079(错) 十六进制数用零加x做前缀表示,如0x2a,-0x1f 用L做后缀表示长整数常量,U后缀表示无符号数常量,如 123456789ul • 示例: – #include "stdio.h" – void main(){ – int a,b,c; – a=23;b=023;c=0x23; – printf("%d,%d,%d\n",a,b,c); – }
• 字符串常量用双引号做定界符表示, 如:”a”, ”sdhjfdshjfhjsd”,“”(空串),“ ”(由一个空 格组成的字符串)
实数输出举例
• • • • • • • #include "stdio.h" void main(){ float a=34.5678; printf("%f,%d\n",a,a); } 输出结果:34.567799,-1610612736 说明前面存储时产生误差,后者格式错误输出 完全错误

数据输入与输出


湿度传感器
通过湿度传感器检测湿度,将湿 度数据转换为数字信号,进行数 据输入。
02
数据输出
屏幕显示
文本输出
将数据以文字形式显示在屏幕上,便于用户 查看。
图形输出
通过绘制图表、图像等形式展示数据,更直 观地呈现数据关系和变化趋势。
动态输出
以动画或视频形式展示数据,增强视觉效果 和用户体验。
打印
纸质输出
扫描仪
扫描仪是一种将纸质文档、照片等图像信息转换为数字 格式的设备。
扫描仪的主要参数包括分辨率、色彩深度和扫描速度等, 不同参数对于扫描效果有很大影响。
扫描仪按工作原理可分为平板式、滚筒式和胶片式等, 其中平板式扫描仪是目前的主流产品。
扫描仪可以用于文档管理、图像处理和数字化存档等领 域,提高工作效率和保存珍贵资料。
通过手写板或触摸屏将手写文字 转换为数字或文本格式,进行数 据输入。
扫描输入
条形码扫描
通过扫描条形码,将条码中的数字或字母信息快速准 确地输入到计算机中。
图像扫描
通过扫描纸质文档或图片,将其转换为数字格式,进 行数据输入。
RFID扫描
通过RFID技术,自动识别和输入RFID标签中的数据。
接口输入
键盘是计算机最常用的输入设备之一, 通过按键输入字符、数字、符号等数 据。
键盘按键可分为普通键、功能键、导 航键和数字键等,不同键位具有不同 的功能和用途。
键盘的布局通常采用QWERTY排列, 但也有其他布局如Dvorak等。
键盘按键的触发机制有机械式和电容 式两种,机械式按键具有更好的手感, 但寿命较短;电容式按键寿命较长, 但手感较差。
CSV(逗号分隔值)是一种常见的表格数据格式,它以纯文本形式存储表格数据,数据由逗号分隔的字段组成, 不同记录之间以换行符分隔。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

不同类型数据的输入输出老师:teacher 来源:C 点击:4272.5 不同类型数据的输入输出2.5.1 printf() 函数格式输出函数printf()在第一章已简要介绍过,本节对它进行综合性介绍。

printf()函数可以用于所有类型数据的输出,采用不同的格式转换说明符将不同类型的数据输出到标准输出设备上。

可以使用的格式转换说明符示于表2.4。

表2.4 printf()格式转换说明符格式转换说明符可以加下列修饰符:1. 指定字段宽度在百分号和格式字母之间加一个整数可以规定输出的最小字段宽度。

(1)%m.ndm规定输出的字段总宽度,n规定输出的最小有效位数。

如果被输出量的实际位数小于m,则左端补空格;如果被输出量的实际位数大于m,则按实际位数输出。

如果被输出量的实际有效位数大于n,则n不起作用;如果实际有效位数小于n,则左边补0直至n位。

例如printf(%3d,%6d,%6.5d\n”,1250,1250,1250);输出结果为1250, 1250, 01250(2)%m.nfm规定输出的字段总宽度,n规定输出的小数位数。

如果实际数据的整数位数小于m-n-1,则左端填充空格。

如果实际数据的整数位数大于m-n-1,则m不起控制作用,按实际数据应有的位数输出。

例如printf(%10f,%10.2f,%.2f\n,123.456,123.456,123.456);输出为123.456000, 123.456,123.456如果不规定m和n,则m取被输出量的实际位数,n取6。

(3)%m.nem规定输出的字段总宽度,n-1规定尾数部分的小数位数。

例如printf(%10e,%10.4e,%.3e\n,123.456,123.456,123.456);输出为1.23456e+02, 1.235e-02,1.23e+02其中,“%10e未指定n,系统自动按n=5处理,即5位小数;因为输出的实际位数已超过10列,故输出11列;“%10.4e指定m=10、n=4,即输出总宽度为10,小数3位,实际总位数为9位,所以左边留有一个空格;“%.3e未指定m,则系统自动取m等于实际数据应占的长度,本例中为8位。

在上述3种情况下,如果在百分号与m.n之间加一个0,则左边多余的空位用0而不是用空格填充。

例如printf(%04d,%06d,%03d\n”,1250,1250,1250);输出结果为1250,001250,1250(4)%m.nsm规定输出的字段总宽度,n规定只输出字符串中n个字符。

若字符串长度小于m,则左边补充空格;若字符串长度大于m,则m不起作用;若字符串长度小于n,则n不起作用;若字符串长度大于n,则只输出左边n个字符,多余的字符被截断。

例如printf(%3s,%15s,%10.5s,%.8s\n,abc,defghij,klmnopqrst,uvwxyz);输出结果为abc, defjhij, klmno,uvwxyz2. 左对齐在缺省情况下,所有的输出右对齐,如果指定的字段宽度大于实际位数,左边填充空格或零。

在百分号后边加一个减号,如%-m.nd、%-m.nf、%-m.ns等,可使输出左对齐,右边填充空格。

例如printf(%-10.2f,%-5.2f\n,123.456,1.23456e2);输出为123.46 ,123.46printf(%-10s,%-5s,%-10.5s,%-.8s\n,abc,defghij,klmnopqrst,uvwxyz);输出结果为abc ,defghij,klmno ,uvwxyz3. 类型修饰(1) 在类型说明符d、i、o、u、x前面可以加字母l或h,分别表示long或short。

例如%ld表示输出long int型,%hu表示输出short unsigned int型等。

请看下例:printf(%d,%8ld,%ld\n,7000,70000l,70000l);输出结果为7000, 70000,70000前面已经说过,C语言能自动进行十进制、八进制和十六进制整数之间的转换。

仅就printf函数而言,任何一个整数,不管它是十进制、八进制还是十六进制,都可以用十进制、八进制或十六进制方式输出。

在printf函数中,控制符“%o用来输出无符号形式的八进制数,“%lo用来输出无符号形式的八进制长整数;“%x或“%X用来输出无符号形式的十六进制数,“%lx或“%L X用来输出无符号形式的十六进制长整数。

以上控制符都不能输出负数,而是根据整数的存储形式,将其视为无符号数输出。

例如printf(%x,%o,%d\n,-1,-1,-1);输出结果为ffff,177777,-1因为十进制整数-1的存储格式为(补码形式):将它视为无符号十六进制,其值为FFFF;将它视为无符号八进制数,其值为177777。

又如:printf(%o,%o,%lo\n,-01234,01234u,0123ul);输出为176544,1234,1234printf(%x,%x,%lx\n,-0x6A3B,0x6A2Bu,0x6A2Bul);输出为95c5,6a3b,6a3bprintf(%o,%x,%d,0177,01777,0177);输出为177,7f,127printf(%o,%8x,%d,0xABC,0xABC,0xABC);输出为5274, abc,2748(2)在类型说明符f、e、g前面可以加字母l,表示输出double型或long double型,因为用%f、%e、%g格式输出double或long double型数时,会输出错误结果。

4. 对%u格式的说明%u格式用无符号十进制整数的方式输出。

如果输出的是有符号数,则把符号位视为数的一部分。

例如printf(%u,%u,%u\n,65533u,65534u,65535u);输出结果为65533,65534,65535而printf(%u\n,-32768);则输出32768这是因为-32768是一个有符号整数,其补码形式为按无符号数处理,即为32768;而-2也是一个有符号整数,其补码形式为按无符号数处理,即为65534。

反之,如果将一个无符号数,按%d格式输出,则会将其最高位视为符号,其余部分按补码处理。

printf(%d\n,65535u);输出结果为-1因为无符号数65535的存储形式为按补码处理,其值为-1。

对无符号长整数,则可用lu格式输出,如printf(%lu\n,700000ul);输出结果为7000005. %n的功能是将本printf()函数中位于%n之前输出的字符个数存放在它所对应的整型变量的地址中。

例如main(){ int i;printf(Where are%n you?,&i);printf(%d\n,i);}程序运行结果为Where are you?9在第一个printf函数中,在%n之前输出的是字符串“Where are,显然它含9个字符。

前面曾说到零字符常量('\0')和空字符串常量()及零字符串常量(\0)之间的区别,可以用下面的例题例2.5main(){ printf(%c,%c,%s,%s,%s,%s\n,’A’,’\0’,A,,\0,A);}程序输出结果为:A, ,A,, ,A可以看出,当输出字符常数'\0'时,不显示任何字符,但空出一个字符的位置;当输出空字符串时,既不显示字符也不空出位置;输出字符串\0时,不显示字符,但空出一个字符的位置。

6. 当printf()函数中出现多个表达式输出项(见第3章例题)时,Turbo C规定,printf按照从右到左的顺序计算各表达式的值,然后再显示结果。

2.5.2 scanf()函数格式输入函数scanff()也在第1章简要介绍过,本节对它进行综合性介绍。

scanf()函数可以用于所有类型数据的输入,采用不同的格式转换说明符将不同类型的数据从标准输入设备读入内存。

可以使用的格式转换说明符示于表2.5。

表2.5 scanf()格式转换说明符除了第1章已对scanf()函数做过的说明外,这里再说明几点。

1. 输入数据之间的分隔符当一个scanf()函数中包含若干个输入项或几个scanf()函数连续出现时,可以同时输入几个数据,各数据之间只能用空格、制表符或回车键分隔,其他符号都不能作为分隔符。

例如scanf(%d%d,&a,&b);其中a和b都是int型变量,则键盘输入10 20↓时能正确接收,而输入10,20↓则不能被正确接收。

2. 输入的数据类型当用%d控制int型变量时,键盘输入的数据必须是整数;当用%f或%e控制float型或double型变量时,键盘输入的数据可以是整数(不带小数点)、定点表示(带小数点)或指数形式(如2e-3、3.6e4等) 表示的实数,函数会自动进行转换。

用%c控制char型变量时,输入的字符不必加单引号,如果连续几个char型数据同时输入时,不要使用分隔符。

用%s控制字符串时(将在第五章介绍),输入的字符串不必加双引号,但遇到空格、制表符或换行符时将终止接收。

3. 抑制赋值在百分号之后、转换控制字符之前加进一个星号时,scanf()函数将正常读入对应的数据,但不赋值。

例如,%*c将抑制一个输入的字符;%*d将抑制一个输入的整数等。

例如scanf(%d%*c%d,&a,&b);若从键盘输入10/20↓则函数把10赋给a,20赋给b,而“/被忽略。

即%*c的作用是跳过一个输入字符。

又如scanf(%d%*d%d,&x,&y);当输入10 20 30↓时,变量x得到10,y得到30,而20被忽略。

即%*d的作用是跳过一个整数。

4. 限制接收字符个数在百分号和控制字符之间插进一个整数可以限制从输入数据中接收的字符个数。

如果希望整型数不超过4位,可用scanf(%4d%4d,&h,&k);若输入123 32658↓时,函数将123赋给变量h(输入的数据不足4位,以输入的位数为准),将3265赋给变量k(输入的数据超过4位,只取前4位)。

再如,这种限制常用在字符串的输入中,可以防止因遇到空格等字符使输入提前终止。

scanf(%10s,str);假设str是一个字符型数组,长度为20个字符。

若输入good morning↓时,接收的字符串为“good morni,多余的字符被截断。

如果不用%10s来限制,同样的输入,str只能接收到“good,空格后面的字符被截断。

采用限制接收字符个数的方法还可以将一串字符赋给多个变量,例如scanf(%5f%f,&r,&g);当输入1.23456789↓时,函数将1.234赋给变量r(包括小数点在内共5位),将56789.0赋给变量g(余下的数据仍有效)。

相关文档
最新文档