scanf函数介绍(课件)_第1页
scanf函数介绍(课件)_第2页
scanf函数介绍(课件)_第3页
scanf函数介绍(课件)_第4页
scanf函数介绍(课件)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《嵌入式C程序设计》主讲:潘锋scanf函数介绍scanf函数scanf函数格式输入函数scanf。该函数的功能是指定固定的格式,并且按照指定的格式接收用户在键盘上输入的数据,最后将数据存储在指定的变量中。scanf(格式控制,地址列表);格式控制的作用与printf函数相同,但不能显示非格式字符串地址是由地址运算符“&”后跟变量名组成的scanf(“%d”,&iInt); /*得到一个整型数据*/注意:编写程序时,在scanf函数参数的地址列表处,一定要使用变量的地址,而不是变量的标识符,否则编译器会提示出现错误。scanf函数格式字符串的一般形式为:

%[*][输入数据宽度][长度]类型格式字符说明d,i用来输入有符号的十进制整数u用来输入无符号的十进制整数o用来输入无符号的八进制整数x,X用来输入无符号的十六进制整数(大小写作用是相同的)c用来输入单个字符s用来输入字符串,将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结束。字符串以串结束标志'\0'作为其最后一个字符f用来输入实数,可以用小数形式或指数形式输入e,E,g,G与f作用相同,e与f、g可以互相替换(大小写作用相同)scanf函数例1利用scanf函数得到用户输入的两个整型数据。(1)为了能接收用户输入的整型数据,定义了两个整型变量iInt1和iInt2。(2)因为scanf函数只能接收用户的数据,而不能显示信息,所以先使用puts函数输出一段字符表示信息提示。puts函数在输出字符串之后会自动进行换行,这样就可以省去使用换行符。(3)调用scanf格式输入函数,在函数参数中可以看到,在格式控制的位置使用双引号将格式字符包括,“%d”表示输入的是十进制的整数。在参数中的地址列表位置,使用“&”符号表示变量的地址。(4)此时变量iInt1和iInt2已经得到了用户输入的数据,调用printf函数将变量进行输出。这里要注意区分的是,printf函数使用的是变量的标识符,而不是变量的地址。scanf函数使用的是变量的地址,而不是标识符。scanf函数scanf函数中有附加格式,用于更为具体的格式说明。字符功能说明l用于输入长整型数据以及双精度型数据h用于输入短整型数据域宽指定输入数据所占宽度,域宽应为正整数*表示指定的输入项在读入后不赋给相应的变量scanf函数例2使用scanf函数的附加格式进行格式输入。(1)为了scanf函数能接收数据,在程序代码中定义所使用的变量。为了演示不同格式说明的情况,定义的变量类型有长整型、短整型和字符数组。(2)使用printf函数显示一串字符,提示输入的数据为长整型,调用scanf函数使变量iLong得到用户输入的数据。在scanf函数的格式控制部分,使用附加格式字符l表示长整型。(3)再使用printf函数显示数据提示,提示输入的数据为短整型。调用scanf函数时,使用附加格式字符h表示短整型。scanf函数例2使用scanf函数的附加格式进行格式输入。(4)使用格式字符“*”的作用是表示指定的输入项在读入后不赋给相应的变量,在代码中分析这句话的含义就是,第一个“%d”是输入iNumber1变量,第二个“%d”是输入iNumber2变量,但是在第二个“%d”前有一个“*”附加格式说明字符,这样第二个输入的值被忽略,也就是说,iNumber2变量不保存输入相应的值。scanf函数例2使用scanf函数的附加格式进行格式输入。(5)“%s”是用来表示字符串的格式字符,将一个数n(整数)放入“%s”中间,这样就指定了数据的宽度。在程序中,scanf函数中指定的数据宽度为3,那么在输入一个字符串时,只是接收前3个字符。scanf函数例2使用scanf函数的附加格式进行格式输入。(6)利用printf函数将输入得到的数据进行输出。scanf函数例2使用scanf函数的附加格式进行格式输入。scanf函数在使用scanf函数时还须注意以下几点:1.scanf中要求给出变量地址,如给出变量名则会出错。

例: inta; scanf(“%d”,a); //错误的 scanf(“%d”,&a); //正确的scanf函数在使用scanf函数时还须注意以下几点:2.在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。

例: inta,b,c; //令a=5,b=6,c=7 scanf(“%d%d%d”,&a,&b,&c);输入:567或567或567scanf函数在使用scanf函数时还须注意以下几点:3.在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。

例: scanf("%c%c%c",&a,&b,&c);

输入1:opq

输入2:opqscanf函数在使用scanf函数时还须注意以下几点:4.如果在格式控制字符串中加入空格作为间隔,则输入时各数据之间可加空格。

例: scanf("%c%c%c",&a,&b,&c);

输入:mnk时,a=m,b=n,c=kscanf函数在使用scanf函数时还须注意以下几点:5.如果格式控制字符串中有非格式字符则输入时也要输入该非格式字符。

例: scanf("%d,%d,%d",&a,&b,&c);

输入:8,9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论