温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

格式输入函数

发布时间:2020-08-03 18:11:05 来源:网络 阅读:945 作者:大咖M 栏目:编程语言

格式输入函数,就像写汉字一样,写出什么样的字体,就会看到什么样的字体。
在C语言中,格式输入使用scanf()函数。该函数的功能是指定固定的格式,并且按照指定的格式接收用户在键盘上输入的数据,最后将数据存储在指定的变量中。
scanf()函数的一般格式如下:

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

通过scanf()函数的一般格式可以看出,参数位置中的格式控制与printf()函数相同。如“%d”表示十进制的整型,“%c”表示单字符。而在地址列表中,此处应该给出用来接收数据变量的地址。如得到一个整型数据的操作语句如下:

scanf("%d",&iInt); /*得到一个整型数据*/ 

在这一行代码中,“&”符号表示取iInt变量的地址,因此不用关心变量的地址具体是多少,只要在代码中变量的标识符前加“&”,就表示取变量的地址。
注意:编写程序时,在scanf()函数参数的地址列表处,一定要使用变量的地址,而不是变量的标识符,否则编译器会提示出现错误。
如表5.3所示列出了scanf()函数中常用的格式字符。
表5.3 scanf()函数的格式字符

格式输入函数
说明:格式字符“%s”用来输入字符串。将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结束。字符串以串结束标志“\0”作为最后一个字符。

实例07 计算圆的周长和球的体积

在本实例中,输入圆的半径,计算圆的周长和球的体积。利用scanf()函数得到用户输入的圆的半径,因为scanf()函数只能用于输入操作,所以需要使用显示函数将计算的信息显示在屏幕上。具体代码如下:

01 #include<stdio.h> 02 03 int main() 04 { 05 float Pie=3.14f; /*定义圆周率*/ 06 float fArea; /*定义变量*/ 07 float fRadius; 08 puts("Enter the radius:"); 09 scanf("%f",&fRadius); /*输入圆的半径*/ 10 fArea=2*fRadius*Pie; /*计算圆的周长*/ 11 printf("The perimeter is: %.2f\n",fArea); /*输出计算的结果*/ 12 fArea=4/3*(fRadius*fRadius*fRadius*Pie); /*计算球的体积*/ 13 printf("The volume is: %.2f\n",fArea); /*输出计算的结果*/ 14 return 0; /*程序结束*/ 15 }

运行程序,显示结果如图5.10所示。
格式输入函数
图5.10 面积和体积结果

从该实例代码和运行结果可以看出:
(1)为了能接收用户输入的数据,在程序代码中定义了一个变量fRadius。因为scanf()函数只能接收用户的数据,而不能显示信息,所以先使用puts函数输出一段字符表示信息提示。
(2)调用scanf()格式输入函数,在函数参数中可以看到,在格式控制的位置使用双引号将格式字符包括,“%f”表示输入的是float浮点类型数据。在参数中的地址列表位置,使用“&”符号表示变量的地址。此时变量fRadius已经得到了用户输入的数据。
(3)利用表达式计算圆的周长和球的体积,调用printf()函数将变量进行输出。
注意:printf()函数使用的是变量的标识符,而不是变量的地址。scanf()函数使用的是变量的地址,而不是标识符。
说明:在输入多个数据时,scanf()函数使用空白字符分隔输入的数据,这些空白字符包括空格、换行、制表符(tab)。例如在本程序中,使用换行作为空白字符。

练一练:
输入身高和体重,计算身体质量指数(BMI),计算公式 BMI = 体重/身高2。
实例07只输入一个数据,scanf()函数也可以输入多个数据,初学者在设计格式输入时,最好把每个格式控制符分隔开,例如下面的实例08。

实例08 输入x和y两个数值,并输出交换后的值

在本实例中,利用scanf()函数输入x和y两个数值。交换后调用printf()函数输出。具体代码如下:

01 #include <stdio.h> /*包含头文件*/ 02 int main() /*主函数main*/ 03 { 04 int x,y; /*定义变量*/ 05 printf("please enter two numbers:\n"); /*提示信息*/ 06 scanf("x=%d,y=%d",&x,&y); /*输入x,y数据*/ 07 x=y-x; /*交换x,y的值*/ 08 y=y-x; 09 x=y+x; 10 printf("x=%d,y=%d\n",x,y); /*输出交换后的数据*/ 11 return 0; /*程序结束*/ 12 }

运行程序,显示结果如图5.11所示。
格式输入函数
图5.11 交换数值
从该实例代码和运行结果可以看出:
(1)使用printf()函数显示一串字符,提示输入的数据两个数据,调用scanf()函数使变量x和y得到用户输入的数据。
(2)第7~第9行代码实现x和y两个数的交换。最后利用printf()函数将输入得到的数据进行输出。
练一练:
输入大写字母,同时输出对应的小写字母。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI