内容正文:
2.5 数据的输入
一、教学目标
1.了解C语言的输入语句。
2.掌握C语言输入语句的使用。
3. 培养学生严谨的学习态度。
二、重点难点
1.重点:C语言中输入数据的方法。
2.难点:各种格式的使用。
三、教学时间
本任务教学,课内计划1课时。
4、 教学过程
教学过程
教学环节
教师活动
学生活动
设计意图
导入新课
信息处理的最终结果是数据输出,不同的应用场合、不同的人群对数据输出的要求也不一样。
思考
开门见山,直接点名主题,
讲授新课
一、数据的输入
数据的输入一般是以键盘为处理对象的,从键盘接受字符和数值。
字符输入函数getchar()和输出函数putchar()是以一个字符为单位来完成输入/输出过程的。在程序中使用这两个函数时,要求在程序开头包含文件stdio.h:
# include <stdio.h>
二、字符输入函数getchar()
getchar()
函数getchar()的功能是接受从键盘上输入的字符。在程序中使用这个函数输入字符时,可以用一个变量来接受读取的字符,例如:
c=getchar();
执行上面的语句时,程序等待用户输入,当用户按下某个键时,变量c就得到了该键的代码值。
说明:(1)只能输入一个字符
(2)可以将获得的字符赋给int 型或char型的变量
[例]
#include <stdio.h>
main()
{
char c;
c=getchar( );
putchar(c);
} 运行时键入字符a,必须要回车则输出为:a
注意:输入字符时不要带撇号
在进行数据输入时有一个特殊的字符,就是从键盘输入^z(^z表示将Ctrl键与Z键同时按下),^z称为文件尾标,表示输入过程结束,这个特殊字符的值为-1。
例2-10 字符输入函数getchar()的功能。
#include <stdio.h>
main( )
{ char ch;
ch=getchar();
printf( ”ch=%c,ch=%d
“ ,ch,ch );
}
执行此程序,当执行到语句:
执行此程序,当执行到语句:
ch=getchar();
时,计算机就会等待用户按键(等待输入)。此时,若用户按了A键,就会在屏幕上显示如图所示内容(图中的65时大写字母A的ASCII码值)。
例:输入三角形的三边长,求三角形面积.为简单起见,设输入的三边长a,b,c能构成三角形.
#include "math.h "
main()
{float a,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f
",a,b,c,s);
printf("area=%7.2f
",area);}
输入:3,4,6 输出如下:
a= 3.00, b=4.00, c=6.00, s= 6.50, area=5.33
注意:此例调用了函数库中的函数sqrt,必须在程序开头加上include命令,把头文件“math.h”包含到程序中。
3、 格式化输入函数scanf()
getchar()函数只能输入一个字符,要想输入其他类型的数据,就需要使用格式化输入函数scanf(),该函数按指定的格式完成输入。scanf()函数的功能是按指定的格式从键盘接受输入信息。
格式化输入函数scanf()的一般使用形式如下:
scanf(“格式串“,地址表);
例如:
int a,b,c;
scanf(“%d%d%d”,&a,&b,&c);
与printf()函数一样,“格式串”中既可以含格式符,也可以含非格式符。scanf()中格式符的意义同prinf(),如表所示:
输入时,只要遇到非格式符,就要按原样输入;只要遇到格式符,就要按指定格式输入数据,输入的数据存入对应地址的存储空间中。
说明:
* scanf 函数中的“格式控制”后面应当是变量地址而不是变量名。
* 输入数据时,在两个数据之间以一个或多个空格间隔,也可以用回车键、跳格键tab分隔。
* 输入时可以指定域宽,不允许规定精度
int a,b ;scanf(“%3d%3d”,&a,&b);
输入123456
系统自动将123赋给a,456赋给b
float x; scanf(“%8.2f ”,&x);
* 输入时,遇下列情况结